/// <summary> /// removes the menu /// </summary> /// <param name="menuName"></param> private static void RemoveMenu(string menuName) { IGlobal global = GlobalInterface.Instance; IIActionManager actionManager = global.COREInterface.ActionManager; IIMenuManager menuManager = global.COREInterface.MenuManager; IIMenu customMenu = menuManager.FindMenu(menuName); menuManager.UnRegisterMenu(customMenu); global.ReleaseIMenu(customMenu); customMenu = null; }
private static void MenuPostSaveHandler(IntPtr objPtr, INotifyInfo infoPtr) { var global = GlobalInterface.Instance; var ip = global.COREInterface13; IIMenuManager manager = ip.MenuManager; IIMenu menu = manager.FindMenu(menuName); if (menu == null) { InstallMenu(); } }
/// <summary> /// Installs the menu from scratch /// </summary> /// <returns>1 when successfully installed, or 0 in error state</returns> private static uint InstallMenu() { try { LookupActions(); IGlobal global = GlobalInterface.Instance; IIActionManager actionManager = global.COREInterface.ActionManager; IIMenuManager menuManager = global.COREInterface.MenuManager; // this only needs to be done once global.COREInterface.MenuManager.RegisterMenuBarContext(0x58527952, menuName); IIMenu mainMenuBar = menuManager.MainMenuBar; IIMenu adnSampleMenu = global.IMenu; adnSampleMenu.Title = menuName; menuManager.RegisterMenu(adnSampleMenu, 0); // Launch option { IIMenuItem menuItem1 = global.IMenuItem; menuItem1.ActionItem = m_mouseAction; // uses text from ActionItem.DescriptionText adnSampleMenu.AddItem(menuItem1, -1); IIMenuItem menuItem2 = global.IMenuItem; menuItem2.ActionItem = m_builtinVpConfigAction; menuItem2.Title = "ADN Menu Sample - " + menuItem2.ActionItem.DescriptionText; // just to show you can override the text, too. menuItem2.UseCustomTitle = true; adnSampleMenu.AddItem(menuItem2, -1); } // } IIMenuItem adnMenu = global.IMenuItem; adnMenu.Title = menuName; adnMenu.SubMenu = adnSampleMenu; menuManager.MainMenuBar.AddItem(adnMenu, -1); global.COREInterface.MenuManager.UpdateMenuBar(); } catch { return(0); } return(1); }
private void initMenu(IntPtr objPtr, IntPtr infoPtr) { // Set up menu menuManager = Loader.Core.MenuManager; string mainMenu = "&SDK Test Menu"; //cleanup menu MenuBox = menuManager.FindMenu(mainMenu); if (MenuBox != null) { menuManager.UnRegisterMenu(MenuBox); Loader.Global.ReleaseIMenu(MenuBox); MenuBox = null; } // Main menu MenuBox = Loader.Global.IMenu; MenuBox.Title = mainMenu; menuManager.RegisterMenu(MenuBox, 0); // sub menu for (int i = 0; i < actionTable.Count; i++) { IActionItem action = actionTable[i]; IIMenuItem mItem = Loader.Global.IMenuItem; mItem.Title = action.ButtonText; mItem.ActionItem = action; MenuBox.AddItem(mItem, -1); } //MenuBox -> MenuBoxItem -> MainMenuBar MenuBoxItem = Loader.Global.IMenuItem; MenuBoxItem.SubMenu = MenuBox; menuManager.MainMenuBar.AddItem(MenuBoxItem, -1); Loader.Global.COREInterface.MenuManager.UpdateMenuBar(); }
/// <summary> /// Installs the menu from scratch /// </summary> /// <returns>1 when successfully installed, or 0 in error state</returns> private static uint InstallMenu() { try { LookupActions(); IGlobal global = GlobalInterface.Instance; IIActionManager actionManager = global.COREInterface.ActionManager; IIMenuManager menuManager = global.COREInterface.MenuManager; // this only needs to be done once global.COREInterface.MenuManager.RegisterMenuBarContext(0x58527952, menuName); IIMenu mainMenuBar = menuManager.MainMenuBar; IIMenu adnSampleMenu = global.IMenu; adnSampleMenu.Title = menuName; menuManager.RegisterMenu(adnSampleMenu, 0); // Launch option { IIMenuItem menuItem1 = global.IMenuItem; menuItem1.ActionItem = m_window; // uses text from ActionItem.DescriptionText adnSampleMenu.AddItem(menuItem1, -1); } // } IIMenuItem adnMenu = global.IMenuItem; adnMenu.Title = menuName; adnMenu.SubMenu = adnSampleMenu; menuManager.MainMenuBar.AddItem(adnMenu, -1); global.COREInterface.MenuManager.UpdateMenuBar(); } catch { return(0); } return(1); }
private void InstallMenus() { IIMenuManager menuManager = Loader.Core.MenuManager; // Set up menu menu = menuManager.FindMenu("Babylon"); if (menu != null) { menuManager.UnRegisterMenu(menu); Loader.Global.ReleaseIMenu(menu); menu = null; } // Main menu menu = Loader.Global.IMenu; menu.Title = "Babylon"; menuManager.RegisterMenu(menu, 0); // Launch option menuItemBabylon = Loader.Global.IMenuItem; menuItemBabylon.Title = "&File Exporter"; menuItemBabylon.ActionItem = actionTable[0]; menu.AddItem(menuItemBabylon, -1); menuItem = Loader.Global.IMenuItem; menuItem.SubMenu = menu; menuManager.MainMenuBar.AddItem(menuItem, -1); // Quad var rootQuadMenu = menuManager.GetViewportRightClickMenu(RightClickContext.NonePressed); var quadMenu = rootQuadMenu.GetMenu(0); menu = menuManager.FindMenu("Babylon..."); if (menu != null) { menuManager.UnRegisterMenu(menu); Loader.Global.ReleaseIMenu(menu); menu = null; } menu = Loader.Global.IMenu; menu.Title = "Babylon..."; menuManager.RegisterMenu(menu, 0); menuItemBabylon = Loader.Global.IMenuItem; menuItemBabylon.Title = "Babylon Properties"; menuItemBabylon.ActionItem = actionTable[1]; menu.AddItem(menuItemBabylon, -1); menuItemBabylon = Loader.Global.IMenuItem; menuItemBabylon.Title = "Babylon Animation Groups"; menuItemBabylon.ActionItem = actionTable[2]; menu.AddItem(menuItemBabylon, -1); menuItemBabylon = Loader.Global.IMenuItem; menuItemBabylon.Title = "Babylon Save Animation To Containers"; menuItemBabylon.ActionItem = actionTable[3]; menu.AddItem(menuItemBabylon, -1); menuItemBabylon = Loader.Global.IMenuItem; menuItemBabylon.Title = "Babylon Load Animation From Containers"; menuItemBabylon.ActionItem = actionTable[4]; menu.AddItem(menuItemBabylon, -1); menuItemBabylon = Loader.Global.IMenuItem; menuItemBabylon.Title = "Babylon Toggle Skip Flatten Status"; menuItemBabylon.ActionItem = actionTable[5]; menu.AddItem(menuItemBabylon, -1); menuItemBabylon = Loader.Global.IMenuItem; menuItemBabylon.Title = "Babylon Actions Builder"; menuItemBabylon.ActionItem = actionTable[6]; menu.AddItem(menuItemBabylon, -1); menuItem = Loader.Global.IMenuItem; menuItem.SubMenu = menu; quadMenu.AddItem(menuItem, -1); Loader.Global.COREInterface.MenuManager.UpdateMenuBar(); }
static MenuManager() { mgr = Kernel._Interface.MenuManager; }