Ejemplo n.º 1
0
        private void OnDrawingStateChanged(GraphEventArgs e)
        {
            if (!e.Handled)
            {
                if (e.EdgeDrawingState == EdgeDrawingState.idle && Vertex.startPoint != null)
                {
                    //this.EdgeAdded();
                    if (e.CurrentVertex.CurrentlySelectedVertexChanged != null)
                    {
                        e.CurrentVertex.CurrentlySelectedVertexChanged(new GraphEventArgs()
                        {
                            CurrentVertex = null
                        });
                    }
                    edgeDrawing = EdgeDrawingState.idle;
                    //Vertex.startPoint.logicalState = LogicalState.Idle;
                    //Vertex.startPoint = null;
                    e.CurrentVertex.logicalState = LogicalState.Idle;
                    e.CurrentVertex = null;
                    logicalState    = LogicalState.Idle;

                    e.Handled = true;
                }
            }
        }
Ejemplo n.º 2
0
        private void VertexButton_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (edgeDrawing == EdgeDrawingState.idle)
            {
                startPoint   = this;
                edgeDrawing  = EdgeDrawingState.initiated;
                logicalState = Vertex.LogicalState.SelectedForEdgeDrawing;
            }
            else     //if( edgeDrawing == EdgeDrawingState.initiated)
            {
                Edge edge = new Edge(MainWindow.myGraph.IsDirected);
                edge.AddGrid(MainWindow.DrawingGrid);
                //Points p = GetDirection(startPoint, this);
                edge.SetStartEnd(startPoint, this);

                edgeDrawing             = EdgeDrawingState.idle;
                startPoint.logicalState = Vertex.LogicalState.Idle;
                startPoint = null;
            }
            CurrentlySelectedVertexChanged(new GraphEventArgs()
            {
                CurrentVertex = Vertex.startPoint
            });
        }
Ejemplo n.º 3
0
 public static void Reset()
 {
     Vertex.count       = 1;
     Vertex.startPoint  = null;
     Vertex.edgeDrawing = Vertex.EdgeDrawingState.idle;
 }