MCPcopy Create free account
hub / github.com/SpartanJ/eepp / createAppMenu

Method createAppMenu

src/tools/uieditor/uieditor.cpp:1118–1196  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1116}
1117
1118void App::createAppMenu() {
1119 SceneManager::instance()->setCurrentUISceneNode( mAppUISceneNode );
1120
1121 mUIMenuBar = mAppUISceneNode->find( "menubar" )->asType<UIMenuBar>();
1122 UIPopUpMenu* uiPopMenu = UIPopUpMenu::New();
1123 uiPopMenu->add( "New layout", findIcon( "file-add" ) )->setId( "new-layout" );
1124 uiPopMenu->add( "Open layout...", findIcon( "document-open" ) )->setId( "open-layout" );
1125 uiPopMenu->add( "Open project...", findIcon( "document-open" ) )->setId( "open-project" );
1126 uiPopMenu->addSeparator();
1127 uiPopMenu->addSubMenu( "Recent files", NULL, UIPopUpMenu::New() )->setId( "recent-files" );
1128 uiPopMenu->addSubMenu( "Recent projects", NULL, UIPopUpMenu::New() )
1129 ->setId( "recent-projects" );
1130 uiPopMenu->addSeparator();
1131 uiPopMenu->add( i18n( "save", "Save" ), findIcon( "document-save" ) )->setId( "save-doc" );
1132 uiPopMenu->add( i18n( "save_as_ellipsis", "Save as..." ), findIcon( "document-save-as" ) )
1133 ->setId( "save-as-doc" );
1134 uiPopMenu->add( i18n( "save_all", "Save All" ), findIcon( "document-save-as" ) )
1135 ->setId( "save-all" );
1136 uiPopMenu->addSeparator();
1137 uiPopMenu->add( "Close", findIcon( "document-close" ) )->setId( "close" );
1138 uiPopMenu->addSeparator();
1139 uiPopMenu->add( "Quit", findIcon( "quit" ) )->setId( "quit" );
1140
1141 mUIMenuBar->addMenuButton( "File", uiPopMenu );
1142 uiPopMenu->on( Event::OnItemClicked, [this]( const Event* event ) { fileMenuClick( event ); } );
1143
1144 UIPopUpMenu* uiResourceMenu = UIPopUpMenu::New();
1145 uiResourceMenu->add( "Load images from path...", findIcon( "document-open" ) )
1146 ->setId( "load-images-from-path" );
1147 uiResourceMenu->addSeparator();
1148 uiResourceMenu->add( "Load fonts from path...", findIcon( "document-open" ) )
1149 ->setId( "load-fonts-from-path" );
1150 uiResourceMenu->addSeparator();
1151 uiResourceMenu->add( "Load style sheet from path...", findIcon( "document-open" ) )
1152 ->setId( "load-css-from-path" );
1153 mUIMenuBar->addMenuButton( "Resources", uiResourceMenu );
1154 uiResourceMenu->on( Event::OnItemClicked,
1155 [this]( const Event* event ) { fileMenuClick( event ); } );
1156
1157 UIPopUpMenu* colorsMenu = UIPopUpMenu::New();
1158 colorsMenu
1159 ->addRadioButton( i18n( "system", "System" ),
1160 mUIColorScheme == ColorSchemeExtPreference::System )
1161 ->setId( "system" );
1162 colorsMenu
1163 ->addRadioButton( i18n( "light", "Light" ),
1164 mUIColorScheme == ColorSchemeExtPreference::Light )
1165 ->setId( "light" );
1166 colorsMenu
1167 ->addRadioButton( i18n( "dark", "Dark" ), mUIColorScheme == ColorSchemeExtPreference::Dark )
1168 ->setId( "dark" );
1169 colorsMenu->on( Event::OnItemClicked, [this]( const Event* event ) {
1170 if ( !event->getNode()->isType( UI_TYPE_MENUITEM ) )
1171 return;
1172 UIMenuItem* item = event->getNode()->asType<UIMenuItem>();
1173 mUIColorScheme = ColorSchemePreferences::fromStringExt( item->getId() );
1174 mUISceneNode->setColorSchemePreference( mUIColorScheme );
1175 updateLayoutFunc( InvalidationType::Memory );

Callers

nothing calls this directly

Calls 15

setCurrentUISceneNodeMethod · 0.80
addSeparatorMethod · 0.80
addSubMenuMethod · 0.80
addMenuButtonMethod · 0.80
addRadioButtonMethod · 0.80
getNodeMethod · 0.80
setQuakeModeMethod · 0.80
getIdMethod · 0.65
NewFunction · 0.50
findMethod · 0.45
setIdMethod · 0.45

Tested by

no test coverage detected