public static void addExtraFileReferencesToSelectedNode(TreeView treeView, string file)
 {
     if (treeView != null)
         treeView.invokeOnThread(
             () =>
             {
                 addExtraFileReferencesToTreeNode(treeView.SelectedNode, file);
             });
 }
		public static void addErrorsListToTreeView(TreeView tvCompilationErrors, StringBuilder sbErrorMessage)
        {
            tvCompilationErrors.invokeOnThread(
             () =>
             {
                 if (sbErrorMessage == null)
                     return;
                 tvCompilationErrors.Nodes.Clear();
                 addErrorsListToTreeView(sbErrorMessage.ToString(), tvCompilationErrors);
             });
        }
 public static void addAssembliesWithUnitTestsToTreeView(List<string> assembliesWithUnitTests, TreeView treeView, bool clearLoadedList)
 {
     treeView.invokeOnThread(
         () =>
         {
             if (clearLoadedList)
                 treeView.Nodes.Clear();
             treeView.Tag = assembliesWithUnitTests;
             foreach (var assembly in assembliesWithUnitTests)
                 treeView.Nodes.Add(assembly);
         });
 }
 private void onSpringMvcMappingsTreeSelect(TreeView treeView)
 {
     treeView.invokeOnThread(
         () =>
         {
             if (treeView.SelectedNode != null && treeView.SelectedNode.Tag != null)
             {
                 if (treeView.SelectedNode.Tag is SpringMvcController)
                     showDetailsForSpringMvcController((SpringMvcController)treeView.SelectedNode.Tag);
             }
         });
 }
 public void onSpringMvcMappingsTreeViewSelect(TreeView treeView, bool openPageWhenControllerIsSelected)
 {
     treeView.invokeOnThread(
         () =>
             {
                 if (treeView.SelectedNode != null && treeView.SelectedNode.Tag != null)
                 {
                     if (treeView.SelectedNode.Tag is SpringMvcController)
                         showDetailsForSpringMvcController((SpringMvcController)treeView.SelectedNode.Tag, openPageWhenControllerIsSelected);
                 }
             });
 }
 private static List<Assembly> getAssembliesToLoad(TreeView tvTreeView)
 {
     return (List<Assembly>)tvTreeView.invokeOnThread(
         () =>
         {
             if (tvTreeView.Nodes.Count ==0)
                 return getDefaultLoadedAssemblies();
             
             var assembliesToLoad = new List<Assembly>();
             foreach(TreeNode treeNode in tvTreeView.Nodes)
                 if (treeNode.Checked && treeNode.Tag !=null && treeNode.Tag is Assembly)
                     assembliesToLoad.Add((Assembly)treeNode.Tag);
             return assembliesToLoad;                
         });
 }
        public static void populateTreeNodeCollectionWithVariables(TreeView targetTreeView, TreeNodeCollection nodes, List<O2MDbgVariable> o2MDbgvariables)
        {
            targetTreeView.invokeOnThread(
                () =>
                {
                    nodes.Clear();
                    foreach (var o2MDbgvariable in o2MDbgvariables)
                    {

                        // var nameLvSubItem = new ListViewItem.ListViewSubItem() 
                        var nodeText =
                        string.Format("{0} = {1}  : {2}", o2MDbgvariable.name, o2MDbgvariable.value,
                                      o2MDbgvariable.type);
                        var newTreeNode = O2Forms.newTreeNode(nodes, nodeText, 0, o2MDbgvariable);
                        if (o2MDbgvariable.complexType)
                            newTreeNode.Nodes.Add("DymmyNode");
                    }
                });
        }
Exemple #8
0
 public static void setToolTipText(TreeView treeView, TreeNode treeNode, string toolTipText)
 {
     treeView.invokeOnThread(
         () => treeNode.ToolTipText = toolTipText);
 }
Exemple #9
0
 public static void expandNodes(TreeView targetTreeView)
 {
     if (targetTreeView != null)
         targetTreeView.invokeOnThread(
             ()=>
                 {
                    foreach(TreeNode node in targetTreeView.Nodes)
                        node.Expand();
                 });                   
 }
Exemple #10
0
        public Thread loadAssesmblyDataIntoTreeView(Assembly aAssemblyToLoad, TreeView tvTargetTreeView,
                                                         Label lbLastMethodExecuted, bool bOnlyShowStaticMethods)
        {
            tvTargetTreeView.Visible = false;
            tvTargetTreeView.Nodes.Clear();
            tvTargetTreeView.Sorted = true;
            int iTypesAdded = 0;

            return O2Thread.mtaThread(() =>
                                   {
                                       try
                                       {
                                           var treeNodesToAdd = new List<TreeNode>();
                                           foreach (Type tType in aAssemblyToLoad.GetTypes())
                                           {
                                               if ((iTypesAdded++) % 500 == 0)
                                                   PublicDI.log.info("{0} types processed", iTypesAdded);
                                               //vars.set_(tType.Name, tType); // set global variable of compiled code
                                               //Callbacks.raiseEvent_ScriptCompiledSuccessfully(tType.Name);                
                                               TreeNode tnType = O2Forms.newTreeNode(tType.Name, tType.Name, 1, tType);
                                               foreach (
                                                   MethodInfo mMethod in
                                                       tType.GetMethods(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.DeclaredOnly |
                                                       ((bOnlyShowStaticMethods) ? BindingFlags.Static : BindingFlags.Static | BindingFlags.Instance)))
                                               {
                                                   if (mMethod.Name == lbLastMethodExecuted.Text)
                                                       lbLastMethodExecuted.Tag = mMethod;
                                                   //TreeNode tnMethod = O2Forms.newTreeNode(mMethod.Name, mMethod.Name, 2, mMethod);
                                                   TreeNode tnMethod =
                                                       O2Forms.newTreeNode(
                                                           new FilteredSignature(mMethod).getReflectorView(),
                                                           mMethod.Name, 2, mMethod);
                                                   tnType.Nodes.Add(tnMethod);
                                               }
                                               if (tnType.Nodes.Count > 0)
                                                   treeNodesToAdd.Add(tnType);
                                                   //O2Forms.addNodeToTreeNodeCollection(tvTargetTreeView, tvTargetTreeView.Nodes, tnType);      // thread safe way to add nodes                                                                                    
                                           }
                                           PublicDI.log.info("{0} types processed , now loading them into treeView", iTypesAdded);                                           
                                           tvTargetTreeView.invokeOnThread(() =>
                                           {
                                               foreach (var treeNode in treeNodesToAdd)
                                                   tvTargetTreeView.Nodes.Add(treeNode);
                                               PublicDI.log.info("All nodes loaded");
                                               if (tvTargetTreeView.Nodes.Count > 0)
                                                   tvTargetTreeView.Nodes[0].Expand();
                                               tvTargetTreeView.Visible = true;
                                           });

                                       }
                                       catch (Exception ex)
                                       {
                                           PublicDI.log.ex(ex, "in loadAssesmblyDataIntoTreeView");
                                       }
                                   });
            
            
            //if (tvTargetTreeView.GetNodeCount(true) < 20)
            //    tvTargetTreeView.ExpandAll();
            //tvTargetTreeView.Visible = true;
        }
 public static void addXLoadedRulesToTreeView(IEnumerable<ILoadedXRule> xLoadedRules, TreeView treeView, bool clearLoadedList)
 {
     treeView.invokeOnThread(
         () =>
         {
             if (clearLoadedList)
                 treeView.Nodes.Clear();
             treeView.Tag = xLoadedRules;
             if (xLoadedRules != null)
                 foreach (var xLoadedRule in xLoadedRules)
                 {
                     var newTreeNode = O2Forms.newTreeNode(treeView.Nodes, xLoadedRule.ToString(), 0,
                                                           xLoadedRule);
                     foreach (var method in xLoadedRule.methods)
                         // only add methods that have no parameters
                         if (DI.reflection.getParametersType(method.Value).Count == 0)
                             O2Forms.newTreeNode(newTreeNode.Nodes, method.Key.Name, 0, method.Value);
                 }
         });
 }
 public static void mapAssembliesIntoXRules(TreeView tvSource_Assemblies, TreeView tvTarget_XLoadedRules)
 {
     tvSource_Assemblies.invokeOnThread(
         () =>
         {
             if (tvSource_Assemblies.Tag != null &&
                 tvSource_Assemblies.Tag is List<string>)
             {
                 var xLoadedRules = mapUnitTestToXRules((List<string>)tvSource_Assemblies.Tag);
                 addXLoadedRulesToTreeView(xLoadedRules, tvTarget_XLoadedRules, true);
             }
         });
 }
Exemple #13
0
        public static TreeNode getTreeNodeAtDroppedOverPoint(TreeView tvTreeView, int iDroppedX, int iDroppedY)
        {
            return tvTreeView.invokeOnThread(
                () =>{
                        Point pPointToString = tvTreeView.PointToScreen(tvTreeView.Location);

                        int iAdjustedX = tvTreeView.Left + iDroppedX - pPointToString.X;
                        int iAdjustedY = tvTreeView.Top + iDroppedY - pPointToString.Y;

                        //PublicDI.log.info("x:{0} y:{1}   - {2}, {3}", x, y, tvCurrentFilters.Left, tvCurrentFilters.Top);
                        return tvTreeView.GetNodeAt(iAdjustedX, iAdjustedY);
                    });
        }
Exemple #14
0
 public static void loadInThread(List<TreeNode> rootNodes,TreeView tvSearchResults)
 {
     tvSearchResults.invokeOnThread(
         () =>
             {
                 tvSearchResults.Visible = false;
                 tvSearchResults.Nodes.Clear();
                 tvSearchResults.Nodes.AddRange(rootNodes.ToArray());
                 tvSearchResults.Visible = true;
             });
 }
Exemple #15
0
 public static TreeView selectTreeNodeAtDroppedOverPoint(TreeView tvTreeView, int iDroppedX, int iDroppedY)
 {
     return tvTreeView.invokeOnThread(
         () =>{
                 TreeNode tnDraggedTarget = getTreeNodeAtDroppedOverPoint(tvTreeView, iDroppedX, iDroppedY);
                 if (tnDraggedTarget != null)
                     tvTreeView.SelectedNode = tnDraggedTarget;
                 return tvTreeView;
             });
 }
Exemple #16
0
 public static void setTreeNodeColor(TreeView treeView, TreeNode treeNode, Color color)
 {
     if (treeNode != null)
         treeView.invokeOnThread(
             () => treeNode.ForeColor = color);
 }
        // map this to a callback
        private void tvControllers_AfterSelect(TreeView tvControllers)
        {
            tvControllers.invokeOnThread(
                () =>
                    {
                        if (tvControllers.SelectedNode != null && tvControllers.SelectedNode.Tag != null)
                        {
                            if (tvControllers.SelectedNode.Tag is SpringMvcController)
                            {
                                showDetailsForSpringMvcController((SpringMvcController) tvControllers.SelectedNode.Tag);                                
                            }
                            else if (tvControllers.SelectedNode.Tag is ICirClass)
                            {
                                var cirClass = (ICirClass) tvControllers.SelectedNode.Tag;
                                cirFunctionDetails.viewCirClass(cirClass);
                                springMvcAutoBindClassesView.showClass(cirClass,springMvcMappings.cirData);
                                showFindingsDetailsForSpringMvcController(cirClass.Signature);
                            }

                            tvControllers.Focus();
                        }
                    });    
        }
        private static Thread populateTreeViewUsingViewMode_byFunctionSignature(IEnumerable<string> lsList,
                                                                       TreeView targetTreeView,
                                                                       int namespaceDepthValue, string textFilter, int iMaxItemsToShow)
        {
            return O2Thread.mtaThread(
                () =>
                {
                    targetTreeView.invokeOnThread(() => targetTreeView.Visible = false);
                    try
                    {
                        var dItemsParsed = new Dictionary<String, FilteredSignature>();
                        foreach (String sItem in lsList)
                        {
                            //if (false == dItemsParsed.ContainsKey(sItem))
                            {
                                if (textFilter == "" || RegEx.findStringInString(sItem, textFilter))
                                    dItemsParsed.Add(sItem, new FilteredSignature(sItem));
                            }
                            //else
                            //    PublicDI.log.error("Something's wrong in showListOnTreeView, lsList had repeated key:{0}", sItem);
                        }
                        var dItemsBrokenByClassDepth = new Dictionary<String, List<FilteredSignature>>();

                        foreach (String sItem in lsList)
                        {

                            if (namespaceDepthValue == -1)
                            {
                                if (textFilter == "" || RegEx.findStringInString(sItem, textFilter))
                                    if (dItemsParsed.ContainsKey(sItem))
                                        // add node ASync and on the correct thread
                                        O2Forms.addNodeToTreeNodeCollection(targetTreeView, targetTreeView.Nodes,
                                                                  O2Forms.newTreeNode(
                                                                      dItemsParsed[sItem].sSignature, sItem,
                                                                      3, dItemsParsed[sItem]), iMaxItemsToShow);
                            }
                            else
                            {
                                if (dItemsParsed.ContainsKey(sItem))
                                {
                                    String sClassNameToShow =
                                        dItemsParsed[sItem].getClassName_Rev(namespaceDepthValue);
                                    if (sClassNameToShow == "")
                                        sClassNameToShow = dItemsParsed[sItem].sFunctionClass;
                                    /*  var sClassNameToConsolidate = (sClassNameToShow == "")
                                                                 ? dItemsParsed[sItem].sFunctionClass
                                                                 : dItemsParsed[sItem].sFunctionClass.Replace(
                                                                       sClassNameToShow, "");*/
                                    if (false == dItemsBrokenByClassDepth.ContainsKey(sClassNameToShow))
                                        dItemsBrokenByClassDepth.Add(sClassNameToShow, new List<FilteredSignature>());
                                    //String sSignatureToShow = sClassNameToConsolidate + "__" + dItemsParsed[sItem].sFunctionNameAndParams;
                                    dItemsBrokenByClassDepth[sClassNameToShow].Add(dItemsParsed[sItem]);
                                }
                            }

                            // add calculated results 
                            //     TreeNodeCollection tncToAddFunction_ = targetTreeView.Nodes;
                        }
                            foreach (String sClass in dItemsBrokenByClassDepth.Keys)
                            {
                                var filteredSignatures = dItemsBrokenByClassDepth[sClass];
                                TreeNode tnNewTreeNode = O2Forms.newTreeNode(sClass, sClass, 0,
                                                                             filteredSignatures);
                                if (filteredSignatures.Count > 0)
                                    tnNewTreeNode.Nodes.Add("DummyNode");
                                // add node ASync and on the correct thread
                                O2Forms.addNodeToTreeNodeCollection(targetTreeView, targetTreeView.Nodes, tnNewTreeNode, iMaxItemsToShow);
                                //tncToAddFunction.Add(tnNewTreeNode);


                            }


                            // remove empty nodes

                            /*       if (false && bRemoveEmptyRootNodes && NamespaceDepthValue > -1)
                    {
                        var tnTreeNodesToRemove = new List<TreeNode>();
                        foreach (TreeNode tnTreeNode in tvTempTreeView.Nodes)
                            if (tnTreeNode.Nodes.Count == 0)
                                tnTreeNodesToRemove.Add(tnTreeNode);
                        foreach (TreeNode tnTreeNode in tnTreeNodesToRemove)
                            tvTempTreeView.Nodes.Remove(tnTreeNode);
                    }*/
                        

                        var numberOfUniqueStrings = lsList.Count();
                        if (numberOfUniqueStrings > iMaxItemsToShow)
                        {
                            var message = string.Format("This view has more items that the current MaxToView. only showing the first {0} out of {1}", iMaxItemsToShow, numberOfUniqueStrings);
                            PublicDI.log.error(message);
                            targetTreeView.add_Node(message);                            
                        }
                    }
                    catch (Exception ex)
                    {
                        PublicDI.log.error("in populateTreeViewUsingViewMode_byFunctionSignature: {0}", ex.Message);
                    }

                    targetTreeView.invokeOnThread(
                        () =>
                        {
                            targetTreeView.Visible = true;
                            // the code below tries to solve a weird GUI problem that happens when there is only one child Node (which is invible until the user clicks on it))                                
                            if (targetTreeView.Nodes.Count == 1)
                            {
                                targetTreeView.Nodes[0].Expand();
                                //                                    targetTreeView.SelectedNode = targetTreeView.Nodes[0];
                                //var dummyNode = targetTreeView.Nodes.Add("dUMMYN node");
                                //targetTreeView.Nodes.Remove(dummyNode);
                            }
                        });
                });
        }