/// <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); } }
/// <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); } } }
/// <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); } } }
// 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; } }
/// <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; } }
/// <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); } }
/// <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; } }