Exemple #1
0
        /// <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);
        }
Exemple #2
0
        public static void BreakLine(Point p, int orderInJunction, ObservablePointCollection pointCollection, DiagramController controller)
        {
            JunctionPointCommand pointCommand = CreateBreakLineCommand(p, orderInJunction, pointCollection, controller);

            pointCommand.Execute();
        }
Exemple #3
0
        public static void StraightenLine(int orderInJunction, ObservablePointCollection viewHelperPointCollection, DiagramController controller)
        {
            JunctionPointCommand junctionPointCommand = CreateSraightenLineCommand(orderInJunction, viewHelperPointCollection, controller);

            junctionPointCommand.Execute();
        }