예제 #1
0
 public void loadGraphIntoViewer(Graph gGraph)
 {
     try
     {
         fgdGraphData = new O2Graph.GraphData(gGraph);
         Int32.TryParse(tbMaxToPlot.Text, out fgdGraphData.iMaxToPlot);
         if (applyFiltersToGraph(fgdGraphData.gGraph, true) && cbDrawGleeGraph.Checked)
             gvSmartTrace.Graph = fgdGraphData.gGraph;
     }
     catch (Exception ex)
     {
         DI.log.error("in loadGraphIntoViewer: {0}", ex.Message);
     }
 }
예제 #2
0
        public bool applyFiltersToGraph(Graph gGraph, bool bVerbose)
        {
            try
            {
                int iNamespaceDepth = Int32.Parse(cBoxShowFunctionClass_Depth.Text);
                O2Graph.applyStylesAndFiltersToGraph(
                    gGraph,
                    (Shape) cbGlee_NodeShape.SelectedItem,
                    fadAssessmentDataOunceV6,
                    cbLDDB_ShowInsideNode_MethodName.Checked,
                    cbGLEE_ShowParameters.Checked,
                    cbGLEE_ShowReturnClass.Checked,
                    cbGLEE_ShowNamespace.Checked,
                    iNamespaceDepth,
                    cbLDDB_ShowInsideNode_Context.Checked,
                    cbLDDB_ShowInsideNode_SourceCode.Checked,
                    cbOnlyShowDataFor_SourcesAndSinks.Checked);


                if (cbOnlyShowDataFor_Class.Checked)
                    O2Graph.onlyShowNodesContainingClass(gGraph, tbOnlyShowDataFor_Class.Text);

                fgdGraphData = new O2Graph.GraphData(gGraph);
                //tbMaxToPlot.Text = fgdGraphData.iMaxToPlot.ToString();
                Int32.TryParse(tbMaxToPlot.Text, out fgdGraphData.iMaxToPlot);
                fgdGraphData.iItemsToRemove = Int32.Parse(cbConsolidateDepth.Text);
                // -1 means all (used to debug graph building

                if (cbOnlyShowDataFor_LostSources.Checked)
                    O2Graph.makeLostSourcesVisible(fgdGraphData, cbGLEE_ShowParameters.Checked,
                                                   cbGLEE_ShowReturnClass.Checked, cbGLEE_ShowNamespace.Checked,
                                                   iNamespaceDepth);
                if (cbOnlyShowDataFor_ConsolidateNonVisibleNodes.Checked)
                    O2Graph.consolidateNonVisibleNodes(fgdGraphData, bVerbose);
                if (bVerbose)
                    DI.log.info("New Graph object Created: : Nodes={0}, Edges={1}", fgdGraphData.gGraph.NodeCount,
                                fgdGraphData.gGraph.EdgeCount);
                if (cbVisibleControls_GraphStats.Checked)
                    gdmcrGraphDataMappedToCustomRules.showO2GraphData(fgdGraphData);
                if (fgdGraphData.gGraph.NodeCount + fgdGraphData.gGraph.EdgeCount > fgdGraphData.iMaxToPlot)
                {
                    DI.log.error("To many nodes and edges to view in Glee : Nodes={0}, Edges={1}, MaxToPlot={2}",
                                 fgdGraphData.gGraph.NodeCount, fgdGraphData.gGraph.EdgeCount,
                                 fgdGraphData.iMaxToPlot);
                    // clearGraph();
                    // fgdGraphData.gGraph = new Graph("To many nodes");
                    var nAlertNode =
                        (Node)
                        fgdGraphData.gGraph.AddNode(
                            "To many nodes to view - \n NOT ALL NODES WHERE SHOWN \n (add filters to reduce working set)");
                    nAlertNode.NodeAttribute.Fillcolor = Color.Red;
                    fgdGraphData.bShouldGraphBeShown = false;
                }
            }
            catch (Exception ex)
            {
                DI.log.error("in applyFiltersToGraph: {0}", ex.Message);
            }
            return fgdGraphData.bShouldGraphBeShown;
        }