예제 #1
0
        public static PrePoint CreatePrePoint(Drawing drawing, Point coordinates)
        {
            PrePoint result = new PrePoint()
            {
                Drawing = drawing
            };

            result.MoveTo(coordinates);
            return(result);
        }
예제 #2
0
        protected override void UnExecuteCore()
        {
            // 09-28-2010 Scott
            // handle pre snap motion line
            if (Figure is PBLine)
            {
                PBLine line = Figure as PBLine;

                if (line.Dependencies != null && line.Dependencies.Count() == 2)
                {
                    IFigure figureEnd = line.Dependencies.ElementAt(1);

                    IFigure figureStart = line.Dependencies.ElementAt(0);

                    if (figureEnd is PrePoint)
                    {
                        PrePoint pp = figureEnd as PrePoint;

                        if (pp.Dependents.Count() == 2)
                        {
                            IFigure lineEnd = pp.Dependents.ElementAt(1);

                            List <IFigure> dependencies = new List <IFigure>();
                            dependencies.Add(figureStart);
                            dependencies.Add(lineEnd.Dependencies.ElementAt(1));
                            lineEnd.Dependencies = dependencies;

                            if (figureStart.Dependents.Count() > 1)
                            {
                                figureStart.Dependents.RemoveAt(1);
                            }
                            figureStart.Dependents.Add(lineEnd);
                        }
                    }
                }
            }

            Drawing.Figures.Remove(Figure);
        }