Ejemplo n.º 1
0
        public void DragSelection()
        {
            if (SelectedNodes.Count < 2)
            {
                return;
            }

            NodeView draggedNode = null;

            foreach (var node in SelectedNodes)
            {
                if (node.IsDragged())
                {
                    draggedNode = node;
                    break;
                }
            }
            if (draggedNode == null)
            {
                return;
            }
            foreach (var node in SelectedNodes)
            {
                if (node != draggedNode)
                {
                    node.DragNode(draggedNode.DragVector());
                    node.ClearDrag();
                }
            }

            draggedNode.ClearDrag();
        }
        public void DragSelection()
        {
            //TODO: Sometimes nodes might move with varying speeds
            //      Haven't found a way to reproduce this.
            if (SelectedNodes.Count < 2)
            {
                return;
            }

            NodeView draggedNode = null;

            foreach (var node in SelectedNodes)
            {
                if (node.IsDragged())
                {
                    draggedNode = node;
                    break;
                }
            }
            if (draggedNode == null)
            {
                return;
            }
            foreach (var node in SelectedNodes)
            {
                if (node != draggedNode)
                {
                    node.DragNode(draggedNode.DragVector());
                    node.ClearDrag();
                }
            }

            draggedNode.ClearDrag();
        }