MCPcopy Create free account
hub / github.com/GarageGames/Torque3D / addSubmenuItem

Method addSubmenuItem

Engine/source/gui/editor/guiMenuBar.cpp:1018–1054  ·  view source on GitHub ↗

Add a menuitem to the given submenu

Source from the content-addressed store, hash-verified

1016
1017// Add a menuitem to the given submenu
1018void GuiMenuBar::addSubmenuItem(Menu *menu, MenuItem *submenu, const char *text, U32 id, const char *accelerator, S32 checkGroup)
1019{
1020 // Check that the given menu item supports a submenu
1021 if(submenu && !submenu->isSubmenu)
1022 {
1023 Con::errorf("GuiMenuBar::addSubmenuItem: Attempting to add menuitem '%s' to an invalid submenu",text);
1024 return;
1025 }
1026
1027 // allocate the new menu item
1028 MenuItem *newMenuItem = new MenuItem;
1029 newMenuItem->text = dStrdup(text);
1030 if(accelerator[0])
1031 newMenuItem->accelerator = dStrdup(accelerator);
1032 else
1033 newMenuItem->accelerator = NULL;
1034 newMenuItem->id = id;
1035 newMenuItem->checkGroup = checkGroup;
1036 newMenuItem->nextMenuItem = NULL;
1037 newMenuItem->acceleratorIndex = 0;
1038 newMenuItem->enabled = (dStrlen(text) > 1 || text[0] != '-');
1039 newMenuItem->visible = true;
1040 newMenuItem->bitmapIndex = -1;
1041
1042 // Default to not having a submenu
1043 newMenuItem->isSubmenu = false;
1044 newMenuItem->submenu = NULL;
1045
1046 // Point back to the submenu's menu
1047 newMenuItem->submenuParentMenu = menu;
1048
1049 // link it into the menu's menu item list
1050 MenuItem **walk = &submenu->submenu->firstMenuItem;
1051 while(*walk)
1052 walk = &(*walk)->nextMenuItem;
1053 *walk = newMenuItem;
1054}
1055
1056void GuiMenuBar::addSubmenuItem(Menu *menu, MenuItem *submenu, MenuItem *newMenuItem )
1057{

Callers 1

guiMenuBar.cppFile · 0.80

Calls 2

errorfFunction · 0.85
dStrlenFunction · 0.50

Tested by

no test coverage detected