1 #include <CtrlLib/CtrlLib.h> 2 3 using namespace Upp; 4 5 struct App : public TopWindow { 6 bool numbers_enabled; 7 MenuApp8 void Menu(Bar& bar) 9 { 10 bar.Add("Enable numbers", [=] { numbers_enabled = !numbers_enabled; }) 11 .Check(numbers_enabled); 12 bar.Sub(numbers_enabled, "Numbers", [=](Bar& bar) { 13 for(int i = 0; i < 10; i++) 14 bar.Add(~AsString(i), [=] { PromptOK(AsString(i)); }); 15 }); 16 bar.Add("Exit", [=] { Close(); }) 17 .Key(K_CTRL_E); 18 } 19 MainBarApp20 void MainBar(Bar& bar) 21 { 22 bar.Sub("Numbers", THISFN(Menu)); 23 bar.Sub("Items", [=](Bar& bar) { 24 bar.Add("Item 1", [&] { Exclamation("Item 1 invoked"); }); 25 bar.Add("Item 2", [&] { Exclamation("Item 2 invoked"); }); 26 }); 27 } 28 29 MenuBar menu; 30 31 typedef App CLASSNAME; 32 AppApp33 App() 34 { 35 numbers_enabled = false; 36 AddFrame(menu); 37 menu.Set(THISFN(MainBar)); 38 } 39 }; 40 41 GUI_APP_MAIN 42 { 43 App().Run(); 44 } 45