Exemple #1
0
 /// <summary>Node has begun to be dragged.</summary>
 /// <param name="sender">Event sender.</param>
 /// <param name="e">Event data.</param>
 private void OnDragBegin(object sender, DragBeginArgs e)
 {
     try
     {
         if (textRender.Editable) // If the node to be dragged is open for editing (renaming), close it now.
         {
             textRender.StopEditing(true);
         }
         DragStartArgs args = new DragStartArgs();
         args.NodePath = SelectedNode; // FullPath(e.Item as TreeNode);
         if (DragStarted != null)
         {
             DragStarted(this, args);
             if (args.DragObject != null)
             {
                 sourcePathOfItemBeingDragged = args.NodePath;
                 dragSourceHandle             = GCHandle.Alloc(args.DragObject);
             }
         }
     }
     catch (Exception err)
     {
         ShowError(err);
     }
 }
Exemple #2
0
        /// <summary>Node has begun to be dragged.</summary>
        /// <param name="sender">Event sender.</param>
        /// <param name="e">Event data.</param>
        private void OnDragBegin(object sender, DragBeginArgs e)
        {
            DragStartArgs args = new DragStartArgs();

            args.NodePath = SelectedValue;
            if (DragStarted != null)
            {
                DragStarted(this, args);
                if (args.DragObject != null)
                {
                    dragSourceHandle = GCHandle.Alloc(args.DragObject);
                }
            }
        }
Exemple #3
0
        /// <summary>Node has begun to be dragged.</summary>
        /// <param name="sender">Event sender.</param>
        /// <param name="e">Event data.</param>
        private void OnDragBegin(object sender, DragBeginArgs e)
        {
            DragStartArgs args = new DragStartArgs();

            args.NodePath = SelectedNode; // FullPath(e.Item as TreeNode);
            if (DragStarted != null)
            {
                DragStarted(this, args);
                if (args.DragObject != null)
                {
                    sourcePathOfItemBeingDragged = args.NodePath;
                    dragSourceHandle             = GCHandle.Alloc(args.DragObject);
                }
            }
        }
Exemple #4
0
        // Looks like drag and drop is broken on Mono on Mac. The data being dragged needs to be
        // serializable which is ok but it still doesn work. Gives the error:
        //     System.Runtime.Serialization.SerializationException: Unexpected binary element: 46
        //     at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObject (BinaryElement element, System.IO.BinaryReader reader, System.Int64& objectId, System.Object& value, System.Runtime.Serialization.SerializationInfo& info) [0x00000] in <filename unknown>:0

        /// <summary>Node has begun to be dragged.</summary>
        /// <param name="sender">Event sender.</param>
        /// <param name="e">Event data.</param>
        private void OnNodeDrag(object sender, ItemDragEventArgs e)
        {
            DragStartArgs args = new DragStartArgs();

            args.NodePath = FullPath(e.Item as TreeNode);
            if (DragStarted != null)
            {
                DragStarted(this, args);
                if (args.DragObject != null)
                {
                    sourcePathOfItemBeingDragged = args.NodePath;
                    DoDragDrop(args.DragObject, DragDropEffects.Copy | DragDropEffects.Move | DragDropEffects.Link);
                }
            }
        }
        public virtual void StartDraggingObjectFromOutside(DragManager manager, DragStartArgs args)
        {
            if (ActiveDragManager != null)
            {
                CancelDrag();
            }
            FieldInfo fi = typeof(DragController).GetField("activeDragManager", BindingFlags.NonPublic | BindingFlags.Instance);

            fi.SetValue(this, manager);
            if (ActiveDragManager != null)
            {
                ActiveDragManager.StartDragging(args);
                IsDraggingFromOutside = true;
            }
        }
Exemple #6
0
        /// <summary>A node has begun to be dragged.</summary>
        /// <param name="sender">Sending object</param>
        /// <param name="e">Drag arguments</param>
        private void OnDragStart(object sender, DragStartArgs e)
        {
            Model obj = Apsim.Get(this.ApsimXFile, e.NodePath) as Model;

            if (obj != null)
            {
                string st = FileFormat.WriteToString(obj);
                this.SetClipboardText(st);

                DragObject dragObject = new DragObject();
                dragObject.NodePath    = e.NodePath;
                dragObject.ModelType   = obj.GetType();
                dragObject.ModelString = st;
                e.DragObject           = dragObject;
            }
        }
Exemple #7
0
        /// <summary>A node has begun to be dragged.</summary>
        /// <param name="sender">Sending object</param>
        /// <param name="e">Drag arguments</param>
        private void OnDragStart(object sender, DragStartArgs e)
        {
            Model obj = Apsim.Get(this.ApsimXFile, e.NodePath) as Model;

            if (obj != null)
            {
                string xml = Apsim.Serialise(obj);
                this.SetClipboardText(xml);

                DragObject dragObject = new DragObject();
                dragObject.NodePath  = e.NodePath;
                dragObject.ModelType = obj.GetType();
                dragObject.Xml       = xml;
                e.DragObject         = dragObject;
            }
        }
        public override void StartDragging(DragStartArgs args)
        {
            AdvDragStartArgs ee = args as AdvDragStartArgs;

            if (ee != null && ee.IsOutside)
            {
                ClearLastPosition();
                draggedColumn     = (View as MyGridView).Columns.AddField("@#$");
                draggedColumn.Tag = GridControl.InvalidRowHandle;
                this.DragObject   = draggedColumn;
            }
            else
            {
                base.StartDragging(args);
            }
        }
        /// <summary>A node has begun to be dragged.</summary>
        /// <param name="sender">Sending object</param>
        /// <param name="e">Drag arguments</param>
        private void OnDragStart(object sender, DragStartArgs e)
        {
            e.DragObject = null; // Assume failure
            string modelName = e.NodePath;

            // We want to create an object of the named type
            Type modelType = null;

            this.explorerPresenter.MainPresenter.ShowWaitCursor(true);
            try
            {
                foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
                {
                    foreach (Type t in assembly.GetTypes())
                    {
                        if (t.Name == modelName && t.IsPublic && t.IsClass)
                        {
                            modelType = t;
                            break;
                        }
                    }
                }

                if (modelType != null)
                {
                    // Use the pre built serialization assembly.
                    string binDirectory         = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
                    string deserializerFileName = Path.Combine(binDirectory, "Models.XmlSerializers.dll");

                    object child    = Activator.CreateInstance(modelType, true);
                    string childXML = XmlUtilities.Serialise(child, false, deserializerFileName);
                    (this.view.List as ListBoxView).SetClipboardText(childXML);

                    DragObject dragObject = new DragObject();
                    dragObject.NodePath  = e.NodePath;
                    dragObject.ModelType = modelType;
                    dragObject.Xml       = childXML;
                    e.DragObject         = dragObject;
                }
            }
            finally
            {
                this.explorerPresenter.MainPresenter.ShowWaitCursor(false);
            }
        }
        /// <summary>A node has begun to be dragged.</summary>
        /// <param name="sender">Sending object</param>
        /// <param name="e">Drag arguments</param>
        private void OnDragStart(object sender, DragStartArgs e)
        {
            e.DragObject = null; // Assume failure
            string modelName = e.NodePath;

            // We want to create an object of the named type
            Type modelType = null;

            this.explorerPresenter.MainPresenter.ShowWaitCursor(true);
            try
            {
                foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
                {
                    foreach (Type t in assembly.GetTypes())
                    {
                        if (t.FullName == modelName.TrimStart('.') && t.IsPublic && t.IsClass)
                        {
                            modelType = t;
                            break;
                        }
                    }
                }

                if (modelType != null)
                {
                    object child       = Activator.CreateInstance(modelType, true);
                    string childString = FileFormat.WriteToString(child as IModel);
                    explorerPresenter.SetClipboardText(childString);

                    DragObject dragObject = new DragObject();
                    dragObject.NodePath    = e.NodePath;
                    dragObject.ModelType   = modelType;
                    dragObject.ModelString = childString;
                    e.DragObject           = dragObject;
                }
            }
            finally
            {
                explorerPresenter.MainPresenter.ShowWaitCursor(false);
            }
        }
Exemple #11
0
 /// <summary>Node has begun to be dragged.</summary>
 /// <param name="sender">Event sender.</param>
 /// <param name="e">Event data.</param>
 private void OnDragBegin(object sender, DragBeginArgs e)
 {
     DragStartArgs args = new DragStartArgs();
     args.NodePath = SelectedNode; //  FullPath(e.Item as TreeNode);
     if (DragStarted != null)
     {
         DragStarted(this, args);
         if (args.DragObject != null)
         {
             sourcePathOfItemBeingDragged = args.NodePath;
             dragSourceHandle = GCHandle.Alloc(args.DragObject);
         }
     }
 }
Exemple #12
0
        /// <summary>A node has begun to be dragged.</summary>
        /// <param name="sender">Sending object</param>
        /// <param name="e">Drag arguments</param>
        private void OnDragStart(object sender, DragStartArgs e)
        {
            Model obj = Apsim.Get(this.ApsimXFile, e.NodePath) as Model;
            if (obj != null)
            {
                string xml = Apsim.Serialise(obj);
                SetClipboardText(xml);

                DragObject dragObject = new DragObject();
                dragObject.NodePath = e.NodePath;
                dragObject.ModelType = obj.GetType();
                dragObject.Xml = xml;
                e.DragObject = dragObject;
            }
        }
Exemple #13
0
 // Looks like drag and drop is broken on Mono on Mac. The data being dragged needs to be
 // serializable which is ok but it still doesn work. Gives the error:
 //     System.Runtime.Serialization.SerializationException: Unexpected binary element: 46
 //     at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObject (BinaryElement element, System.IO.BinaryReader reader, System.Int64& objectId, System.Object& value, System.Runtime.Serialization.SerializationInfo& info) [0x00000] in <filename unknown>:0
 /// <summary>Node has begun to be dragged.</summary>
 /// <param name="sender">Event sender.</param>
 /// <param name="e">Event data.</param>
 private void OnNodeDrag(object sender, ItemDragEventArgs e)
 {
     DragStartArgs args = new DragStartArgs();
     args.NodePath = FullPath(e.Item as TreeNode);
     if (DragStarted != null)
     {
         DragStarted(this, args);
         if (args.DragObject != null)
         {
             sourcePathOfItemBeingDragged = args.NodePath;
             DoDragDrop(args.DragObject, DragDropEffects.Copy | DragDropEffects.Move | DragDropEffects.Link);
         }
     }
 }