コード例 #1
0
        private UIElement GenerateWpfVisuals()
        {
            _zoomctrl = new ZoomControl();
            ZoomControl.SetViewFinderVisibility(_zoomctrl, Visibility.Visible);
            /* ENABLES WINFORMS HOSTING MODE --- >*/
            var logic = new GXLogicCore <DataVertex, DataEdge, BidirectionalGraph <DataVertex, DataEdge> >();

            _gArea = new FSMGraphArea
            {
                EnableWinFormsHostingMode = true,
                LogicCore        = logic,
                EdgeLabelFactory = new DefaultEdgelabelFactory()
            };
            _gArea.ShowAllEdgesLabels(false);
            logic.Graph = GenerateGraph();
            logic.DefaultLayoutAlgorithm       = LayoutAlgorithmTypeEnum.LinLog;
            logic.DefaultLayoutAlgorithmParams = logic.AlgorithmFactory.CreateLayoutParameters(LayoutAlgorithmTypeEnum.LinLog);
            //((LinLogLayoutParameters)logic.DefaultLayoutAlgorithmParams). = 100;
            logic.DefaultOverlapRemovalAlgorithm       = OverlapRemovalAlgorithmTypeEnum.FSA;
            logic.DefaultOverlapRemovalAlgorithmParams = logic.AlgorithmFactory.CreateOverlapRemovalParameters(OverlapRemovalAlgorithmTypeEnum.FSA);
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).HorizontalGap = 50;
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).VerticalGap   = 50;
            logic.DefaultEdgeRoutingAlgorithm = EdgeRoutingAlgorithmTypeEnum.None;
            logic.AsyncAlgorithmCompute       = false;
            _zoomctrl.Content        = _gArea;
            _gArea.RelayoutFinished += gArea_RelayoutFinished;


            var myResourceDictionary = new ResourceDictionary {
                Source = new Uri("Templates\\template.xaml", UriKind.Relative)
            };

            _zoomctrl.Resources.MergedDictionaries.Add(myResourceDictionary);

            return(_zoomctrl);
        }
コード例 #2
0
        private UIElement GenerateWpfVisuals()
        {
            //Basic Options
            var logic = new GXLogicCore <DataVertex, DataEdge, BidirectionalGraph <DataVertex, DataEdge> >();

            logic.Graph = GenerateGraph();
            logic.DefaultLayoutAlgorithm               = graphLayoutOptions.layoutAlgorithm;
            logic.DefaultLayoutAlgorithmParams         = logic.AlgorithmFactory.CreateLayoutParameters(graphLayoutOptions.layoutAlgorithm);
            logic.EdgeCurvingEnabled                   = true;
            logic.EnableParallelEdges                  = true;
            logic.DefaultOverlapRemovalAlgorithm       = graphLayoutOptions.overlapRemovalAlgorithm;
            logic.DefaultOverlapRemovalAlgorithmParams = logic.AlgorithmFactory.CreateOverlapRemovalParameters(graphLayoutOptions.overlapRemovalAlgorithm);
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).HorizontalGap = graphLayoutOptions.overlapRemovalHorizontalGap;
            ((OverlapRemovalParameters)logic.DefaultOverlapRemovalAlgorithmParams).VerticalGap   = graphLayoutOptions.overlapRemovalVerticalGap;
            logic.DefaultEdgeRoutingAlgorithm = graphLayoutOptions.edgeRoutingAlgorithm;
            logic.AsyncAlgorithmCompute       = false;

            //GraphArea Stuff
            _gArea = new FSMGraphArea
            {
                LogicCore        = logic,
                EdgeLabelFactory = new DefaultEdgelabelFactory()
            };
            _gArea.ShowAllEdgesLabels(graphLayoutOptions.showAllEdgesLabels);

            _gArea.RelayoutFinished += gArea_RelayoutFinished;

            var gAreaContextMenu = new System.Windows.Controls.ContextMenu();
            var mipng            = new System.Windows.Controls.MenuItem();

            mipng.Header = "Save graph as .png";
            mipng.Click += toolStripMenuItemSavePNG_Click;
            var mijpg = new System.Windows.Controls.MenuItem();

            mijpg.Header = "Save graph as .jpeg";
            mijpg.Click += toolStripMenuItemSaveJPG_Click;
            var mitiff = new System.Windows.Controls.MenuItem();

            mitiff.Header = "Save graph as .tiff";
            mitiff.Click += toolStripMenuItemSaveTIFF_Click;
            var mibmp = new System.Windows.Controls.MenuItem();

            mibmp.Header = "Save graph as .bmp";
            mibmp.Click += toolStripMenuItemSaveBMP_Click;
            var misvg = new System.Windows.Controls.MenuItem();

            misvg.Header = "Save graph as .svg";
            misvg.Click += toolStripMenuItemSaveSVG_Click;
            gAreaContextMenu.Items.Add(mipng);
            gAreaContextMenu.Items.Add(mijpg);
            gAreaContextMenu.Items.Add(mitiff);
            gAreaContextMenu.Items.Add(mibmp);
            gAreaContextMenu.Items.Add(misvg);

            //_gArea.ContextMenu = gAreaContextMenu;

            //Zoom control stuff
            _zoomctrl = new ZoomControl();
            ZoomControl.SetViewFinderVisibility(_zoomctrl, Visibility.Visible);
            _zoomctrl.Content     = _gArea;
            _zoomctrl.ContextMenu = gAreaContextMenu;
            var myResourceDictionary = new ResourceDictionary {
                Source = new Uri("Templates\\template.xaml", UriKind.Relative)
            };

            _zoomctrl.Resources.MergedDictionaries.Add(myResourceDictionary);

            return(_zoomctrl);
        }