Ejemplo n.º 1
0
 void mPanel_MouseDown(object sender, MouseEventArgs e)
 {
     if (CurrentTool != null)
     {
         CurrentTool.OnMouseDown(e.X, e.Y, e);
     }
 }
        //--------------------------------------------------------------------------------------------------

        public void MouseDown(ViewportController viewportController)
        {
            if (_LastDetectedInteractive is AIS_ViewCube viewCube &&
                _LastDetectedOwner is AIS_ViewCubeOwner viewCubeOwner)
            {
                if (!viewportController.LockedToPlane)
                {
                    viewCube.HandleClick(viewCubeOwner);
                }
                return;
            }

            if (CurrentTool != null)
            {
                if (CurrentTool.OnMouseDown(_MouseEventData))
                {
                    // Handled by tool
                    return;
                }
            }

            if (_ToolActions.Any())
            {
                foreach (var toolAction in _ToolActions)
                {
                    if (toolAction.OnMouseDown(_MouseEventData))
                    {
                        // Handled by tool action
                        return;
                    }
                }
            }
            IsSelecting = true;
        }
Ejemplo n.º 3
0
        private void panelForm_MouseDown(object sender, MouseEventArgs e)
        {
            Focus();

            if (e.Button == MouseButtons.Left)
            {
                CurrentTool.OnMouseDown(e.X, e.Y);
                CurrentTool.AfterControlCreate();
            }
        }
Ejemplo n.º 4
0
        private void panelWorkflow_MouseDown(object sender, MouseEventArgs e)
        {
            Focus();

            if (e.Button == MouseButtons.Left)
            {
                CurrentTool.OnMouseDown(e.X, e.Y);
                CurrentTool.AfterActivityCreate();
            }
        }
Ejemplo n.º 5
0
        void DrawingCanvas_MouseDown(object sender, MouseButtonEventArgs e)
        {
            this.Focus();

            if (e.ChangedButton == MouseButton.Left)
            {
                if (e.ClickCount == 2)
                {
                    HandleDoubleClick(e);                            // special case for GraphicsText
                }
                else
                {
                    Point loc = e.GetPosition(this);

                    if (CurrentRuler.IsSnapping)
                    {
                        CurrentSnapPosition = new Point(-1, -1);

                        Point snap = new Point(loc.X, loc.Y);

                        if (CurrentRuler.GuideManager.Intersection_GetNearst(ref snap))
                        {
                            CurrentSnapPosition = snap;
                            CurrentPosition     = loc;
                            CurrentTool.OnMouseDown(this, CurrentSnapPosition);
                            return;
                        }

                        Guideline gl = CurrentRuler.GuideManager.GetSnapGuide(loc);
                        if (gl != null)
                        {
                            gl.GetNearestPos(ref snap, CurrentRuler.dPicCapture);
                            CurrentSnapPosition = snap;
                            CurrentPosition     = loc;
                            CurrentTool.OnMouseDown(this, CurrentSnapPosition);
                            return;
                        }
                    }
                    CurrentPosition = loc;
                    CurrentTool.OnMouseDown(this, CurrentPosition);
                }
            }
            else if (e.ChangedButton == MouseButton.Right)
            {
                //CurrentRuler.IsOnGuide();
                //show guide menu
                //CurrentRuler.ContextMenu.PlacementTarget = CurrentRuler;
                //CurrentRuler.ContextMenu.IsOpen = true;
                this.ContextMenu.IsOpen = true;
            }

            e.Handled = true;
        }
Ejemplo n.º 6
0
        protected override void OnToolGUI(Event e)
        {
            CurrentTool.OnGUI(e);

            switch (e.type)
            {
            case EventType.MouseDown when MouseRayValid && e.button == 0:
                IsMouseDown = true;
                IsMouseMove = false;
                CurrentTool.OnMouseDown(e);
                break;

            case EventType.MouseDrag when MouseRayValid:
                IsMouseMove = true;
                CurrentTool.OnMouseDrag(e);
                break;

            case EventType.MouseUp when MouseRayValid && e.button == 0:
                if (IsMouseMove)
                {
                    CurrentTool.OnMouseUp(e);
                }
                else
                {
                    CurrentTool.OnPrimaryMouseClicked(e);
                }
                IsMouseDown = false;
                break;

            case EventType.MouseUp when MouseRayValid && e.button == 1:
                CurrentTool.OnSecondaryMouseClicked();
                break;

            case EventType.KeyUp:
                CurrentTool.OnKeyUp(e);
                break;
            }
        }