/// <summary> /// gets the menu items from the addin /// </summary> /// <param name="location">the location in EA</param> /// <param name="addinMenu">the menu where to add the items</param> /// <param name="menuName">the name of the menu</param> internal static void SetMenu(string location, ToolStripMenuItem addinMenu,string menuName,EAAddinFramework.EAAddinBase addin) { object menuItemsObject = addin.EA_GetMenuItems(eaRepository, location, menuName); string[] menuItems = null; // check if menuItemsObject is an array of strings if (menuItemsObject is string[]) { menuItems = (string[])menuItemsObject; } else //must be a string then { menuItems = new string[1]; menuItems[0] = (string)menuItemsObject; } foreach (string menuItem in menuItems) { if (menuItem != null) { // if the menuItem starts with a "-" then it has submenu items if (menuItem.StartsWith("-")) { // remove the "-"; string menuItemName = menuItem; menuItemName = menuItem.Substring(1); // add the menu item addinMenu.DropDownItems.Add(menuItemName); //get the newly added item ToolStripMenuItem newMenuItem = (ToolStripMenuItem)addinMenu.DropDownItems[addinMenu.DropDownItems.Count - 1]; //add the eventhandler for its subItems newMenuItem.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(form.addInsToolStripMenuItem_DropDownItemClicked); // add its submenu items SetMenu(location, newMenuItem, menuItem,addin); } // else it is a leaf menu item else { // add the menu item addinMenu.DropDownItems.Add(menuItem); // get the newly added item ToolStripMenuItem newMenuItem = (ToolStripMenuItem)addinMenu.DropDownItems[addinMenu.DropDownItems.Count - 1]; //set its state, only leaf items get their state set. bool enabledValue = true; bool checkedValue = false; addin.EA_GetMenuState(eaRepository, location, newMenuItem.OwnerItem.Text, newMenuItem.Text, ref enabledValue, ref checkedValue); newMenuItem.Enabled = enabledValue; newMenuItem.Checked = checkedValue; } } } }
/// <summary> /// Constructor ScriptFunction with description /// </summary> /// <param name="owner">Script</param> /// <param name="procedure">Function</param> /// <param name="description">Description</param> public ScriptFunction(EAAddinFramework.Utils.Script owner, Procedure procedure, string description) { Owner = owner; Procedure = procedure; Description = description; }
/// <summary> /// Constructor ScriptFunction /// </summary> /// <param name="owner">Script</param> /// <param name="procedure">Function</param> public ScriptFunction(EAAddinFramework.Utils.Script owner, Procedure procedure) { Owner = owner; Procedure = procedure; }