예제 #1
0
        //--------------------------------------------------------------------------
        private Rect GetRectOfObject(LinkControlPoint point)
        {
            Rect rectangleBounds = new Rect();

            rectangleBounds.X      = point.CanvasX;
            rectangleBounds.Y      = point.CanvasY;
            rectangleBounds.Width  = point.ActualWidth * Scale;
            rectangleBounds.Height = point.ActualHeight * Scale;

            return(rectangleBounds);
        }
예제 #2
0
        //--------------------------------------------------------------------------
        public void RemoveControlPoint(LinkControlPoint controlPointView)
        {
            var controlPointData = controlPointView.controlPoint;
            var oldIndex         = ControlPoints.IndexOf(controlPointView);

            GraphReferenceItem.UndoRedo.ApplyDoUndo(
                () =>
            {
                GraphReferenceItem.ControlPoints.Remove(controlPointData);
                ControlPoints.Remove(controlPointView);

                RaisePropertyChangedEvent("Link");
            },
                () =>
            {
                GraphReferenceItem.ControlPoints.Insert(oldIndex, controlPointData);
                ControlPoints.Insert(oldIndex, controlPointView);

                RaisePropertyChangedEvent("Link");
            },
                "Remove Control Point");
        }
예제 #3
0
        //--------------------------------------------------------------------------
        public void AddControlPoint(Point pos)
        {
            var controlPointData = new GraphReferenceControlPoint(GraphReferenceItem, pos);
            var controlPointView = new LinkControlPoint(this, controlPointData);

            GraphReferenceItem.UndoRedo.ApplyDoUndo(
                () =>
            {
                GraphReferenceItem.ControlPoints.Add(controlPointData);
                ControlPoints.Add(controlPointView);

                RaisePropertyChangedEvent("Link");
            },
                () =>
            {
                GraphReferenceItem.ControlPoints.Remove(controlPointData);
                ControlPoints.Remove(controlPointView);

                RaisePropertyChangedEvent("Link");
            },
                "Add Control Point");
        }