stamenStatic Menu Generator |
git clone git://git.dimitrijedobrota.com/stamen.git |
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING | |
commit | 29d55f56073916781c2ce84858b27a45194ef4da |
parent | a88c5a020580b045ff3a0f1a9c8c2f45d0b8f17b |
author | Dimitrije Dobrota <mail@dimitrijedobrota.com> |
date | Sat, 15 Feb 2025 15:57:08 +0100 |
Add callback to self in menu_t class
Diffstat:M | CMakeLists.txt | | | +- |
M | source/generate.cpp | | | +++- |
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -4,7 +4,7 @@ include(cmake/prelude.cmake)
project(
stamen
VERSION 1.2.1
VERSION 1.2.2
DESCRIPTION "Static menu generator"
HOMEPAGE_URL "https://git.dimitrijedobrota.com/stamen"
LANGUAGES C CXX
diff --git a/source/generate.cpp b/source/generate.cpp
@@ -87,6 +87,7 @@ void generate_include_cpp(std::ostream& ost, const arguments_t& args)
ost << R"(
struct menu_t {
std::string title;
stamen::callback_f callback;
std::vector<stamen::item_t> items;
static int visit(const menu_t& menu);
@@ -128,7 +129,8 @@ void generate_source_cpp(std::ostream& ost,
ost << "\tstatic const menu_t menu = {\n";
ost << std::format("\t\t.title = \"{}\",\n", menu.get_title());
ost << "\t\t.items = {\n";
ost << std::format("\t\t.callback = {},\n", menu.get_code());
ost << std::format("\t\t.items = {{\n");
for (auto i = 0UL; i < menu.get_size(); i++)
{
ost << std::format("\t\t\t{{.callback = {}, .prompt = \"{}\"}},\n",