From 67315f18b356af91b73721cf4996525d7e0131cd Mon Sep 17 00:00:00 2001 From: Alexander Klein Date: Fri, 18 Aug 2023 15:59:00 +0200 Subject: [PATCH] menuinformation site - add second action inherit lcd Wrapper --- include/menuControl.h | 1 + include/menuInformationSites.h | 1 + src/menuControl.cpp | 7 +++++++ src/menuInformationSites.cpp | 3 ++- 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/include/menuControl.h b/include/menuControl.h index 8c77e70..5276a7e 100644 --- a/include/menuControl.h +++ b/include/menuControl.h @@ -91,6 +91,7 @@ class MenuControl { protected: void print(String lineOne, String lineTwo) const; + DisplayWrapper* getLcd() const { return this->lcd; } MenuControl* parentMenu = nullptr; DisplayWrapper* lcd = nullptr; diff --git a/include/menuInformationSites.h b/include/menuInformationSites.h index c90fdef..056665a 100644 --- a/include/menuInformationSites.h +++ b/include/menuInformationSites.h @@ -67,6 +67,7 @@ class MenuInformationSites : public MenuControl { uint8_t getCurrentPage() const; virtual void printPage() const = 0; + virtual void runCommandNo() const {} virtual void runCommand() const {} virtual void init() {} diff --git a/src/menuControl.cpp b/src/menuControl.cpp index 36facc1..3a5f520 100644 --- a/src/menuControl.cpp +++ b/src/menuControl.cpp @@ -20,3 +20,10 @@ void MenuControl::print(String lineOne, String lineTwo) const { lcd->print(lineTwo.c_str()); } } + +void MenuControl::setParentMenu(MenuControl* menu) { + this->parentMenu = menu; + DisplayWrapper* lcd = this->parentMenu->getLcd(); + if (lcd) + this->lcd = lcd; +} diff --git a/src/menuInformationSites.cpp b/src/menuInformationSites.cpp index f351cc3..9fed6a5 100644 --- a/src/menuInformationSites.cpp +++ b/src/menuInformationSites.cpp @@ -45,7 +45,8 @@ void MenuInformationSites::left() { } void MenuInformationSites::no() { - this->left(); + this->runCommandNo(); + this->printMenu } void MenuInformationSites::yes() {