示例#1
0
 public void DraggedImageEndedAtOperation(NSImage image, CGPoint screenPoint, NSDragOperation operation)
 {
     if (operation == NSDragOperation.Delete)
     {
         Letter = "";
     }
 }
示例#2
0
 public override void AwakeFromNib()
 {
     base.AwakeFromNib();
     _dragOperation = NSDragOperation.None;
     _list          = new List <string>();
     RegisterForDraggedTypes(new string[] { NSPasteboard.NSFilenamesType });
 }
示例#3
0
        public override NSDragOperation DraggingEntered(NSDraggingInfo sender)
        {
            var pasteboard = sender.DraggingPasteboard;

            if (pasteboard.Types.Contains(NSPasteboard.NSFilenamesType))
            {
                var filenames = pasteboard.GetPropertyListForType(NSPasteboard.NSFilenamesType) as NSArray;
                if (filenames != null)
                {
                    _firstPageController = Superview as UView;
                    if (_firstPageController != null)
                    {
                        _list.Clear();
                        for (uint i = 0; i < filenames.Count; i++)
                        {
                            _list.Add((string)NSString.FromHandle(filenames.ValueAt(i)));
                        }
                        if (_firstPageController.Controller.CanDropFiles(_list))
                        {
                            _dragOperation = NSDragOperation.Copy;
                            return(NSDragOperation.Copy);
                        }
                    }
                }
            }
            _dragOperation = NSDragOperation.None;
            return(NSDragOperation.None);
        }
示例#4
0
        public void End(NSPasteboard aPasteboard, NSDragOperation aOperation)
        {
            DraggableData dragData = new DraggableData(aPasteboard);

            iController.DragEnd(dragData, DragDropManager.Convert(aOperation));

            DragDropManager.Current = null;
        }
示例#5
0
 /// <summary>
 /// Initializes a new instance of <see cref="DragDropInfo"/> with the specified settings.
 /// </summary>
 /// <param name="location">The location of the cursor relative to the left top corner of the text view.</param>
 /// <param name="keyStates">The state of the keyboard during the operation.</param>
 /// <param name="data">The <see cref="NSPasteboard"/> of the drag and drop operation.</param>
 /// <param name="isInternal"><c>true</c> if the drag has been initiated from within the editor, otherwise <c>false</c>.</param>
 /// <param name="source">The object that initiated the drag and drop operation.</param>
 /// <param name="allowedEffects">The drag and drop effects allowed by the source.</param>
 /// <param name="bufferPosition">The buffer position of the cursor during the drag and drop operation.</param>
 public DragDropInfo(CGPoint location, NSEventModifierMask keyStates, NSPasteboard data, bool isInternal, object source, NSDragOperation allowedEffects, VirtualSnapshotPoint bufferPosition)
 {
     Location              = location;
     KeyStates             = keyStates;
     Data                  = data;
     IsInternal            = isInternal;
     Source                = source;
     AllowedEffects        = allowedEffects;
     VirtualBufferPosition = bufferPosition;
 }
示例#6
0
        public override NSDragOperation DraggingUpdated(NSDraggingInfo sender)
        {
            NSDragOperation op = sender.DraggingSourceOperationMask;

            if (sender.DraggingSource == this)
            {
                return(NSDragOperation.None);
            }
            return(NSDragOperation.Copy);
        }
示例#7
0
        public static EDragOperation Convert(NSDragOperation aDragOperation)
        {
            switch (aDragOperation)
            {
            case NSDragOperation.NSDragOperationCopy:
                return(EDragOperation.eCopy);

            case NSDragOperation.NSDragOperationDelete:
                return(EDragOperation.eDelete);

            case NSDragOperation.NSDragOperationMove:
                return(EDragOperation.eMove);

            case NSDragOperation.NSDragOperationNone:
            default:
                return(EDragOperation.eNone);
            }
        }
示例#8
0
        internal static NSDragOperation ConvertDragOperation(DragDropEffects d)
        {
            NSDragOperation result = NSDragOperation.None;

            if (d.HasFlag(DragDropEffects.Copy))
            {
                result |= NSDragOperation.Copy;
            }
            if (d.HasFlag(DragDropEffects.Link))
            {
                result |= NSDragOperation.Link;
            }
            if (d.HasFlag(DragDropEffects.Move))
            {
                result |= NSDragOperation.Move;
            }
            return(result);
        }
示例#9
0
        public static DragDropEffects ToDragDropEffects(this NSDragOperation o)
        {
            var e = DragDropEffects.None;

            if ((o & NSDragOperation.Copy) != 0)
            {
                e |= DragDropEffects.Copy;
            }
            if ((o & NSDragOperation.Link) != 0)
            {
                e |= DragDropEffects.Link;
            }
            if ((o & NSDragOperation.Move) != 0)
            {
                e |= DragDropEffects.Move;
            }
            return(e);
        }
示例#10
0
        static NSDragOperation ConvertAction(DragDropAction action)
        {
            NSDragOperation res = (NSDragOperation)0;

            if ((action & DragDropAction.Copy) != 0)
            {
                res |= NSDragOperation.Copy;
            }
            if ((action & DragDropAction.Move) != 0)
            {
                res |= NSDragOperation.Move;
            }
            if ((action & DragDropAction.Link) != 0)
            {
                res |= NSDragOperation.Link;
            }
            return(res);
        }
示例#11
0
        public static DragEffects ToEto(this NSDragOperation operation)
        {
            var effects = DragEffects.None;

            if (operation.HasFlag(NSDragOperation.Copy))
            {
                effects |= DragEffects.Copy;
            }
            if (operation.HasFlag(NSDragOperation.Link))
            {
                effects |= DragEffects.Link;
            }
            if (operation.HasFlag(NSDragOperation.Move))
            {
                effects |= DragEffects.Move;
            }
            return(effects);
        }
示例#12
0
        internal static DragDropEffects ConvertDragOperation(NSDragOperation d)
        {
            DragDropEffects result = DragDropEffects.None;

            if (d.HasFlag(NSDragOperation.Copy))
            {
                result |= DragDropEffects.Copy;
            }
            if (d.HasFlag(NSDragOperation.Link))
            {
                result |= DragDropEffects.Link;
            }
            if (d.HasFlag(NSDragOperation.Move))
            {
                result |= DragDropEffects.Move;
            }
            return(result);
        }
示例#13
0
        private static NSDragOperation ToNSDragOperation(DataPackageOperation uwpOperation)
        {
            NSDragOperation result = NSDragOperation.None;

            if (uwpOperation.HasFlag(DataPackageOperation.Copy))
            {
                result |= NSDragOperation.Copy;
            }

            if (uwpOperation.HasFlag(DataPackageOperation.Link))
            {
                result |= NSDragOperation.Link;
            }

            if (uwpOperation.HasFlag(DataPackageOperation.Move))
            {
                result |= NSDragOperation.Move;
            }

            return(result);
        }
示例#14
0
        static DragDropAction ConvertAction(NSDragOperation action)
        {
            if (action == NSDragOperation.AllObsolete)
            {
                return(DragDropAction.All);
            }
            DragDropAction res = (DragDropAction)0;

            if ((action & NSDragOperation.Copy) != 0)
            {
                res |= DragDropAction.Copy;
            }
            if ((action & NSDragOperation.Move) != 0)
            {
                res |= DragDropAction.Move;
            }
            if ((action & NSDragOperation.Link) != 0)
            {
                res |= DragDropAction.Link;
            }
            return(res);
        }
示例#15
0
            public virtual void DraggingSessionEnded(NSImage image, CGPoint screenPoint, NSDragOperation operation)
            {
                try
                {
                    DraggingSessionEndedAction.Invoke(image, screenPoint, operation);
                }
                catch
                {
                    // Simply return if an error occurred, it is unrecoverable
                }

                return;
            }
示例#16
0
            public new void DraggingSessionEnded(NSTableView tableView, NSDraggingSession draggingSession, CGPoint endedAtScreenPoint, NSDragOperation operation)
            {
                var h = Handler;

                if (h == null)
                {
                    return;
                }

                if (h.CustomSelectedRows != null)
                {
                    h.CustomSelectedRows = null;
                    h.Callback.OnSelectionChanged(h.Widget, EventArgs.Empty);
                }
            }
示例#17
0
 public void TableViewDraggedImageEnded(NSTabView aTableView, NSImage aImage, NSPoint aPoint, NSDragOperation aOperation)
 {
     if (aOperation == NSDragOperation.NSDragOperationDelete)
     {
         foreach (Bookmark b in iDraggedBookmarks)
         {
             UserLog.WriteLine("Deleting bookmark: " + b.Title);
             iBookmarkManager.Remove(b);
         }
     }
 }
示例#18
0
 public override void DraggedImageEndedAtOperation(NSImage image, CGPoint screenPoint, NSDragOperation operation)
 {
     _result.OnNext(DraggingInfo.ConvertDragOperation(operation));
     _result.OnCompleted();
 }
示例#19
0
            public override void DraggedImageEndedAtOperation(NSImage image, CGPoint screenPoint, NSDragOperation operation)
            {
                //Console.WriteLine($"MonoDraggingSource.DraggedImageEndedAtOperation({screenPoint.X},{screenPoint.Y},{operation}");

                XplatUICocoa.DraggedData     = null;
                XplatUICocoa.DraggingEffects = operation.ToDragDropEffects();
                XplatUICocoa.DraggingEnded(this, new EventArgs());
                XplatUICocoa.LastMouseDown = null;
            }
 /// <inheritdoc/>
 public override void DraggingSessionEnded(NSTableView tableView, NSDraggingSession draggingSession, CGPoint endedAtScreenPoint, NSDragOperation operation)
 {
     DebugDragDrop("**** ROMLIST DRAG ENDED");
     DragDropHelpers.FinishedWithPasteboard(draggingSession.DraggingPasteboard);
 }
示例#21
0
 public override void DraggingSessionEnded(NSTableView tableView, NSDraggingSession draggingSession, PointF endedAtScreenPoint, NSDragOperation operation)
 {
 }
 public override void DraggingSessionEnded(NSTableView tableView, NSDraggingSession draggingSession, PointF endedAtScreenPoint, NSDragOperation operation)
 {
     if (DraggingSessionEndedAction != null)
     {
         DraggingSessionEndedAction(tableView, draggingSession, endedAtScreenPoint, operation);
     }
 }
示例#23
0
        public override void DraggedImageEndedAtOperation(NSImage image, CGPoint screenPoint, NSDragOperation operation)
        {
            Debug.WriteLine("DraggedImageEndedAtOperation");
            WindowSidebar.ShowPopup();

            _completed();
        }
示例#24
0
 public void DraggedImageEndedAtOperation(NSImage image, CGPoint screenPoint, NSDragOperation operation)
 {
     if (operation == NSDragOperation.Delete) {
         Letter = "";
     }
 }
示例#25
0
 public void DraggingSessionEnded(NSDraggingSession session, CGPoint screenPoint, NSDragOperation operation)
 {
     _callbacks.OnReleased();
 }
示例#26
0
 public override void DraggingSessionEnded(NSTableView tableView, NSDraggingSession draggingSession, CGPoint endedAtScreenPoint, NSDragOperation operation)
 {
     this.isDragging = false;
     //this.uiTableViewController.UpdateShowHideRefresh (false);
 }