// populate the Import Functions tab given the list of Imports private void PopulateImports(List <ImportFunctionObject> imports) { treeViewImports.Nodes.Clear(); if (imports.Count == 0) { treeViewImports.Hide(); labelNoImports.Text = "No Imports"; labelNoImports.Show(); } else { treeViewImports.Show(); labelNoImports.Hide(); Dictionary <string, List <ImportFunctionObject> > ImportsDependecyMap = new Dictionary <string, List <ImportFunctionObject> >(); foreach (ImportFunctionObject import in imports) { String nameOfDependecy = import.Dependency; List <ImportFunctionObject> ImportsList; if (ImportsDependecyMap.ContainsKey(nameOfDependecy)) { ImportsList = ImportsDependecyMap[nameOfDependecy]; } else { ImportsList = new List <ImportFunctionObject>(); ImportsDependecyMap[nameOfDependecy] = ImportsList; } ImportsList.Add(import); } foreach (string Dependecy in ImportsDependecyMap.Keys) { TreeNode treeNode = treeViewImports.Nodes.Add(Dependecy); List <ImportFunctionObject> ImportsList = ImportsDependecyMap[Dependecy]; foreach (ImportFunctionObject import in ImportsList) { TreeNode ChildNode = treeNode.Nodes.Add(import.Function); ChildNode.Tag = import; } } /* foreach (ImportFunctionObject import in imports) * { * // string[] row = { import.function, import.baseAddress.ToString() }; * TreeNode treeNode = treeViewImports.Nodes.Add(import.function); * treeNode.Tag = import; * treeNode.Nodes.Add(import.dependency); * } */ } }
public void PopulateImports(List <ImportFunctionObject> imports) { treeViewImports.Items.Clear(); if (imports.Count == 0) { treeViewImports.Visibility = Visibility.Hidden; // labelNoImports.Text = "No Imports"; // labelNoImports.Show(); } else { treeViewImports.Visibility = Visibility.Visible; // labelNoImports.Hide(); Dictionary <string, List <ImportFunctionObject> > ImportsDependecyMap = new Dictionary <string, List <ImportFunctionObject> >(); foreach (ImportFunctionObject import in imports) { String nameOfDependecy = import.Dependency; List <ImportFunctionObject> ImportsList; if (ImportsDependecyMap.ContainsKey(nameOfDependecy)) { ImportsList = ImportsDependecyMap[nameOfDependecy]; } else { ImportsList = new List <ImportFunctionObject>(); ImportsDependecyMap[nameOfDependecy] = ImportsList; } ImportsList.Add(import); } foreach (string Dependecy in ImportsDependecyMap.Keys) { TreeViewItem treeViewItem = CreateImportsTreeLibrary(Dependecy); treeViewImports.Items.Add(treeViewItem); List <ImportFunctionObject> ImportsList = ImportsDependecyMap[Dependecy]; foreach (ImportFunctionObject import in ImportsList) { TreeViewItem childTreeViewItem = CreateImportsTreeFunction(import.Function); treeViewItem.Items.Add(childTreeViewItem); childTreeViewItem.Tag = import; } } } }