void vis_settings_panel_impl::init_menu_bar(CEGUI::Menubar* menuBar) { CEGUI::String skin = menuBar->getType(); skin = skin.substr(0, skin.find_first_of('/')); CEGUI::String menuItemMapping = skin + "/MenuItem"; CEGUI::String popupMenuMapping = skin + "/PopupMenu"; CEGUI::WindowManager& windowManager = CEGUI::WindowManager::getSingleton(); CEGUI::MenuItem* fileMenuItem = static_cast<CEGUI::MenuItem*>(windowManager.createWindow(menuItemMapping, "FileMenuItem")); fileMenuItem->setText("File"); menuBar->addChild(fileMenuItem); CEGUI::PopupMenu* filePopupMenu = static_cast<CEGUI::PopupMenu*>(windowManager.createWindow(popupMenuMapping, "FilePopupMenu")); fileMenuItem->addChild(filePopupMenu); CEGUI::MenuItem* menuItem; menuItem = static_cast<CEGUI::MenuItem*>(windowManager.createWindow(menuItemMapping, "FileTestMenuItem1")); menuItem->setText("Open"); filePopupMenu->addItem(menuItem); menuItem = static_cast<CEGUI::MenuItem*>(windowManager.createWindow(menuItemMapping, "FileTestMenuItem2")); menuItem->setText("Save"); filePopupMenu->addItem(menuItem); menuItem = static_cast<CEGUI::MenuItem*>(windowManager.createWindow(menuItemMapping, "FileTestMenuItem3")); menuItem->setText("Exit"); filePopupMenu->addItem(menuItem); menuItem->subscribeEvent(MenuItem::EventClicked, Event::Subscriber([=](const CEGUI::EventArgs& args)->bool { exit_app_signal_(); return true; }) ); CEGUI::MenuItem* viewMenuItem = static_cast<CEGUI::MenuItem*>(windowManager.createWindow(menuItemMapping, "ViewMenuItem")); viewMenuItem->setText("View"); menuBar->addChild(viewMenuItem); CEGUI::PopupMenu* viewPopupMenu = static_cast<CEGUI::PopupMenu*>(windowManager.createWindow(popupMenuMapping, "ViewPopupMenu")); viewMenuItem->addChild(viewPopupMenu); menuItem = static_cast<CEGUI::MenuItem*>(windowManager.createWindow(menuItemMapping, "ViewTestMenuItem1")); menuItem->setText("Lights"); viewPopupMenu->addItem(menuItem); }
void WidgetDemo::initMenubar(CEGUI::Menubar* menuBar) { CEGUI::String skin = menuBar->getType(); skin = skin.substr(0, skin.find_first_of('/')); CEGUI::String menuItemMapping = skin + "/MenuItem"; CEGUI::String popupMenuMapping = skin + "/PopupMenu"; CEGUI::WindowManager& windowManager = CEGUI::WindowManager::getSingleton(); CEGUI::MenuItem* fileMenuItem = static_cast<CEGUI::MenuItem*>(windowManager.createWindow(menuItemMapping, "FileMenuItem")); fileMenuItem->setText("File"); menuBar->addChild(fileMenuItem); CEGUI::PopupMenu* filePopupMenu = static_cast<CEGUI::PopupMenu*>(windowManager.createWindow(popupMenuMapping, "FilePopupMenu")); fileMenuItem->addChild(filePopupMenu); CEGUI::MenuItem* menuItem; menuItem = static_cast<CEGUI::MenuItem*>(windowManager.createWindow(menuItemMapping, "FileTestMenuItem1")); menuItem->setText("Open"); filePopupMenu->addItem(menuItem); menuItem = static_cast<CEGUI::MenuItem*>(windowManager.createWindow(menuItemMapping, "FileTestMenuItem2")); menuItem->setText("Save"); filePopupMenu->addItem(menuItem); menuItem = static_cast<CEGUI::MenuItem*>(windowManager.createWindow(menuItemMapping, "FileTestMenuItem3")); menuItem->setText("Exit"); filePopupMenu->addItem(menuItem); CEGUI::MenuItem* viewMenuItem = static_cast<CEGUI::MenuItem*>(windowManager.createWindow(menuItemMapping, "ViewMenuItem")); fileMenuItem->setText("View"); menuBar->addChild(viewMenuItem); CEGUI::PopupMenu* viewPopupMenu = static_cast<CEGUI::PopupMenu*>(windowManager.createWindow(popupMenuMapping, "ViewPopupMenu")); viewMenuItem->addChild(viewPopupMenu); menuItem = static_cast<CEGUI::MenuItem*>(windowManager.createWindow(menuItemMapping, "ViewTestMenuItem1")); menuItem->setText("Midgets"); viewPopupMenu->addItem(menuItem); }