Example #1
0
 public bool CanConnectToPin(IThumb pin)
 {
     return(pin != null &&
            (
                !StringUtil.Compare(pin.GetUid(), Constants.PinStandalone) ||
                (Context.IsControlPressed != null && Context.IsControlPressed())
            ));
 }
Example #2
0
        public void DragStart(ICanvas canvas, IThumb element)
        {
            Snapshot(canvas, false);

            Context.MoveAllSelected = element.GetSelected();
            if (Context.MoveAllSelected == false)
            {
                element.SetSelected(true);
            }
        }
Example #3
0
        public void Drag(ICanvas canvas, IThumb element, double dX, double dY)
        {
            bool snap = IsSnapOnDragEnabled();

            if (Context.MoveAllSelected == true)
            {
                MoveSelectedElements(canvas, dX, dY, snap);
            }
            else
            {
                MoveRoot(element, dX, dY, snap);
            }
        }
Example #4
0
        public void DragEnd(ICanvas canvas, IThumb element)
        {
            if (Context.SnapOnRelease == true && Context.EnableSnap == true)
            {
                if (Context.MoveAllSelected == true)
                {
                    MoveSelectedElements(canvas, 0.0, 0.0, Context.EnableSnap);
                }
                else
                {
                    element.SetSelected(false);
                    MoveRoot(element, 0.0, 0.0, Context.EnableSnap);
                }
            }
            else
            {
                if (Context.MoveAllSelected != true)
                {
                    element.SetSelected(false);
                }
            }

            Context.MoveAllSelected = false;
        }
Example #5
0
        private void Connect(ICanvas canvas, IThumb pin, IDiagramCreator creator)
        {
            if (pin == null)
            {
                return;
            }

            Context.CurrentRoot = pin.GetParent() as IThumb;

            double x;
            double y;

            ModelEditor.GetPinPosition(Context.CurrentRoot, pin, out x, out y);

            Context.CurrentLine = WireEditor.Connect(canvas,
                                                     Context.CurrentRoot, Context.CurrentLine,
                                                     x, y,
                                                     creator);

            if (Context.CurrentLine == null)
            {
                Context.CurrentRoot = null;
            }
        }
Example #6
0
 private void SetElementDragDeltaHandler(IElement element, IThumb thumb, Action <IElement, IThumb, double, double> drag)
 {
     (thumb.Native as Thumb).DragDelta += (sender, e) => drag(element, thumb, e.HorizontalChange, e.VerticalChange);
 }
 public bool CanConnectToPin(IThumb pin)
 {
     return pin != null &&
     (
         !StringUtil.Compare(pin.GetUid(), Constants.PinStandalone) ||
         (Context.IsControlPressed != null && Context.IsControlPressed())
     );
 }
Example #8
0
 private void SetLineDragDeltaHandler(ILine line, IThumb thumb, Action <ILine, IThumb, double, double> drag)
 {
     (thumb.Native as Thumb).DragDelta += (sender, e) => drag(line, thumb, e.HorizontalChange, e.VerticalChange);
 }
        private void Connect(ICanvas canvas, IThumb pin, IDiagramCreator creator)
        {
            if (pin == null)
                return;

            Context.CurrentRoot = pin.GetParent() as IThumb;

            double x;
            double y;
            ModelEditor.GetPinPosition(Context.CurrentRoot, pin, out x, out y);

            Context.CurrentLine = WireEditor.Connect(canvas,
                Context.CurrentRoot, Context.CurrentLine,
                x, y,
                creator);

            if (Context.CurrentLine == null)
                Context.CurrentRoot = null;
        }
        public bool MouseEventPreviewLeftDown(ICanvas canvas, IPoint point, IThumb pin)
        {
            if (CanConnectToPin(pin))
            {
                if (Context.CurrentLine == null)
                    Snapshot(canvas, true);

                Connect(canvas, pin, Context.DiagramCreator);

                return true;
            }
            else if (Context.CurrentLine != null)
            {
                var element = MouseGetElementAtPoint(canvas, point);
                if (CanSplitWire(element))
                {
                    if (Context.CurrentLine == null)
                        Snapshot(canvas, true);

                    bool result = WireEditor.Split(canvas, element as ILine, Context.CurrentLine, point, Context.DiagramCreator, Context.EnableSnap);

                    Context.CurrentRoot = null;
                    Context.CurrentLine = null;

                    return result;
                }
            }

            if (CanToggleLine())
                MouseToggleLineSelection(canvas, point);

            return false;
        }
        public void DragStart(ICanvas canvas, IThumb element)
        {
            Snapshot(canvas, false);

            Context.MoveAllSelected = element.GetSelected();
            if (Context.MoveAllSelected == false)
                element.SetSelected(true);
        }
        public void DragEnd(ICanvas canvas, IThumb element)
        {
            if (Context.SnapOnRelease == true && Context.EnableSnap == true)
            {
                if (Context.MoveAllSelected == true)
                {
                    MoveSelectedElements(canvas, 0.0, 0.0, Context.EnableSnap);
                }
                else
                {
                    element.SetSelected(false);
                    MoveRoot(element, 0.0, 0.0, Context.EnableSnap);
                }
            }
            else
            {
                if (Context.MoveAllSelected != true)
                    element.SetSelected(false);
            }

            Context.MoveAllSelected = false;
        }
 public void Drag(ICanvas canvas, IThumb element, double dX, double dY)
 {
     bool snap = IsSnapOnDragEnabled();
     if (Context.MoveAllSelected == true)
         MoveSelectedElements(canvas, dX, dY, snap);
     else
         MoveRoot(element, dX, dY, snap);
 }