added virtual destuctor for menu things

This commit is contained in:
2022-10-03 17:02:34 +02:00
parent a1a976be57
commit ee5bc9129a
9 changed files with 46 additions and 58 deletions
+5
View File
@@ -14,6 +14,11 @@ Menu::Menu() {
this->selectedEntry = this->entrys.begin();
}
Menu::~Menu() {
for (std::list<MenuAction*>::iterator iter = this->entrys.begin(); iter != this->entrys.end(); iter++)
delete *iter;
}
void Menu::addEntry(MenuAction* entry) {
this->entrys.push_back(entry);
+1
View File
@@ -24,6 +24,7 @@ class MenuAction;
class Menu : public MenuControl {
public:
Menu();
~Menu() override;
/**
* @brief Add a menu action to the menu
+5
View File
@@ -23,6 +23,11 @@ MenuAction::MenuAction(const char* name, MenuControl* menu) {
this->callback = nullptr;
}
MenuAction::~MenuAction() {
if (this->menu)
delete this->menu;
}
void MenuAction::runAction() {
if (isMenu)
this->menu->printMenu();
+3 -1
View File
@@ -43,6 +43,8 @@ class MenuAction {
*/
MenuAction(const char* name, MenuControl* menu);
~MenuAction();
/**
* @brief activates the entry
*/
@@ -80,7 +82,7 @@ class MenuAction {
void (*callback) () = nullptr;
bool isMenu = false;
MenuControl* menu;
MenuControl* menu = nullptr;
};
#endif // MENU_ENTRY_H
+1
View File
@@ -24,6 +24,7 @@
*/
class MenuControl {
public:
virtual ~MenuControl() {};
/** @name UserInputs
* @brief This functions should be called be user actions.