diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index 0ac483f..d4e1834 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -114,6 +114,7 @@ set(headers displays/menus/settingsmenu.h displays/menus/stationwifisettingsmenu.h displays/menus/statisticsmenu.h + displays/menus/taskmanagermenu.h displays/menus/tempomatmodesettingsmenu.h displays/menus/timersmenu.h displays/menus/timesettingsmenu.h @@ -330,6 +331,7 @@ set(sources displays/menus/settingsmenu.cpp displays/menus/stationwifisettingsmenu.cpp displays/menus/statisticsmenu.cpp + displays/menus/taskmanagermenu.cpp displays/menus/tempomatmodesettingsmenu.cpp displays/menus/timersmenu.cpp displays/menus/timesettingsmenu.cpp diff --git a/main/displays/menus/debugmenu.cpp b/main/displays/menus/debugmenu.cpp index f7cec17..c7a2cce 100644 --- a/main/displays/menus/debugmenu.cpp +++ b/main/displays/menus/debugmenu.cpp @@ -20,6 +20,7 @@ #include "debugcolorhelpers.h" #include "esptexthelpers.h" #include "displays/qrcodedebug.h" +#include "displays/menus/taskmanagermenu.h" #include "displays/menus/commanddebugmenu.h" #include "displays/menus/motorstatedebugmenu.h" #include "displays/menus/feedbackdebugmenu.h" @@ -48,6 +49,7 @@ using namespace espgui; DebugMenu::DebugMenu() { constructMenuItem(); + constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); constructMenuItem, LoadSettingsAction>>(); constructMenuItem, SaveSettingsAction>>(); diff --git a/main/displays/menus/taskmanagermenu.cpp b/main/displays/menus/taskmanagermenu.cpp new file mode 100644 index 0000000..8cdf08b --- /dev/null +++ b/main/displays/menus/taskmanagermenu.cpp @@ -0,0 +1,25 @@ +#include "taskmanagermenu.h" + +// 3rdparty lib includes +#include +#include +#include +#include + +// local includes +#include "displays/menus/debugmenu.h" +#include "taskmanager.h" + +using namespace espgui; + +TaskmanagerMenu::TaskmanagerMenu() +{ + for (const auto &task : schedulerTasks) + constructMenuItem>(std::string{task.name()}); + constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); +} + +void TaskmanagerMenu::back() +{ + switchScreen(); +} diff --git a/main/displays/menus/taskmanagermenu.h b/main/displays/menus/taskmanagermenu.h new file mode 100644 index 0000000..37c24d8 --- /dev/null +++ b/main/displays/menus/taskmanagermenu.h @@ -0,0 +1,14 @@ +#pragma once + +// local includes +#include "menudisplay.h" +#include "texts.h" + +class TaskmanagerMenu : + public espgui::MenuDisplay, + public espgui::StaticText +{ +public: + TaskmanagerMenu(); + void back() override; +}; diff --git a/main/texts.cpp b/main/texts.cpp index 8ab3067..b70943a 100644 --- a/main/texts.cpp +++ b/main/texts.cpp @@ -541,8 +541,12 @@ char TEXT_REENABLE_MENUITEMS[] = "Show advanced"; char TEXT_SELECT_BRANCH[] = "Select Branch"; char TEXT_SELECT_BRANCH_CLEAR[] = "Clear Branch"; +//QrCodeDebug char TEXT_QRCODE_DEBUG[] = "QR Debug"; +// TaskmanagerMenu +char TEXT_TASKMANAGER[] = "Taskmanager"; + //GreenPassMenu char TEXT_GREENPASS[] = "Green Pass"; char TEXT_ADDCERT[] = "Add cert"; diff --git a/main/texts.h b/main/texts.h index 9a8db58..4223ee8 100644 --- a/main/texts.h +++ b/main/texts.h @@ -543,6 +543,9 @@ extern char TEXT_SELECT_BRANCH_CLEAR[]; //QrCodeDebug extern char TEXT_QRCODE_DEBUG[]; +// TaskmanagerMenu +extern char TEXT_TASKMANAGER[]; + //GreenPassMenu extern char TEXT_GREENPASS[]; extern char TEXT_ADDCERT[];