private void PropertyPropertyGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) { // Check if the 'MenuText' just changed? if (e.ChangedItem.Label == "MenuText") { // Check if this is a property? PropertyProperty prop = PropertyPropertyGrid.SelectedObject as PropertyProperty; if (prop != null) { // Make sure this is a valid unique name string validName = GenerateUniqueName(prop.MenuText, prop.node.TreeView); // Update the tree node prop.MenuText = validName; prop.node.Text = validName; prop.node.Name = validName; } else { // Check if this is a menu? PropertyMenu menu = PropertyPropertyGrid.SelectedObject as PropertyMenu; if (menu != null) { // Make sure this is a valid unique name string validName = GenerateUniqueName(menu.MenuText, menu.node.TreeView); // Update the tree node menu.MenuText = validName; menu.node.Text = validName; menu.node.Name = validName; } } } }
private TreeNode CreatePropertyMenuNode(TreeNode root, string menuName) { PropertyMenu menu = new PropertyMenu(menuName); TreeNode node = new TreeNode(menu.MenuText); menu.node = node; node.ImageIndex = (int)TreeImages.FOLDER_IMAGE; node.SelectedImageIndex = (int)TreeImages.FOLDER_IMAGE; node.Name = menu.MenuText; node.Tag = menu; AddNode(root, node); return(node); }
private void SaveOutMenus(MOG_PropertiesIni ripMenu, TreeNodeCollection nodes) { foreach (TreeNode node in nodes) { PropertyProperty property = node.Tag as PropertyProperty; if (property != null) { if (node.Parent.Text == "Root") { ripMenu.PutString("Property.Menu", "{MenuItem}" + property.MenuText, "[" + property.PropertyCategory + "]" + "{" + property.PropertySubCategory + "}" + property.PropertyName + "=" + property.PropertyValue); } else { ripMenu.PutString(node.Parent.Text, "{MenuItem}" + property.MenuText, "[" + property.PropertyCategory + "]" + "{" + property.PropertySubCategory + "}" + property.PropertyName + "=" + property.PropertyValue); } } else { PropertyMenu menu = node.Tag as PropertyMenu; if (menu != null) { if (node.Parent.Text == "Root") { ripMenu.PutString("Property.Menu", "{MenuItem}" + menu.MenuText, menu.MenuText); } else { ripMenu.PutString(node.Parent.Text, "{MenuItem}" + menu.MenuText, menu.MenuText); } // Menus ALWAYS require a section...even if it is blank! ripMenu.PutSection(menu.MenuText); } } if (node.Nodes.Count > 0) { SaveOutMenus(ripMenu, node.Nodes); } } }