Beispiel #1
0
        private void Viewer_GraphLoadingEnded(object sender, EventArgs e)
        {
            ArrowStyle loadedGraphDirection =
                (sender as GViewer).Graph.Edges.Last().Attr.ArrowheadAtTarget;

            this.graph = new Frame.Models.DGraph(this.graph.EdgeArrowStyle);

            /*if (this.graph.EdgeArrowStyle != loadedGraphDirection)
             *      this.graph.EdgeArrowStyle = loadedGraphDirection;*/
            if (loadedGraphDirection == ArrowStyle.None)
            {
                this.undirectedGraphRadiobutton.Checked = true;
            }
            else
            {
                this.directedGraphRadioButton.Checked = true;
            }
            foreach (Node node in (sender as GViewer).Graph.Nodes)
            {
                this.graph.AddVertice(node.Id);
            }
            foreach (Edge edge in (sender as GViewer).Graph.Edges)
            {
                this.graph.AddEdge(edge.Source, edge.Target, edge.LabelText);
            }
            this.viewer.Graph = null;
            this.viewer.NeedToCalculateLayout = true;
            this.viewer.Graph = this.graph;
            this.viewer.NeedToCalculateLayout = false;
            this.ResetZoom();
        }
Beispiel #2
0
        public void InitializeForm()
        {
            this.algorithms = new List <Action>();

            this.nodePickingCancellationTokenSource = new CancellationTokenSource();
            this.nodePickingCancellationToken       = this.nodePickingCancellationTokenSource.Token;

            graph = new Frame.Models.DGraph(ArrowStyle.None);

            viewer = new Microsoft.Msagl.GraphViewerGdi.GViewer();

            viewer.EdgeInsertButtonVisible      = viewer.UndoRedoButtonsVisible =
                viewer.windowZoomButton.Visible = viewer.NavigationVisible = false;

            viewer.LayoutAlgorithmSettingsButtonVisible = true;

            graph.AddVertice("A");
            graph.AddVertice("B");
            graph.AddVertice("C");
            graph.AddVertice("D");

            //AddNodesLocations();

            graph.AddEdge("C", "B", 234);
            graph.AddEdge("A", "C", 53);
            graph.AddEdge("A", "C", 43);

            viewer.CenterToPoint(new Microsoft.Msagl.Core.Geometry.Point(viewer.Width / 2, viewer.Height / 2));
            viewer.Graph = graph;

            viewer.MouseDown               += Viewer_MouseDown;
            viewer.MouseUp                 += Viewer_MouseUp;
            viewer.MouseMove               += Viewer_MouseMove;
            viewer.MouseClick              += Viewer_MouseClick;
            viewer.GraphLoadingEnded       += Viewer_GraphLoadingEnded;
            viewer.GraphChanged            += Viewer_GraphChanged;
            viewer.CustomOpenButtonPressed += Viewer_CustomOpenButtonPressed;
            viewer.KeyDown                 += Viewer_KeyDown;

            //viewer.ObjectUnderMouseCursorChanged += Viewer_ObjectUnderMouseCursorChanged;

            /*viewer.LayoutEditor.RemoveEdgeDraggingDecorations = null;
             * viewer.LayoutEditor.RemoveObjDraggingDecorations = null;*/
            //viewer.AsyncLayout = true;

            this.SuspendLayout();
            viewer.Dock = System.Windows.Forms.DockStyle.Fill;
            this.graphPanel.Controls.Add(viewer);
            this.ResumeLayout();
        }