예제 #1
0
        public void DragSelectedElement(Point delta)
        {
            bool connectorAttached = selectedElement.SnapCheck(GripType.Start, ref delta) || selectedElement.SnapCheck(GripType.End, ref delta);

            selectedElement.Connections.ForEach(c => c.ToElement.MoveElementOrAnchor(c.ToConnectionPoint.Type, delta));
            MoveElement(selectedElement, delta);
            UpdateSelectedElement.Fire(this, new ElementEventArgs()
            {
                Element = SelectedElement
            });

            if (!connectorAttached)
            {
                DetachFromAllShapes(selectedElement);
            }
        }
예제 #2
0
        public override void DragSelectedElements(Point delta)
        {
            if (selectedElements.Count == 1)
            {
                GraphicElement el = selectedElements[0];
                bool           connectorAttached = el.SnapCheck(GripType.Start, ref delta) || el.SnapCheck(GripType.End, ref delta);
                el.Connections.ForEach(c => c.ToElement.MoveElementOrAnchor(c.ToConnectionPoint.Type, delta));

                if (!connectorAttached)
                {
                    DetachFromAllShapes(el);
                }

                MoveElement(el, delta);
                UpdateSelectedElement.Fire(this, new ElementEventArgs()
                {
                    Element = el
                });
            }
            else
            {
                MoveSelectedElements(delta);
            }
        }