public WaypointMoveOperation(ConnectorUI ui, Point startPoint, IWaypoint wp) { _ui = ui; _wp = wp; _startPoint = startPoint; _ui.TriggerSnapshot(); _ui.MouseMove += Ui_MouseMove; _ui.MouseUp += Ui_MouseUp; _ui.CaptureMouse(); }
public MoveConnectorOperation(ConnectorUI ui, Point p) { _ui = ui; _model = ui._model; _startPoint = p; _p0 = p; _moveHelper = _model.StartMove(p); _newMoveDistance = _moveHelper.Distance; _movePointStart = _moveHelper.StartPoint; var from = _moveHelper.StartingFrom; var to = _moveHelper.EndingAt; _fromGeometry = new RectangleGeometry(from.Bounds); _toGeometry = new RectangleGeometry(to.Bounds); if (Keyboard.IsKeyDown(Key.LeftShift)) { if (TryAdjustConnectorLine()) { //_moveHelper.Commit() } StopOperation(false); } else { var initialGeometry = _moveHelper.GetGeometry(_gg, _moveHelper.LineType, _movePointStart, _moveHelper.EndPoint, _moveHelper.Distance); _visualizer = new ConnectorMoveVisualizer(initialGeometry); //tbd //_visualizer.MouseMove += HandleMouseMove; _isSelfTransition = _model.From == _model.To; if (_moveHelper.MoveType == MoveType.MoveStartPoint && _model.CanMoveStart) { _mouseMove = MoveStartPoint; //_allowableDockings = from.AllowableDockings(false); _movingPointDocking = from.GetConnectorDocking(_moveHelper.StartPoint, false); _otherPointDocking = to.GetConnectorDocking(_moveHelper.EndPoint, true); _otherPointPosition = _moveHelper.EndPoint; } else if (_moveHelper.MoveType == MoveType.MoveEndPoint && _model.CanMoveEnd) { //_allowableDockings = to.AllowableDockings(true); _mouseMove = MoveEndPoint; _movingPointDocking = to.GetConnectorDocking(_moveHelper.EndPoint, true); _otherPointDocking = from.GetConnectorDocking(_moveHelper.StartPoint, false); _otherPointPosition = _moveHelper.StartPoint; _movePointStart = _moveHelper.EndPoint; } else if (_moveHelper.MoveType == MoveType.MoveMiddlePoint) { _mouseMove = MoveMiddlePoint; } else { StopOperation(false); return; } _initialOtherPointDocking = _otherPointDocking; _ui.TriggerSnapshot(); _ui.MouseMove += HandleMouseMove; _ui.MouseUp += HandleMouseUp; _ui.CaptureMouse(); _ui._parent.Canvas.Children.Add(_visualizer); } }