예제 #1
0
        public void buildGui()
        {
            GraphModeTopPanels   = this.add_1x1("Select root node", "Graph", true, this.width() / 2);
            GraphModeRightPanels = this.GraphModeTopPanels[1].add_1x1(false);

            var GraphTreeViewWithMethods = this.GraphModeTopPanels[0].add_TreeViewWithFilter(AllMethods).sort();

            this.GraphModeRightPanels[0].backColor(Color.White);

            GraphViewer = this.GraphModeRightPanels[0].add_Graph();
            GraphScript = this.GraphModeRightPanels[1].add_Script(false);

            //GraphModeRightPanels[1].parent<SplitContainer>().panel2Collapsed(true);

            GraphTreeViewWithMethods.afterSelect <string>(createAndAddGraphNode);

            GraphOptionsPanel = GraphScript.insert_Left <Forms.Panel>(200);

            // GraphOptionsPanel options & actions

            GraphOptionsPanel.add_Link("Auto Expand All Methods", 0, 0, () => graphAutoExpandAllMethods());

            GraphOptionsPanel.add_Label("Select graph Layout", 20, 0);

            var OptionsLayoutCombox = GraphOptionsPanel.add_ComboBox(35, 0);

            OptionsLayoutCombox.add_Items(new List <string> {
                "Tree",
                "CompoundFDP",
                "LinLog",
                "ISOM",
                "KK",
                "BoundedFR",
                "FR",
                "Circular"
            });
            OptionsLayoutCombox.select_Item(0);
            OptionsLayoutCombox.onSelection(() => GraphViewer.layout(OptionsLayoutCombox.get_Text()));

            GraphOptionsPanel.add_Link("Load All Methods", 60, 0, () => graphAllMethods());

            GraphOptionsPanel.add_CheckBox("Expand Methods Called", 80, 0, (value) => ExpandMethodsCalled          = value).check().autoSize();
            GraphOptionsPanel.add_CheckBox("Expand Method Is CalledBy", 100, 0, (value) => ExpandMethodIsCalledBy  = value).check().autoSize();
            GraphOptionsPanel.add_CheckBox("Clear Graph on Method View", 120, 0, (value) => ClearGraphOnMethodView = value).check().autoSize();
            GraphOptionsPanel.add_CheckBox("use '*' as node Text", 140, 0, (value) => UseStarAsNodeText            = value).autoSize();

            GraphOptionsPanel.add_Link("set note text to: '*' ", 160, 0, () => setNodeTextTo_Star());
            //GraphOptionsPanel.add_Link("set note text to: method name " , 190,0,()=> setNodeTextTo_MethodName());
            //GraphOptionsPanel.add_Link("set note text to: method signature " , 180,0,()=> setNodeTextTo_MethodSignature());
        }