//! Insert a menu item at specified position. ContextMenuItem* ContextMenu::insertItem(unsigned int idx, const std::string& text, int commandId, bool enabled, bool hasSubMenu, bool checked, bool autoChecking) { ContextMenuItem* newItem = new ContextMenuItem( this, text ); newItem->setEnabled( enabled ); newItem->setSubElement( true ); newItem->setChecked( checked ); newItem->setAutoChecking( autoChecking ); newItem->setText( text ); newItem->setFlag( ContextMenuItem::drawSubmenuSprite ); newItem->setIsSeparator( text.empty() ); newItem->setCommandId( commandId ); sendChildToBack( newItem ); if (hasSubMenu) { ContextMenu* subMenu = newItem->addSubMenu( commandId ); subMenu->setVisible( false ); } if ( idx < _d->items.size() ) { _d->items.insert( _d->items.begin() + idx, newItem ); } else { _d->items.push_back( newItem ); } return newItem; }
ContextMenuItem* MainMenu::addItem(const std::string& text, int commandId, bool enabled, bool hasSubMenu, bool checked, bool autoChecking) { ContextMenuItem* ret = ContextMenu::addItem( text, commandId, enabled, hasSubMenu, checked, autoChecking ); if( ret && ret->getSubMenu() ) { //ret->getSubMenu()->setStyle( getStyle().getSubStyle( NES_SUBMENU ).getName() ); ret->setFlag( ContextMenuItem::drawSubmenuSprite, false ); ret->setBackgroundMode( Label::bgNone ); } //refItem.alignEnabled = true; //refItem.horizontal = EGUIA_CENTER; //refItem.vertical = EGUIA_CENTER; return ret; }