private void LoadImplementedCategories()
{
int i = 0;
Dictionary<Guid, List<COMCLSIDEntry>> dict = m_reg.ImplementedCategories;
SortedDictionary<string, TreeNode> sortedNodes = new SortedDictionary<string, TreeNode>();
foreach (KeyValuePair<Guid, List<COMCLSIDEntry>> pair in dict)
{
TreeNode currNode = new TreeNode(COMUtilities.GetCategoryName(pair.Key));
currNode.Tag = pair.Key;
currNode.ToolTipText = String.Format("CATID: {0}", pair.Key.ToString("B"));
sortedNodes.Add(currNode.Text, currNode);
TreeNode[] clsidNodes = new TreeNode[pair.Value.Count];
COMCLSIDEntry[] entries = pair.Value.ToArray();
Array.Sort(entries);
i = 0;
foreach (COMCLSIDEntry ent in entries)
{
clsidNodes[i] = CreateClsidNode(ent);
i++;
}
currNode.Nodes.AddRange(clsidNodes);
}
TreeNode[] catNodes = new TreeNode[sortedNodes.Count];
i = 0;
foreach (KeyValuePair<string, TreeNode> pair in sortedNodes)
{
catNodes[i++] = pair.Value;
}
treeComRegistry.Nodes.AddRange(catNodes);
Text = "Implemented Categories";
}