stamen

Static Menu Generator
git clone git://git.dimitrijedobrota.com/stamen.git
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |

dynamic.cpp (1042B)


1 #include <cstddef> 2 #include <iostream> 3 #include <span> 4 5 #include "stamen/menu.hpp" 6 #include "stamen/stamen.h" 7 8 int finish(std::size_t /* unused */) // NOLINT 9 { 10 exit(0); 11 } 12 13 int operation1(std::size_t /* unused */) // NOLINT 14 { 15 std::cout << "1\n"; 16 std::cout << std::flush; 17 return 1; 18 } 19 20 int operation2(std::size_t /* unused */) // NOLINT 21 { 22 std::cout << "2\n"; 23 std::cout << std::flush; 24 return 1; 25 } 26 27 int operation3(std::size_t /* unused */) // NOLINT 28 { 29 std::cout << "3\n"; 30 std::cout << std::flush; 31 return 1; 32 } 33 34 int main(int argc, char* argv[]) 35 { 36 const std::span args(argv, argv + argc); 37 38 // read the configuration 39 for (const auto& arg : args.subspan(1)) stamen::menu::read(arg); 40 41 // register free functions 42 stamen::menu::insert("finish", finish); 43 stamen::menu::insert("operation1", operation1); 44 stamen::menu::insert("operation2", operation2); 45 stamen::menu::insert("operation3", operation3); 46 47 // start the menu on specific panel 48 stamen::menu::dynamic("menu_main", stamen::builtin_display); 49 50 return 0; 51 }