Ejemplo n.º 1
0
        public override void Visit(NConnector component)
        {
            IsHit = false;
            if (component.Contains(point))
            {
                if (component.PathNodes.Count > 4)
                {
                    foreach (NNodeX x in component.PathNodes.Take(4))
                    {
                        if (x.Point.Equals(point))
                        {
                            return;
                        }
                    }
                    ;

                    foreach (NNodeX x in component.PathNodes.Skip(component.PathNodes.Count - 4))
                    {
                        if (x.Point.Equals(point))
                        {
                            return;
                        }
                    }
                    ;
                    IsHit = true;
                }
            }
        }
Ejemplo n.º 2
0
        public override void Visit(NConnector component)
        {
            resolver.Connector  = component;
            resolver.StartPoint = component.Model.StartPoint;
            resolver.EndPoint   = component.Model.EndPoint;

            resolver.RebuildGraph();
            resolver.Resolve();
        }
Ejemplo n.º 3
0
        public override void Visit(NConnector component)
        {
            NVisitor visitor = new NStartConnectVisitor(component);

            NComponent box = components.Find(x => x.GetFlatModel().ID == component.Model.StartBoxID);

            if (box != null)
            {
                box.Accept(visitor);
            }

            visitor = new NEndConnectVisitor(component);
            box     = components.Find(x => x.GetFlatModel().ID == component.Model.EndBoxID);
            if (box != null)
            {
                box.Accept(visitor);
            }
        }
Ejemplo n.º 4
0
        public override void Visit(NConnector connector)
        {
            connector.Reset();

            if (BoxComponent == connector.StartBox)
            {
                connector.Model.StartPoint.Set(BoxComponent.ConnectPoints[connector.Model.StartBoxIndex]);
            }
            else if (BoxComponent == connector.EndBox)
            {
                connector.Model.EndPoint.Set(BoxComponent.ConnectPoints[connector.Model.EndBoxIndex]);
            }

            PathResolver.Connector  = connector;
            PathResolver.StartPoint = connector.Model.StartPoint;
            PathResolver.EndPoint   = connector.Model.EndPoint;
            PathResolver.RebuildGraph();
            PathResolver.Resolve();
        }
Ejemplo n.º 5
0
        void Connect(NConnector component, NPoint selectedPoint, bool connect)
        {
            connectVisitor.Connector     = component;
            connectVisitor.SelectedPoint = selectedPoint;
            connectVisitor.Connect       = connect;

            if (component.Model.StartPoint == selectedPoint)
            {
                component.StartBox         = null;
                component.Model.StartBoxID = null;
            }
            else
            {
                component.EndBox         = null;
                component.Model.EndBoxID = null;
            }

            this.components.ForEach(x =>
            {
                x.Accept(connectVisitor);
            });
        }
Ejemplo n.º 6
0
 void Connector_VertexMoved(NConnector component, NPoint selectedPoint)
 {
     Connect(component, selectedPoint, true);
 }
Ejemplo n.º 7
0
 void Connector_VertexMoving(NConnector component, NPoint selectedPoint)
 {
     Connect(component, selectedPoint, false);
 }
Ejemplo n.º 8
0
 public override void Visit(NConnector component)
 {
     component.VertexMoved  += new Action <NConnector, NPoint>(Connector_VertexMoved);
     component.VertexMoving += new Action <NConnector, NPoint>(Connector_VertexMoving);
 }
Ejemplo n.º 9
0
 public void Visit(NConnector component)
 {
     component.View = PostProcessView(new NConnectorView(component));
 }
Ejemplo n.º 10
0
 public NConnectorView(NConnector connector)
     : base(connector)
 {
     this.connector = connector;
 }
Ejemplo n.º 11
0
 public override void Visit(NConnector component)
 {
 }
Ejemplo n.º 12
0
 public abstract void Visit(NConnector component);
Ejemplo n.º 13
0
 public NEndConnectVisitor(NConnector connector)
 {
     this.connector = connector;
 }
Ejemplo n.º 14
0
 public NStartConnectVisitor(NConnector connector)
 {
     this.connector = connector;
 }