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); } } }
private void PropertyFilenameWizardPage_CloseFromNext(object sender, MOG_ControlsLibrary.Utils.PageEventArgs e) { if (PropertyFilenameTextBox.Text.Length > 0) { string PropertyMenuFullName = MOG_Tokens.GetFormattedString(PropertyFilenameTextBox.Text, MOG_Tokens.GetProjectTokenSeeds(MOG_ControllerProject.GetProject())); string LocatedPropertyMenu = MOG_ControllerSystem.LocateTool(PropertyMenuFullName); if (LocatedPropertyMenu.Length == 0) { // Make sure we got a filename with a full path, if we didn't it is probably a relational path if (!Path.IsPathRooted(PropertyMenuFullName)) { PropertyMenuFullName = MOG_ControllerProject.GetProject().GetProjectToolsPath() + "\\Property.Menus\\" + PropertyMenuFullName; } } else { PropertyMenuFullName = LocatedPropertyMenu; } // Create or open the existing properties MOG_PropertiesIni ripMenu = new MOG_PropertiesIni(PropertyMenuFullName); // Reset our menu ripMenu.Empty(); // Add the properties ripMenu.PutSection("Property.Menu"); SaveOutMenus(ripMenu, PropertyContextMenuTreeView.Nodes[0].Nodes); // Save the properties ripMenu.Save(); // Save our new propertyMenu filename mPropertyMenu = PropertyMenuFullName; } // Skip to the end e.Page = PropertyEndWizardPage; }