/// <summary> /// Finalizes dragging of a line segment. /// </summary> /// <param name="e">The <see cref="T:System.Windows.Input.MouseButtonEventArgs"/> that contains the event data. The event data reports that the mouse button was released.</param> /// <seealso cref="AutoPosModeOnly"/> protected override void OnMouseUp(MouseButtonEventArgs e) { if (segmentDragging) { segmentDragging = false; JunctionPointCommand.PointMoveDataDictionary pointMoveDataCollection = new JunctionPointCommand.PointMoveDataDictionary(); foreach (KeyValuePair <DragThumb, rPoint> pair in startPositions) { JunctionPoint junctionPoint = (JunctionPoint)pair.Key; if (junctionPoint.Position == pair.Value) { continue; } JunctionPointCommand.PointMoveData data = new JunctionPointCommand.PointMoveData { Index = junctionPoint.OrderInJunction, OldPosition = pair.Value, NewPosition = new rPoint(junctionPoint.Position) { tag = junctionPoint.Placement }, }; if (!pointMoveDataCollection.ContainsKey(viewHelperPointsCollection)) { pointMoveDataCollection[viewHelperPointsCollection] = new List <JunctionPointCommand.PointMoveData>(); } pointMoveDataCollection[viewHelperPointsCollection].Add(data); } if (pointMoveDataCollection.Count > 0) { JunctionPointCommand junctionPointCommand = (JunctionPointCommand)JunctionPointCommandFactory.Factory().Create(XCaseCanvas.Controller); junctionPointCommand.Action = JunctionPointCommand.EJunctionPointAction.MovePoints; junctionPointCommand.PointMoveDataCollection = pointMoveDataCollection; junctionPointCommand.Description = CommandDescription.MOVE_JUNCTION_SEGMENT; junctionPointCommand.Execute(); } } this.ReleaseMouseCapture(); base.OnMouseUp(e); }
public static void BreakLine(Point p, int orderInJunction, ObservablePointCollection pointCollection, DiagramController controller) { JunctionPointCommand pointCommand = CreateBreakLineCommand(p, orderInJunction, pointCollection, controller); pointCommand.Execute(); }
public static void StraightenLine(int orderInJunction, ObservablePointCollection viewHelperPointCollection, DiagramController controller) { JunctionPointCommand junctionPointCommand = CreateSraightenLineCommand(orderInJunction, viewHelperPointCollection, controller); junctionPointCommand.Execute(); }