38 lines
777 B
C++
38 lines
777 B
C++
/**
|
|
* @file menuEntry.h
|
|
* @author Alexander Klein (alex@kleiax.de)
|
|
* @brief
|
|
* @version 0.1
|
|
* @date 2022-01-12
|
|
*
|
|
* @copyright Copyright (c) 2022
|
|
*
|
|
*/
|
|
#ifndef MENU_ENTRY_H
|
|
#define MENU_ENTRY_H
|
|
|
|
#include "menu.h"
|
|
|
|
class MenuControl;
|
|
class MenuAction {
|
|
public:
|
|
MenuAction(const char* name, void (*function) (), void (*callback) ());
|
|
MenuAction(const char* name, void (*function) ());
|
|
MenuAction(const char* name, MenuControl* menu);
|
|
void runAction();
|
|
|
|
const char* getName();
|
|
bool getIsMenu();
|
|
MenuControl* getMenu();
|
|
|
|
private:
|
|
const char* name;
|
|
|
|
void (*function) ();
|
|
void (*callback) () = nullptr;
|
|
|
|
bool isMenu = false;
|
|
MenuControl* menu;
|
|
};
|
|
|
|
#endif // MENU_ENTRY_H
|