public override void LoadNextLevel(TreeNodeAssemblyView parentNode) { TreeNodeAssemblyType at = parentNode as TreeNodeAssemblyType; parentNode.Nodes.Add(new TreeNodeProperties(at.ExportedType)); parentNode.Nodes.Add(new TreeNodeMethods(at.ExportedType)); parentNode.Nodes.Add(new TreeNodeEvents(at.ExportedType)); }
protected override void OnBeforeExpand(TreeViewCancelEventArgs e) { TreeNodeAssemblyView na = e.Node as TreeNodeAssemblyView; if (na != null) { na.LoadNextLevel(); } }
protected override void OnAfterSelect(TreeViewEventArgs e) { if (TypeSelected != null) { TreeNodeAssemblyView node = e.Node as TreeNodeAssemblyView; if (node != null) { TypeSelected(this, new EventArgObjectSelected(node.Data)); } } }
public override void LoadNextLevel(TreeNodeAssemblyView parentNode) { TreeNodeAssembly tna = parentNode as TreeNodeAssembly; SortedList <string, TreeNode> nodes = new SortedList <string, TreeNode>(); Assembly a = tna.LoadedAssembly; Type[] tps = a.GetExportedTypes(); for (int i = 0; i < tps.Length; i++) { bool b = tps[i].IsPublic; if (b) { TreeNodeAssemblyType n; if (tps[i].IsEnum) { n = new TreeNodeEnumType(tps[i]); } else { n = new TreeNodeAssemblyType(tps[i]); } if (nodes.ContainsKey(n.Text)) { uint mx = 2; while (true) { string nm = string.Format(CultureInfo.InvariantCulture, "{0}_{1}", n, Text, mx.ToString("x", CultureInfo.InvariantCulture)); if (nodes.ContainsKey(nm)) { mx++; } else { nodes.Add(nm, n); break; } } } else { nodes.Add(n.Text, n); } } } IEnumerator <KeyValuePair <string, TreeNode> > ie = nodes.GetEnumerator(); while (ie.MoveNext()) { parentNode.Nodes.Add(ie.Current.Value); } }
public override void LoadNextLevel(TreeNodeAssemblyView parentNode) { TreeNodeAssemblyType at = parentNode as TreeNodeAssemblyType; Type t = at.ExportedType; EventInfo[] pifs = t.GetEvents(); for (int i = 0; i < pifs.Length; i++) { if (!pifs[i].IsSpecialName) { parentNode.Nodes.Add(new TreeNodeEvent(pifs[i])); } } }
public override void LoadNextLevel(TreeNodeAssemblyView parentNode) { TreeNodeAssemblyType at = parentNode as TreeNodeAssemblyType; Type t = at.ExportedType; Array ss = Enum.GetValues(t); if (ss != null) { for (int i = 0; i < ss.Length; i++) { parentNode.Nodes.Add(new TreeNodeEnumValue(t, ss.GetValue(i))); } } }
public abstract void LoadNextLevel(TreeNodeAssemblyView parentNode);