private Node FindOrCreateNamespaceNode(string ns, NodeCollection collection) { var node = FindFirstNodeNamed(ns, collection); if (node == null) { node = new Node { Text = ns, Name = ns }; collection.Add(node); } return node; }
/// <summary> /// Creates a new node for the data item. /// </summary> /// <param name="item">Item to create node for.</param> /// <returns>New instance of the node.</returns> private Node CreateNode(NodeCollection parentCollection, object item, int itemIndex, List<string> fieldNames) { Node node = new Node(); parentCollection.Add(node); SetNodeData(node, item, fieldNames, itemIndex); DataNodeEventArgs eventArgs = new DataNodeEventArgs(node, item); OnDataNodeCreated(eventArgs); return eventArgs.Node; }
private void RenderNodes(KeyCatalog catalog, NodeCollection nodes, int restoreLevel) { restoreLevel--; foreach (KeyCatalog sub in catalog.Subcatalogs.SortedValues) { KeyNode n = new KeyNode(sub.ToString()) { Catalog = sub }; nodes.Add(n); if (restoreLevel < 0) { if (SelectionNodeName == sub.Name) ATree.SelectedNode = n; } if (!sub.IsLeaf) RenderNodes(sub, n.Nodes, restoreLevel); } }
private Node CreateGroupNode(NodeCollection parentCollection, string text) { Node node = new Node(); node.Text = text; node.Style = _GroupNodeStyle; node.Expanded = true; node.Selectable = false; parentCollection.Add(node); DataNodeEventArgs eventArgs = new DataNodeEventArgs(node, null); OnGroupNodeCreated(eventArgs); return node; }
internal void Parse(NodeCollection nodeCollection, ePropertySort propertySort, SuperTooltip helpTooltip) { PropertyDescriptorCollection propertyCollection = GetProperties(); bool hasIgnoredProperties = _IgnoredProperties.Count > 0; bool hasIgnoredCategories = _IgnoredCategories.Count > 0; if (propertySort == ePropertySort.Categorized || propertySort == ePropertySort.CategorizedAlphabetical) { Dictionary<string, Node> table = new Dictionary<string, Node>(); foreach (PropertyDescriptor item in propertyCollection) { if (item == null || hasIgnoredProperties && _IgnoredProperties.Contains(item.Name)) continue; string category = GetCategory(item); PropertySettings settings = _PropertySettings[item, item.Name]; if (settings != null && settings.Category != null) category = settings.Category; if (hasIgnoredCategories && !string.IsNullOrEmpty(category) && _IgnoredCategories.Contains(category)) continue; Node categoryNode = null; if (!table.TryGetValue(category, out categoryNode)) { categoryNode = _PropertyNodeFactory.CreateCategoryNode(category, _Localizer); nodeCollection.Add(categoryNode); table.Add(category, categoryNode); } PropertyNode node = _PropertyNodeFactory.CreatePropertyNode(item, _SelectedObject ?? _SelectedObjects, _Localizer, settings, _SelectedObjects != null); categoryNode.Nodes.Add(node); node.OnLoaded(); if (_HelpType == ePropertyGridHelpType.SuperTooltip && helpTooltip != null) node.SetHelpTooltip(helpTooltip); node.UpdateDisplayedValue(); } if (propertySort == ePropertySort.CategorizedAlphabetical) { foreach (Node item in table.Values) { item.Nodes.Sort(); } nodeCollection.Sort(); } } else { foreach (PropertyDescriptor item in propertyCollection) { if (item == null || _IgnoredProperties.Contains(item.Name)) continue; PropertyNode node = _PropertyNodeFactory.CreatePropertyNode(item, _SelectedObject ?? _SelectedObjects, _Localizer, _PropertySettings, _SelectedObjects != null); nodeCollection.Add(node); node.OnLoaded(); if (_HelpType == ePropertyGridHelpType.SuperTooltip && helpTooltip != null) node.SetHelpTooltip(helpTooltip); node.UpdateDisplayedValue(); } if (propertySort == ePropertySort.Alphabetical) nodeCollection.Sort(); } }