uses intIntput for in/export routes

This commit is contained in:
2023-01-04 00:19:12 +01:00
parent 523c170f56
commit facfd1d045
2 changed files with 95 additions and 18 deletions
+32 -3
View File
@@ -20,10 +20,28 @@
#include "route.h"
#include "menu.h"
#include "menuControl.h"
#include "menuIntInput.h"
#include "menuRoutePoints.h"
#define JSON_DOCUMENT_SIZE_ROUTE 4096
// class MenuRoute;
//
// class MenuActionData : public MenuActionWrapper {
// public:
// enum MenuActionDataChoose {
// importRoute,
// exportRoute
// };
// MenuActionData(MenuRoute* menuRoute, MenuActionDataChoose choose);
// void action() override;
// private:
// MenuRoute* menuRoute;
// MenuActionDataChoose choose;
// };
class MenuRoute : public MenuControl {
public:
MenuRoute(Route* route);
@@ -37,12 +55,11 @@ class MenuRoute : public MenuControl {
void yes() override;
void no() override;
void importRoute(uint8_t routeNumber);
void exportRoute(uint8_t routeNumber);
private:
void init();
void importRoute();
void exportRoute();
Route* route;
Menu* mainMenu;
@@ -50,4 +67,16 @@ class MenuRoute : public MenuControl {
bool blockInput = false;
};
typedef void (MenuRoute::*DataFunction)(uint8_t);
class MenuRouteWrapper : public MenuIntInputWrapper {
public:
MenuRouteWrapper(MenuRoute* menuRoute, DataFunction dataFunction);
void action(int16_t* values, uint8_t length) override;
private:
MenuRoute* menuRoute;
DataFunction dataFunction = nullptr;
};
#endif // MENU_ROUTE_H