added clearRoute
This commit is contained in:
@@ -11,17 +11,14 @@
|
|||||||
|
|
||||||
#include "menuRoute.h"
|
#include "menuRoute.h"
|
||||||
|
|
||||||
// MenuActionData::MenuActionData(MenuRoute* menuRoute, MenuActionDataChoose choose) {
|
MenuActionRoute::MenuActionRoute(MenuRoute* menuRoute, DataFunction dataFunction) {
|
||||||
// this->menuRoute = menuRoute;
|
this->menuRoute = menuRoute;
|
||||||
// this->choose = choose;
|
this->dataFunction = dataFunction;
|
||||||
// }
|
}
|
||||||
|
|
||||||
// void MenuActionData::action() {
|
void MenuActionRoute::action() {
|
||||||
// if (this->choose == MenuActionDataChoose::importRoute)
|
(this->menuRoute->*this->dataFunction)(0);
|
||||||
// this->menuRoute->importRoute();
|
}
|
||||||
// else if (this->choose == MenuActionDataChoose::exportRoute)
|
|
||||||
// this->menuRoute->exportRoute();
|
|
||||||
// }
|
|
||||||
|
|
||||||
MenuRoute::MenuRoute(Route* route) {
|
MenuRoute::MenuRoute(Route* route) {
|
||||||
this->route = route;
|
this->route = route;
|
||||||
@@ -88,33 +85,37 @@ void MenuRoute::init() {
|
|||||||
MenuRoutePoints* pointsMenu = new MenuRoutePoints(this->route);
|
MenuRoutePoints* pointsMenu = new MenuRoutePoints(this->route);
|
||||||
Menu* importMenu = new Menu;
|
Menu* importMenu = new Menu;
|
||||||
Menu* exportMenu = new Menu;
|
Menu* exportMenu = new Menu;
|
||||||
|
Menu* clearMenu = new Menu;
|
||||||
|
|
||||||
this->mainMenu->setLcd(this->lcd);
|
this->mainMenu->setLcd(this->lcd);
|
||||||
pointsMenu->setLcd(this->lcd);
|
pointsMenu->setLcd(this->lcd);
|
||||||
importMenu->setLcd(this->lcd);
|
importMenu->setLcd(this->lcd);
|
||||||
exportMenu->setLcd(this->lcd);
|
exportMenu->setLcd(this->lcd);
|
||||||
|
clearMenu->setLcd(this->lcd);
|
||||||
// MenuActionData* importWrapper = new MenuActionData(this, MenuActionData::MenuActionDataChoose::importRoute);
|
|
||||||
// MenuActionData* exportWrapper = new MenuActionData(this, MenuActionData::MenuActionDataChoose::exportRoute);
|
|
||||||
|
|
||||||
MenuIntInput* importWrapper = new MenuIntInput(1, new MenuRouteWrapper(this, &MenuRoute::importRoute));
|
MenuIntInput* importWrapper = new MenuIntInput(1, new MenuRouteWrapper(this, &MenuRoute::importRoute));
|
||||||
MenuIntInput* exportWrapper = new MenuIntInput(1, new MenuRouteWrapper(this, &MenuRoute::exportRoute));
|
MenuIntInput* exportWrapper = new MenuIntInput(1, new MenuRouteWrapper(this, &MenuRoute::exportRoute));
|
||||||
|
MenuActionRoute* clearWrapper = new MenuActionRoute(this, &MenuRoute::clearRoute);
|
||||||
|
|
||||||
importWrapper->setLcd(this->lcd);
|
importWrapper->setLcd(this->lcd);
|
||||||
importWrapper->setMinMax(0, 100);
|
importWrapper->setMinMax(0, 100);
|
||||||
|
importWrapper->setPrintParentMenu(false);
|
||||||
importWrapper->setEntry(0, "Import Route");
|
importWrapper->setEntry(0, "Import Route");
|
||||||
|
|
||||||
exportWrapper->setLcd(this->lcd);
|
exportWrapper->setLcd(this->lcd);
|
||||||
exportWrapper->setMinMax(0, 100);
|
exportWrapper->setMinMax(0, 100);
|
||||||
|
exportWrapper->setPrintParentMenu(false);
|
||||||
exportWrapper->setEntry(0, "Export Route");
|
exportWrapper->setEntry(0, "Export Route");
|
||||||
|
|
||||||
MenuAction* pointsAction = new MenuAction("Points", pointsMenu);
|
MenuAction* pointsAction = new MenuAction("Points", pointsMenu);
|
||||||
MenuAction* importAction = new MenuAction("Import", importWrapper);
|
MenuAction* importAction = new MenuAction("Import", importWrapper);
|
||||||
MenuAction* exportAction = new MenuAction("Export", exportWrapper);
|
MenuAction* exportAction = new MenuAction("Export", exportWrapper);
|
||||||
|
MenuAction* clearAction = new MenuAction("Clear", clearWrapper);
|
||||||
|
|
||||||
this->mainMenu->addEntry(pointsAction);
|
this->mainMenu->addEntry(pointsAction);
|
||||||
this->mainMenu->addEntry(importAction);
|
this->mainMenu->addEntry(importAction);
|
||||||
this->mainMenu->addEntry(exportAction);
|
this->mainMenu->addEntry(exportAction);
|
||||||
|
this->mainMenu->addEntry(clearAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MenuRoute::importRoute(uint8_t routeNumber) {
|
void MenuRoute::importRoute(uint8_t routeNumber) {
|
||||||
@@ -148,10 +149,10 @@ void MenuRoute::importRoute(uint8_t routeNumber) {
|
|||||||
http.begin(client, host);
|
http.begin(client, host);
|
||||||
int httpResponseCode = http.GET();
|
int httpResponseCode = http.GET();
|
||||||
|
|
||||||
lineOne = "HTTP Response";
|
lineOne = "Import complete";
|
||||||
lineTwo = "Code: ";
|
lineTwo = "Code: ";
|
||||||
|
|
||||||
if (httpResponseCode > 0)
|
if (httpResponseCode == 202)
|
||||||
deserializeJson(doc, http.getStream());
|
deserializeJson(doc, http.getStream());
|
||||||
else
|
else
|
||||||
lineOne = "HTTP Error";
|
lineOne = "HTTP Error";
|
||||||
@@ -223,7 +224,10 @@ void MenuRoute::exportRoute(uint8_t routeNumber) {
|
|||||||
http.addHeader("Content-Type", "application/json");
|
http.addHeader("Content-Type", "application/json");
|
||||||
int httpResponseCode = http.POST(jsonData);
|
int httpResponseCode = http.POST(jsonData);
|
||||||
|
|
||||||
lineOne = "HTTP Response";
|
if (httpResponseCode == 201)
|
||||||
|
lineOne = "Export complete";
|
||||||
|
else
|
||||||
|
lineOne = "HTTP Error";
|
||||||
lineTwo = "Code: ";
|
lineTwo = "Code: ";
|
||||||
lineTwo.concat(httpResponseCode);
|
lineTwo.concat(httpResponseCode);
|
||||||
this->print(lineOne, lineTwo);
|
this->print(lineOne, lineTwo);
|
||||||
@@ -232,6 +236,11 @@ void MenuRoute::exportRoute(uint8_t routeNumber) {
|
|||||||
http.end();
|
http.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MenuRoute::clearRoute(uint8_t none) {
|
||||||
|
this->route->clear();
|
||||||
|
this->print("Currente route", "deleted...");
|
||||||
|
}
|
||||||
|
|
||||||
MenuRouteWrapper::MenuRouteWrapper(MenuRoute* menuRoute, DataFunction dataFunction) {
|
MenuRouteWrapper::MenuRouteWrapper(MenuRoute* menuRoute, DataFunction dataFunction) {
|
||||||
this->menuRoute = menuRoute;
|
this->menuRoute = menuRoute;
|
||||||
this->dataFunction = dataFunction;
|
this->dataFunction = dataFunction;
|
||||||
|
|||||||
@@ -25,22 +25,18 @@
|
|||||||
|
|
||||||
#define JSON_DOCUMENT_SIZE_ROUTE 4096
|
#define JSON_DOCUMENT_SIZE_ROUTE 4096
|
||||||
|
|
||||||
// class MenuRoute;
|
class MenuRoute;
|
||||||
//
|
typedef void (MenuRoute::*DataFunction)(uint8_t);
|
||||||
// class MenuActionData : public MenuActionWrapper {
|
|
||||||
// public:
|
|
||||||
// enum MenuActionDataChoose {
|
|
||||||
// importRoute,
|
|
||||||
// exportRoute
|
|
||||||
// };
|
|
||||||
|
|
||||||
// MenuActionData(MenuRoute* menuRoute, MenuActionDataChoose choose);
|
class MenuActionRoute : public MenuActionWrapper {
|
||||||
// void action() override;
|
public:
|
||||||
|
MenuActionRoute(MenuRoute* menuRoute, DataFunction dataFunction);
|
||||||
|
void action() override;
|
||||||
|
|
||||||
// private:
|
private:
|
||||||
// MenuRoute* menuRoute;
|
MenuRoute* menuRoute;
|
||||||
// MenuActionDataChoose choose;
|
DataFunction dataFunction;
|
||||||
// };
|
};
|
||||||
|
|
||||||
class MenuRoute : public MenuControl {
|
class MenuRoute : public MenuControl {
|
||||||
public:
|
public:
|
||||||
@@ -57,6 +53,8 @@ class MenuRoute : public MenuControl {
|
|||||||
|
|
||||||
void importRoute(uint8_t routeNumber);
|
void importRoute(uint8_t routeNumber);
|
||||||
void exportRoute(uint8_t routeNumber);
|
void exportRoute(uint8_t routeNumber);
|
||||||
|
void clearRoute(uint8_t none);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void init();
|
void init();
|
||||||
|
|
||||||
@@ -67,7 +65,7 @@ class MenuRoute : public MenuControl {
|
|||||||
bool blockInput = false;
|
bool blockInput = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef void (MenuRoute::*DataFunction)(uint8_t);
|
|
||||||
class MenuRouteWrapper : public MenuIntInputWrapper {
|
class MenuRouteWrapper : public MenuIntInputWrapper {
|
||||||
public:
|
public:
|
||||||
MenuRouteWrapper(MenuRoute* menuRoute, DataFunction dataFunction);
|
MenuRouteWrapper(MenuRoute* menuRoute, DataFunction dataFunction);
|
||||||
|
|||||||
Reference in New Issue
Block a user