Exemplo n.º 1
0
        public static ICommand RequestMove(this IEditor editor, Size moveDelta)
        {
            var req = new ChangeBoundsRequest();

            req.MoveDelta = moveDelta;
            return(editor.PerformRequest(req));
        }
Exemplo n.º 2
0
 // ------------------------------
 // protected
 // ------------------------------
 protected virtual Rectangle GetNewBounds(Rectangle oldBounds, ChangeBoundsRequest request)
 {
     return(new Rectangle(
                GetGridAdjustedPoint(oldBounds.Location + request.MoveDelta),
                oldBounds.Size
                ));
 }
Exemplo n.º 3
0
 // ========================================
 // constructor
 // ========================================
 public AdjustSpaceTool(EditorCanvas canvas, ITool toolOnFinished)
 {
     _canvas         = canvas;
     _moveRequest    = new ChangeBoundsRequest();
     _spaceRequest   = new AdjustSpaceRequest();
     _toolOnFinished = toolOnFinished;
 }
Exemplo n.º 4
0
        protected override void OnFigureDragCancel()
        {
            base.OnFigureDragCancel();

            var req = new ChangeBoundsRequest();

            Host.HideFeedback(req);
        }
Exemplo n.º 5
0
        public static ICommand RequestResize(this IEditor editor, Size sizeDelta, Directions resizeDirection, bool adjustSize)
        {
            var req = new ChangeBoundsRequest();

            req.SizeDelta       = sizeDelta;
            req.ResizeDirection = resizeDirection;
            req.AdjustSize      = adjustSize;
            return(editor.PerformRequest(req));
        }
Exemplo n.º 6
0
        protected override void OnFigureDragFinish(MouseEventArgs e)
        {
            base.OnFigureDragFinish(e);

            Host.RequestResize(new Size(e.X - _dragStartLocation.X, 0), Directions.Right, true);

            var req = new ChangeBoundsRequest();

            Host.HideFeedback(req);
        }
Exemplo n.º 7
0
        protected override void OnFigureDragMove(MouseEventArgs e)
        {
            base.OnFigureDragMove(e);

            var req = new ChangeBoundsRequest();

            req.ResizeDirection = Directions.Right;
            req.SizeDelta       = (Size)e.Location - (Size)_dragStartLocation;
            Host.ShowFeedback(req);
        }
Exemplo n.º 8
0
        // ------------------------------
        // protected
        // ------------------------------
        protected virtual Rectangle GetNewBounds(Rectangle oldBounds, ChangeBoundsRequest request)
        {
            var r = new Rectangle(oldBounds.Location + request.MoveDelta, oldBounds.Size);

            if (_adjustToGrid)
            {
                return(GetGridAdjustedRect(r, request.AdjustSize));
            }
            else
            {
                return(r);
            }
        }
Exemplo n.º 9
0
        protected override Rectangle GetNewBounds(Rectangle oldBounds, ChangeBoundsRequest request)
        {
            var moveDelta = request.MoveDelta;
            var sizeDelta = request.SizeDelta;

            var left = GetGridAdjustedX(oldBounds.Left + moveDelta.Width);
            var top  = GetGridAdjustedY(oldBounds.Top + moveDelta.Height);

            var width  = oldBounds.Width;
            var height = oldBounds.Height;

            if (!sizeDelta.IsEmpty)
            {
                // todo: request.AdjustSize == false対応
                var node         = _Host.Figure as INode;
                var gridAdLeft   = GetGridAdjustedX(left + sizeDelta.Width);
                var gridAdWidth  = width - (gridAdLeft - left);
                var gridAdTop    = GetGridAdjustedY(top + sizeDelta.Height);
                var gridAdHeight = height - (gridAdTop - top);
                var gridAdSize   = node.MeasureAutoSize(new Size(gridAdWidth, gridAdHeight));

                if (EnumUtil.HasAllFlags((int)request.ResizeDirection, (int)Directions.Left))
                {
                    width = gridAdSize.Width;
                    left  = left - (width - oldBounds.Width);
                }
                if (EnumUtil.HasAllFlags((int)request.ResizeDirection, (int)Directions.Up))
                {
                    height = gridAdSize.Height;
                    top    = top - (height - oldBounds.Height);
                }
                if (EnumUtil.HasAllFlags((int)request.ResizeDirection, (int)Directions.Right))
                {
                    width = width + sizeDelta.Width + GetGridAdjustedDiffX(left + width + sizeDelta.Width);
                }
                if (EnumUtil.HasAllFlags((int)request.ResizeDirection, (int)Directions.Down))
                {
                    height = height + sizeDelta.Height + GetGridAdjustedDiffY(top + height + sizeDelta.Height);
                }
            }

            return(new Rectangle(left, top, width, height));
        }
Exemplo n.º 10
0
        private Size GetTargetConnectableMoveDelta(IEdge edge, ChangeBoundsRequest req)
        {
            var tgtLoc = edge.Target.Location;

            return((Size)GetGridAdjustedPoint(tgtLoc + req.MoveDelta) - (Size)tgtLoc);
        }
Exemplo n.º 11
0
        private Size GetSourceConnectableMoveDelta(IEdge edge, ChangeBoundsRequest req)
        {
            var srcLoc = edge.Source.Location;

            return((Size)GetGridAdjustedPoint(srcLoc + req.MoveDelta) - (Size)srcLoc);
        }
Exemplo n.º 12
0
 // ========================================
 // constructor
 // ========================================
 public AbstractResizeHandle()
 {
     _request = new ChangeBoundsRequest();
 }
Exemplo n.º 13
0
 // ========================================
 // constructor
 // ========================================
 public MoveScenario(IHandle handle) : base(handle)
 {
     _moveRequest = new ChangeBoundsRequest();
 }
Exemplo n.º 14
0
 // ========================================
 // constructor
 // ========================================
 public ResizeScenario(IHandle handle) : base(handle)
 {
     _request = new ChangeBoundsRequest();
 }