public override void OnMouseDown(MouseEvent mouseEvent)
        {
            base.OnMouseDown(mouseEvent);
            if (ViewModel.Disabled)
            {
                return;
            }

            if (mouseEvent.MouseButton == 0 &&
                (ViewModel.Direction == ConnectorDirection.Output || ViewModel.Direction == ConnectorDirection.TwoWay))
            {
                mouseEvent.Begin(new ConnectionHandler(ViewModel.DiagramViewModel, ViewModel));
                mouseEvent.NoBubble = true;
                return;
            }
        }
 public override void OnMouseDown(MouseEvent mouseEvent)
 {
     base.OnMouseDown(mouseEvent);
     DiagramViewModel.LastMouseEvent = mouseEvent;
     if (DrawersAtMouse == null)
     {
         return;
     }
     if (!DrawersAtMouse.Any())
     {
         DiagramViewModel.NothingSelected();
         if (mouseEvent.ModifierKeyStates.Ctrl)
         {
             DiagramViewModel.ShowQuickAdd();
         }
         mouseEvent.Begin(SelectionRectHandler);
     }
     else
     {
         BubbleEvent(d => d.OnMouseDown(mouseEvent), mouseEvent);
     }
 }