コード例 #1
0
 /// <inheritdoc/>
 public override void StartInteraction(DiagramInteractionEventArguments interaction)
 {
     PreviousMouseLocation            = interaction.MousePosition;
     _resizingNodes                   = interaction.Diagram.Nodes.Where(n => n.IsSelected).ToArray();
     _undoResizeCommand               = new ResizeNodesToCurrentSizeCommand(_resizingNodes);
     _undoPositionAdjustmentCommand   = new MoveNodesToCurrentPositionCommand(_resizingNodes);
     interaction.Diagram.ShowSnapGrid = true;
 }
コード例 #2
0
        /// <inheritdoc/>
        public override void StartInteraction(DiagramInteractionEventArguments interaction)
        {
            var diagram       = interaction.Diagram;
            var mousePosition = interaction.MousePosition;

            RiftStartDiagramPoint = diagram.GetDiagramPointFromViewPoint(mousePosition);
            Mode             = RiftMode.None;
            X                = mousePosition.X;
            Y                = mousePosition.Y;
            RiftWidth        = 0;
            RiftHeight       = 0;
            _undoRiftCommand = new MoveNodesToCurrentPositionCommand(_nodesBeingRifted);
        }
コード例 #3
0
        /// <inheritdoc/>
        public override void StopInteraction(DiagramInteractionEventArguments interaction)
        {
            if (!interaction.IsCtrlKeyPressed)
            {
                foreach (var node in _resizingNodes)
                {
                    node.X      = interaction.Diagram.SnapToGrid(node.X);
                    node.Y      = interaction.Diagram.SnapToGrid(node.Y);
                    node.Width  = interaction.Diagram.SnapToGrid(node.Width);
                    node.Height = interaction.Diagram.SnapToGrid(node.Height);
                }
            }

            interaction.Diagram.ShowSnapGrid = false;
            Mouse.SetCursor(Cursors.Arrow);
            var resizeCommand             = new ResizeNodesToCurrentSizeCommand(_resizingNodes);
            var positionAdjustmentCommand = new MoveNodesToCurrentPositionCommand(_resizingNodes);

            _transactor.Transact(resizeCommand, _undoResizeCommand);
            _transactor.Transact(positionAdjustmentCommand, _undoPositionAdjustmentCommand);
        }
コード例 #4
0
        /// <inheritdoc/>
        public override void StopInteraction(DiagramInteractionEventArguments interaction)
        {
            Mode            = RiftMode.None;
            _lastRiftDeltaX = 0;
            _lastRiftDeltaY = 0;
            if (_nodesBeingRifted == null)
            {
                return;
            }

            if (!interaction.IsCtrlKeyPressed)
            {
                foreach (var node in _nodesBeingRifted)
                {
                    node.X = interaction.Diagram.SnapToGrid(node.X);
                    node.Y = interaction.Diagram.SnapToGrid(node.Y);
                }
            }

            var doRiftCommand = new MoveNodesToCurrentPositionCommand(_nodesBeingRifted);

            _transactor.Transact(doRiftCommand, _undoRiftCommand, null);
            _nodesBeingRifted = null;
        }