Beispiel #1
0
 protected virtual void AddFoundDependency(IFigure figure)
 {
     if (figure != null && ExpectedDependency.IsAssignableFrom(figure.GetType()))
     {
         FoundDependencies.Add(figure);
     }
 }
Beispiel #2
0
 protected override void AddFoundDependency(IFigure figure)
 {
     if (figure != null)
     {
         FoundDependencies.Add(figure);
     }
 }
        protected override void Click(Point coordinates)
        {
            var figure = Drawing.Figures.HitTest(coordinates);

            if (figure is IShapeWithInterior)
            {
                FoundDependencies.Clear();
                FoundDependencies.Add(figure);
                RemoveIntermediateFigureIfNecessary();
                RemoveTempPointIfNecessary();
                AddFiguresAndRestart();
                return;
            }

            //var point = Drawing.Figures.HitTest<IPoint>(coordinates);
            if (figure is PointBase && FoundDependencies.Count >= 4 // 4 including the TempPoint
                // (and 3 after TempPoint is removed)
                && FoundDependencies.Contains(figure))
            {
                RemoveIntermediateFigureIfNecessary();
                RemoveTempPointIfNecessary();
                AddFiguresAndRestart();
                return;
            }

            base.Click(coordinates);
        }
Beispiel #4
0
 public void Register(string uniqueName, string originalId, T resource)
 {
     if (resource == null)
     {
         MissingDependencyNames.Add(uniqueName);
     }
     else
     {
         if (!FoundDependencies.ContainsKey(originalId))
         {
             FoundDependencies.Add(originalId, resource);
         }
     }
 }
        public override void MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            var underMouse = Drawing.Figures.HitTest(Coordinates(e), f => f is ILengthProvider && !f.DependsOn(TempPoint));

            if (underMouse != null &&
                Drawing.Figures.HitTest <IPoint>(Coordinates(e)) == null)
            {
                FoundDependencies.Clear();
                FoundDependencies.Add(underMouse);
                RemoveIntermediateFigureIfNecessary();
                RemoveTempPointIfNecessary();
                AddFiguresAndRestart();
                return;
            }
            base.MouseDown(sender, e);
        }