Пример #1
0
 void Canvas_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Apps && MapView.SelectedNodes.First != null)
     {
         NodeView nodeView = MapView.GetNodeView(MapView.SelectedNodes.First);
         ContextMenu.Show(MapView.Canvas, new Point((int)nodeView.Left + 2, (int)(nodeView.Top + nodeView.Height - 2)));
     }
 }
Пример #2
0
        protected override void OnMouseHover(EventArgs e)
        {
            resetHoverEvent = true;
            if (DragDropHandler.IsDragging || MapView.FormatPainter.Active)
            {
                return;
            }

            Point clickPosition = this.PointToClient(Cursor.Position);

            mouseOverNode = MapView.GetMapNodeFromPoint(clickPosition);
            if (mouseOverNode != null)
            {
                NodeMouseEventArgs args = new NodeMouseEventArgs(
                    new MouseEventArgs(System.Windows.Forms.MouseButtons.None, 0, clickPosition.X, clickPosition.Y, 0));
                args.NodePortion = MapView.GetNodeView(mouseOverNode).GetNodeClickPortion(clickPosition);
                NodeMouseOver(mouseOverNode, args);
            }

            base.OnMouseHover(e);
        }
Пример #3
0
        protected override void OnMouseUp(MouseEventArgs e)
        {
            MapNode clickedNode = MapView.GetMapNodeFromPoint(e.Location);

            //Debug.WriteLine("Mouse Up: " + DragDropHandler.IsDragging);
            if (DragDropHandler.IsDragging)
            {
                DragDropHandler.OnMouseDrop(e);
            }
            else if (MapView.FormatPainter.Active)
            {
                MapView.FormatPainter.ExecuteMouseClick(clickedNode);
            }
            else
            {
                if (clickedNode == null) // IF 'event is not over node' AND 'canvas is not dragged'
                {
                    CanvasClick(e);
                }
                else
                {
                    var args = new NodeMouseEventArgs(e);
                    args.NodePortion = MapView.GetNodeView(clickedNode).GetNodeClickPortion(e.Location);
                    if (e.Button == System.Windows.Forms.MouseButtons.Right)
                    {
                        NodeRightClick(clickedNode, args);
                        IgnoreNextMouseMove = true;
                    }
                    else
                    {
                        NodeClick(clickedNode, args);
                    }
                }
            }

            //base.OnMouseUp(e);
        }