public void BuildBranch(ContainerTreeNode root, bool addFakeNode) { TreeNode current; Library.Common.Composite.IComponent currentComponent; for (int i = 0; i < root.Container.GetChildrenCount(); i++) { currentComponent = root.Container.GetChildAt(i); if (currentComponent is ILeaf) { current = new LeafTreeNode((ILeaf)currentComponent); RefreshImagesIndexes(current, false); current.ContextMenuStrip = leafMenuStrip; } else { current = CreateContainerNode((IComposite)currentComponent, addFakeNode); RefreshImagesIndexes(current, false); current.ContextMenuStrip = containerMenuStrip; } root.Nodes.Add(current); } }
protected virtual void RecurseUpdateNodes(TreeNodeCollection parrNodes) { if (parrNodes == null || parrNodes.Count == 0) { return; } foreach (TreeNode pNode in parrNodes) { ContainerTreeNode pContainerNode = pNode as ContainerTreeNode; if (pContainerNode != null) { // update node pre / post rendering control IDs id if (pContainerNode.PreRenderContainer != null) { pContainerNode.PreRenderContainer.ID = pContainerNode.PreRenderContainer.ID.Insert(0, pNode.ValuePath + s_strNodeValueSeparator); Controls.Add(pContainerNode.PreRenderContainer); } if (pContainerNode.PostRenderContainer != null) { pContainerNode.PostRenderContainer.ID = pContainerNode.PostRenderContainer.ID.Insert(0, pNode.ValuePath + s_strNodeValueSeparator); Controls.Add(pContainerNode.PostRenderContainer); } } // update children RecurseUpdateNodes(pNode.ChildNodes); } }
public void SetTree(IComposite root) { this.root = root; ContainerTreeNode node = CreateContainerNode(root, true); RefreshImagesIndexes(node, false); treeView1.Nodes.Add(node); node.ContextMenuStrip = rootMenuStrip; BuildBranch(new ContainerTreeNode(root), true); }
public TypeMemberChooserUI(Type type, IUIService uiService) { InitializeComponent(); typeTreeNode = new TypeTreeNode(type); ContainerTreeNode propertiesTreeNode = new ContainerTreeNode(MemberChooserResources.PropertiesNode); //add properties to the treeview foreach (PropertyInfo propertyInfo in type.GetProperties()) { if (propertyInfo.CanRead && propertyInfo.GetIndexParameters().Length == 0) { if (!propertiesTreeNode.Nodes.ContainsKey(propertyInfo.Name)) { propertiesTreeNode.Nodes.Add(new PropertyTreeNode(propertyInfo)); } } } //add methods to the treeview ContainerTreeNode methodsTreeNode = new ContainerTreeNode(MemberChooserResources.MethodsNode); foreach (MethodInfo methodInfo in type.GetMethods()) { if (!methodInfo.IsSpecialName && methodInfo.GetParameters().Length == 0 && methodInfo.ReturnType != typeof(void)) { if (!methodsTreeNode.Nodes.ContainsKey(methodInfo.Name)) { methodsTreeNode.Nodes.Add(new MethodTreeNode(methodInfo)); } } } //add methods to the treeview ContainerTreeNode fieldsTreeNode = new ContainerTreeNode(MemberChooserResources.FieldsNode); foreach (FieldInfo fieldInfo in type.GetFields()) { if (!fieldsTreeNode.Nodes.ContainsKey(fieldInfo.Name)) { fieldsTreeNode.Nodes.Add(new FieldTreeNode(fieldInfo)); } } typeTreeNode.Nodes.AddRange(new TreeNode[] { propertiesTreeNode, methodsTreeNode, fieldsTreeNode }); typeTreeNode.ExpandAll(); memberTreeView.Nodes.Add(typeTreeNode); }
public TypeMemberChooserUI(Type type, IUIService uiService) { InitializeComponent(); typeTreeNode = new TypeTreeNode(type); ContainerTreeNode propertiesTreeNode = new ContainerTreeNode(MemberChooserResources.PropertiesNode); //add properties to the treeview foreach (PropertyInfo propertyInfo in type.GetProperties()) { if (propertyInfo.CanRead && propertyInfo.GetIndexParameters().Length == 0) { if (!propertiesTreeNode.Nodes.ContainsKey(propertyInfo.Name)) { propertiesTreeNode.Nodes.Add(new PropertyTreeNode(propertyInfo)); } } } //add methods to the treeview ContainerTreeNode methodsTreeNode = new ContainerTreeNode(MemberChooserResources.MethodsNode); foreach (MethodInfo methodInfo in type.GetMethods()) { if (!methodInfo.IsSpecialName && methodInfo.GetParameters().Length == 0 && methodInfo.ReturnType != typeof(void)) { if (!methodsTreeNode.Nodes.ContainsKey(methodInfo.Name)) { methodsTreeNode.Nodes.Add(new MethodTreeNode(methodInfo)); } } } //add methods to the treeview ContainerTreeNode fieldsTreeNode = new ContainerTreeNode(MemberChooserResources.FieldsNode); foreach (FieldInfo fieldInfo in type.GetFields()) { if (!fieldsTreeNode.Nodes.ContainsKey(fieldInfo.Name)) { fieldsTreeNode.Nodes.Add(new FieldTreeNode(fieldInfo)); } } typeTreeNode.Nodes.AddRange(new TreeNode[] { propertiesTreeNode, methodsTreeNode, fieldsTreeNode }); typeTreeNode.ExpandAll(); memberTreeView.Nodes.Add(typeTreeNode); }
private void containerToolStripMenuItem_Click(object sender, EventArgs e) { ContainerTreeNode node = new ContainerTreeNode(ContainerName); SelectedNode.Expand(); node.Tag = false; RefreshImagesIndexes(node, false); SelectedNode.Nodes.Insert(0, node); node.ContextMenuStrip = containerMenuStrip; SelectedNode = node; newNode = node; node.BeginEdit(); }
private ContainerTreeNode CreateContainerNode(IComposite currentComponent, bool addFake) { ContainerTreeNode current = new ContainerTreeNode(currentComponent); current.Tag = true; if (addFake) { current.Nodes.Add("fake"); } return(current); }
private void SortBranch(ContainerTreeNode root) { Sorter comparer = new Sorter(); ArrayList list = new ArrayList(); foreach (TreeNode child in root.Nodes) { list.Add(child); } list.Sort(comparer); root.Nodes.Clear(); foreach (TreeNode node in list) { root.Nodes.Add(node); } }
public ContainerCreatedEventArgs(ContainerTreeNode composite, IComposite parent) : base(parent) { newComposite = composite; }