void HandleB2DragOver (object sender, DragOverEventArgs e) { if (e.Action == DragDropAction.All) e.AllowedAction = DragDropAction.Move; else e.AllowedAction = e.Action; }
private void Behavior_DragOver(object sender, DragOverEventArgs e) { DragOverGridEventArgs args = DragOverGridEventArgs.GetDragOverGridEventArgs(e); e.InsertType = args.InsertType; e.InsertIndicatorLocation = args.InsertIndicatorLocation; e.Action = args.Action; Cursor.Current = args.Cursor; args.Handled = true; }
void HandleWidgetDragDataReceived(object o, Gtk.DragDataReceivedArgs args) { dragDataRequests--; string type = Util.AtomToType(args.SelectionData.Target.Name); if (type == null) { args.RetVal = false; return; } if (args.SelectionData.Length > 0) { if (type == TransferDataType.Text) { dragData.AddText(args.SelectionData.Text); } else if (args.SelectionData.TargetsIncludeImage(false)) { dragData.AddImage(WidgetRegistry.CreateFrontend <Xwt.Drawing.Image> (args.SelectionData.Pixbuf)); } else if (type == TransferDataType.Uri) { var uris = System.Text.Encoding.UTF8.GetString(args.SelectionData.Data).Split('\n').Where(u => !string.IsNullOrEmpty(u)).Select(u => new Uri(u)).ToArray(); dragData.AddUris(uris); } else { dragData.AddValue(type, args.SelectionData.Data); } } if (dragDataRequests == 0) { if (dragDataForMotion) { DragOverEventArgs da = new DragOverEventArgs(lastDragPosition, dragData, ConvertDragAction(args.Context.Actions)); Toolkit.Invoke(delegate { EventSink.OnDragOver(da); }); Gdk.Drag.Status(args.Context, ConvertDragAction(da.AllowedAction), args.Time); } else { // Use Context.Action here since that's the action selected in DragOver var cda = ConvertDragAction(args.Context.Action); DragEventArgs da = new DragEventArgs(lastDragPosition, dragData, cda); Toolkit.Invoke(delegate { EventSink.OnDragDrop(da); }); Gtk.Drag.Finish(args.Context, da.Success, cda == DragDropAction.Move, args.Time); } } }
internal bool DoDragDataReceived(Gdk.DragContext context, int x, int y, Gtk.SelectionData selectionData, uint info, uint time) { if (DragDropInfo.DragDataRequests == 0) { // Got the data without requesting it. Create the datastore here DragDropInfo.DragData = new TransferDataStore(); DragDropInfo.LastDragPosition = new Point(x, y); DragDropInfo.DragDataRequests = 1; } DragDropInfo.DragDataRequests--; if (!Util.GetSelectionData(selectionData, DragDropInfo.DragData)) { return(false); } if (DragDropInfo.DragDataRequests == 0) { if (DragDropInfo.DragDataForMotion) { // This is a workaround to what seems to be a mac gtk bug. // Suggested action is set to all when no control key is pressed var cact = ConvertDragAction(context.Actions); if (cact == DragDropAction.All) { cact = DragDropAction.Move; } DragOverEventArgs da = new DragOverEventArgs(DragDropInfo.LastDragPosition, DragDropInfo.DragData, cact); Toolkit.Invoke(delegate { EventSink.OnDragOver(da); }); OnSetDragStatus(context, (int)DragDropInfo.LastDragPosition.X, (int)DragDropInfo.LastDragPosition.Y, time, ConvertDragAction(da.AllowedAction)); return(true); } else { // Use Context.Action here since that's the action selected in DragOver var cda = ConvertDragAction(context.Action); DragEventArgs da = new DragEventArgs(DragDropInfo.LastDragPosition, DragDropInfo.DragData, cda); Toolkit.Invoke(delegate { EventSink.OnDragDrop(da); }); Gtk.Drag.Finish(context, da.Success, cda == DragDropAction.Move, time); return(true); } } else { return(false); } }
static NSDragOperation DraggingUpdated(IntPtr sender, IntPtr sel, IntPtr dragInfo) { IViewObject <T> ob = Runtime.GetNSObject(sender) as IViewObject <T>; if (ob == null) { return(NSDragOperation.None); } var backend = (ViewBackend <T, S>)WidgetRegistry.GetBackend(ob.Frontend); NSDraggingInfo di = new NSDraggingInfo(dragInfo); var types = di.DraggingPasteboard.Types.Select(t => ToXwtDragType(t)).ToArray(); var pos = new Point(di.DraggingLocation.X, di.DraggingLocation.Y); if ((backend.currentEvents & WidgetEvent.DragOverCheck) != 0) { var args = new DragOverCheckEventArgs(pos, types, ConvertAction(di.DraggingSourceOperationMask)); Toolkit.Invoke(delegate { backend.eventSink.OnDragOverCheck(args); }); if (args.AllowedAction == DragDropAction.None) { return(NSDragOperation.None); } if (args.AllowedAction != DragDropAction.Default) { return(ConvertAction(args.AllowedAction)); } } if ((backend.currentEvents & WidgetEvent.DragOver) != 0) { TransferDataStore store = new TransferDataStore(); FillDataStore(store, di.DraggingPasteboard, ob.View.RegisteredDragTypes()); var args = new DragOverEventArgs(pos, store, ConvertAction(di.DraggingSourceOperationMask)); Toolkit.Invoke(delegate { backend.eventSink.OnDragOver(args); }); if (args.AllowedAction == DragDropAction.None) { return(NSDragOperation.None); } if (args.AllowedAction != DragDropAction.Default) { return(ConvertAction(args.AllowedAction)); } } return(di.DraggingSourceOperationMask); }
private void pressureGridDragDropEvents_DragOver(object sender, DragOverEventArgs e) { if (mode == EDataSetMode.View) { return; } GridView sourceView = e.Source as GridView; if (sourceView.Name == pressureTagGridView.Name) { DragOverGridEventArgs args = DragOverGridEventArgs.GetDragOverGridEventArgs(e); e.Cursor = DragAndDropCursors.CopyEffectCursor; args.Handled = true; } }
protected override void OnDragOver(object sender, DragOverEventArgs e) { AdornerLayer layer = AdornerLayer.GetAdornerLayer(Widget); if (this.dropAdorner != null) { layer.Remove(this.dropAdorner); } base.OnDragOver(sender, e); if (this.dropTarget != null) { layer.Add(this.dropAdorner = new TreeViewDropAdorner(this.dropTarget, this.dropPosition)); } }
void CheckDrop(object sender, System.Windows.DragEventArgs e) { var types = e.Data.GetFormats().Select(DataConverter.ToXwtTransferType).ToArray(); var pos = e.GetPosition(Widget).ToXwtPoint(); var proposedAction = DetectDragAction(e.KeyStates); e.Handled = true; // Prevent default handlers from being used. if ((enabledEvents & WidgetEvent.DragOverCheck) > 0) { var checkArgs = new DragOverCheckEventArgs(pos, types, proposedAction); Context.InvokeUserCode(delegate { eventSink.OnDragOverCheck(checkArgs); }); if (checkArgs.AllowedAction == DragDropAction.None) { e.Effects = currentDragEffect = DragDropEffects.None; return; } if (checkArgs.AllowedAction != DragDropAction.Default) { e.Effects = currentDragEffect = checkArgs.AllowedAction.ToWpfDropEffect(); return; } } if ((enabledEvents & WidgetEvent.DragOver) > 0) { var store = new TransferDataStore(); FillDataStore(store, e.Data); //, DragDropInfo.TargetTypes); var args = new DragOverEventArgs(pos, store, proposedAction); OnDragOver(sender, args); if (args.AllowedAction == DragDropAction.None) { e.Effects = currentDragEffect = DragDropEffects.None; return; } if (args.AllowedAction != DragDropAction.Default) { e.Effects = currentDragEffect = args.AllowedAction.ToWpfDropEffect(); return; } } e.Effects = currentDragEffect = proposedAction.ToWpfDropEffect(); }
public virtual void DragOver(DragOverEventArgs e) { Resolved = false; foreach (var dragDropAction in DragDropActions) { if (dragDropAction.Enabled) { dragDropAction.DragOver(e); Resolved = dragDropAction.Resolved || Resolved; if (dragDropAction.Exclusive) //} || !dragDropAction.Dragging) { { break; } } } Perform(); }
private void pressureDragDropEvents_DragOver(object sender, DragOverEventArgs e) { int sourceRow = ((int[])e.Data)[0]; GridView sourceView = e.Source as GridView; if (sourceView.Name == pressureTagGridView.Name) { string tagName = sourceView.GetRowCellValue(sourceRow, sourceView.Columns["Value"]).ToString(); if (IsPressureTagExist(tagName) == false) { DragOverGridEventArgs args = DragOverGridEventArgs.GetDragOverGridEventArgs(e); e.Cursor = DragAndDropCursors.CopyEffectCursor; args.Handled = true; } } }
private void TreeView_DragOver(object sender, DragOverEventArgs e) { if (!PipelineController.Instance.ProjectOpen) { return; } e.AllowedAction = DragDropAction.Copy; RowDropPosition rowpos; TreePosition pos; if (_treeView.GetDropTargetRow(e.Position.X, e.Position.Y, out rowpos, out pos)) { if (rowpos == RowDropPosition.Into && _treeStore.GetNavigatorAt(pos).GetValue(_dataTag) is ContentItem) { e.AllowedAction = DragDropAction.None; } } }
private void ListBoxBehavior_DragOver(object sender, DragOverEventArgs e) { e.Default(); Cursor.Current = Cursors.Default; }
private void thermo3DragDropEvents_DragOver(object sender, DragOverEventArgs e) { thermo1DragDropEvents_DragOver(sender, e); }
protected virtual void OnDragOver(object sender, DragOverEventArgs e) { Toolkit.Invoke(delegate { eventSink.OnDragOver(e); }); }
internal bool DoDragDataReceived(Gdk.DragContext context, int x, int y, Gtk.SelectionData selectionData, uint info, uint time) { if (DragDropInfo.DragDataRequests == 0) { // Got the data without requesting it. Create the datastore here DragDropInfo.DragData = new TransferDataStore(); DragDropInfo.LastDragPosition = new Point(x, y); DragDropInfo.DragDataRequests = 1; } DragDropInfo.DragDataRequests--; if (!Util.GetSelectionData(ApplicationContext, selectionData, DragDropInfo.DragData)) { return(false); } if (DragDropInfo.DragDataRequests == 0) { if (DragDropInfo.DragDataForMotion) { // If no specific action is set, it means that no key has been pressed. // In that case, use Move or Copy or Link as default (when allowed, in this order). var cact = ConvertDragAction(context.Actions); if (cact != DragDropAction.Copy && cact != DragDropAction.Move && cact != DragDropAction.Link) { if (cact.HasFlag(DragDropAction.Move)) { cact = DragDropAction.Move; } else if (cact.HasFlag(DragDropAction.Copy)) { cact = DragDropAction.Copy; } else if (cact.HasFlag(DragDropAction.Link)) { cact = DragDropAction.Link; } else { cact = DragDropAction.None; } } DragOverEventArgs da = new DragOverEventArgs(DragDropInfo.LastDragPosition, DragDropInfo.DragData, cact); ApplicationContext.InvokeUserCode(delegate { EventSink.OnDragOver(da); }); OnSetDragStatus(context, (int)DragDropInfo.LastDragPosition.X, (int)DragDropInfo.LastDragPosition.Y, time, ConvertDragAction(da.AllowedAction)); return(true); } else { // Use Context.Action here since that's the action selected in DragOver var cda = ConvertDragAction(context.Action); DragEventArgs da = new DragEventArgs(DragDropInfo.LastDragPosition, DragDropInfo.DragData, cda); ApplicationContext.InvokeUserCode(delegate { EventSink.OnDragDrop(da); }); Gtk.Drag.Finish(context, da.Success, cda == DragDropAction.Move, time); return(true); } } else { return(false); } }
private void EditorDragOver(object sender, DragOverEventArgs e) { }
void HandleDragOver(object sender, DragOverEventArgs e) { e.AllowedAction = e.Action; }
protected override void OnDragOver(object sender, DragOverEventArgs e) { AdornerLayer layer = AdornerLayer.GetAdornerLayer (Widget); if (this.dropAdorner != null) layer.Remove (this.dropAdorner); base.OnDragOver (sender, e); if (this.dropTarget != null) layer.Add (this.dropAdorner = new TreeViewDropAdorner (this.dropTarget, this.dropPosition)); }
void CheckDrop(object sender, System.Windows.DragEventArgs e) { var types = e.Data.GetFormats ().Select (t => t.ToXwtTransferType ()).ToArray (); var pos = e.GetPosition (Widget).ToXwtPoint (); var proposedAction = DetectDragAction (e.KeyStates); e.Handled = true; // Prevent default handlers from being used. if ((enabledEvents & WidgetEvent.DragOverCheck) > 0) { var checkArgs = new DragOverCheckEventArgs (pos, types, proposedAction); Context.InvokeUserCode (delegate { eventSink.OnDragOverCheck (checkArgs); }); if (checkArgs.AllowedAction == DragDropAction.None) { e.Effects = currentDragEffect = DragDropEffects.None; return; } if (checkArgs.AllowedAction != DragDropAction.Default) { e.Effects = currentDragEffect = checkArgs.AllowedAction.ToWpfDropEffect (); return; } } if ((enabledEvents & WidgetEvent.DragOver) > 0) { var store = new TransferDataStore (); FillDataStore (store, e.Data, DragDropInfo.TargetTypes); var args = new DragOverEventArgs (pos, store, proposedAction); OnDragOver (sender, args); if (args.AllowedAction == DragDropAction.None) { e.Effects = currentDragEffect = DragDropEffects.None; return; } if (args.AllowedAction != DragDropAction.Default) { e.Effects = currentDragEffect = args.AllowedAction.ToWpfDropEffect (); return; } } e.Effects = currentDragEffect = proposedAction.ToWpfDropEffect (); }
protected virtual void OnDragOver(object sender, DragOverEventArgs e) { Toolkit.Invoke (delegate { eventSink.OnDragOver (e); }); }
protected virtual void OnDragOver(object sender, DragOverEventArgs e) { Context.InvokeUserCode (delegate { eventSink.OnDragOver (e); }); }
void WidgetDragOverHandler(object sender, System.Windows.DragEventArgs e) { var types = e.Data.GetFormats().Select(t => t.ToXwtTransferType()).ToArray(); var pos = e.GetPosition(Widget).ToXwtPoint(); var proposedAction = DetectDragAction(e.KeyStates); e.Handled = true; // Prevent default handlers from being used. if (Adorner != null) { var w = GetParentWindow(); var v = (UIElement)w.Content; if (w != AdornedWindow) { AdornedLayer.Remove(Adorner); AdornedWindow.AllowDrop = false; AdornedWindow.DragOver -= AdornedWindowOnDragOver; AdornedWindow = w; AdornedWindow.AllowDrop = true; AdornedWindow.DragOver += AdornedWindowOnDragOver; AdornedLayer = AdornerLayer.GetAdornerLayer(v); AdornedLayer.Add(Adorner); } Adorner.Offset = e.GetPosition(v); } if ((enabledEvents & WidgetEvent.DragOverCheck) > 0) { var checkArgs = new DragOverCheckEventArgs(pos, types, proposedAction); Context.InvokeUserCode(delegate { eventSink.OnDragOverCheck(checkArgs); }); if (checkArgs.AllowedAction == DragDropAction.None) { e.Effects = currentDragEffect = DragDropEffects.None; return; } if (checkArgs.AllowedAction != DragDropAction.Default) { e.Effects = currentDragEffect = checkArgs.AllowedAction.ToWpfDropEffect(); return; } } if ((enabledEvents & WidgetEvent.DragOver) > 0) { var store = new TransferDataStore(); FillDataStore(store, e.Data, DragDropInfo.TargetTypes); var args = new DragOverEventArgs(pos, store, proposedAction); OnDragOver(sender, args); if (args.AllowedAction == DragDropAction.None) { e.Effects = currentDragEffect = DragDropEffects.None; return; } if (args.AllowedAction != DragDropAction.Default) { e.Effects = currentDragEffect = args.AllowedAction.ToWpfDropEffect(); return; } } e.Effects = currentDragEffect = proposedAction.ToWpfDropEffect(); }
protected virtual void OnDragOver(NSDraggingInfo di, DragOverEventArgs args) { Toolkit.Invoke(delegate { eventSink.OnDragOver(args); }); }
void WidgetDragOverHandler(object sender, System.Windows.DragEventArgs e) { var types = e.Data.GetFormats ().Select (t => t.ToXwtTransferType ()).ToArray (); var pos = e.GetPosition (Widget).ToXwtPoint (); var proposedAction = DetectDragAction (e.KeyStates); e.Handled = true; // Prevent default handlers from being used. if (Adorner != null) { var w = GetParentWindow (); var v = (UIElement)w.Content; if (w != AdornedWindow) { AdornedLayer.Remove (Adorner); AdornedWindow.AllowDrop = false; AdornedWindow.DragOver -= AdornedWindowOnDragOver; AdornedWindow = w; AdornedWindow.AllowDrop = true; AdornedWindow.DragOver += AdornedWindowOnDragOver; AdornedLayer = AdornerLayer.GetAdornerLayer (v); AdornedLayer.Add (Adorner); } Adorner.Offset = e.GetPosition (v); } if ((enabledEvents & WidgetEvent.DragOverCheck) > 0) { var checkArgs = new DragOverCheckEventArgs (pos, types, proposedAction); Context.InvokeUserCode (delegate { eventSink.OnDragOverCheck (checkArgs); }); if (checkArgs.AllowedAction == DragDropAction.None) { e.Effects = currentDragEffect = DragDropEffects.None; return; } if (checkArgs.AllowedAction != DragDropAction.Default) { e.Effects = currentDragEffect = checkArgs.AllowedAction.ToWpfDropEffect (); return; } } if ((enabledEvents & WidgetEvent.DragOver) > 0) { var store = new TransferDataStore (); FillDataStore (store, e.Data, DragDropInfo.TargetTypes); var args = new DragOverEventArgs (pos, store, proposedAction); OnDragOver (sender, args); if (args.AllowedAction == DragDropAction.None) { e.Effects = currentDragEffect = DragDropEffects.None; return; } if (args.AllowedAction != DragDropAction.Default) { e.Effects = currentDragEffect = args.AllowedAction.ToWpfDropEffect (); return; } } e.Effects = currentDragEffect = proposedAction.ToWpfDropEffect (); }
protected virtual void OnDragOver(object sender, DragOverEventArgs e) { Context.InvokeUserCode(delegate { eventSink.OnDragOver(e); }); }