diff --git a/DisplayESP32.ino b/DisplayESP32.ino index 7785828..2beb597 100644 --- a/DisplayESP32.ino +++ b/DisplayESP32.ino @@ -25,26 +25,26 @@ class Option{ int textSpacing; bool fill = false; bool disp = false; - bool destinationTypeMenu; + int destinationType; int destinationIndex; public: //Option(){} - void configure(String content, int sizex, int sizey, int pos, bool destinationTypeMenu, int destinationIndex){ + void configure(String content, int sizex, int sizey, int pos, int destinationType, int destinationIndex){ this->sizex = sizex; this->sizey = sizey; this->content = content; this->pos = pos; - this->destinationTypeMenu = destinationTypeMenu; + this->destinationType = destinationType; this->destinationIndex = destinationIndex; this->disp = true; this->textSpacing = ((sizey - 7)/2) + 7; } - bool getDestinationTypeMenu(){ - bool destinationType = this->destinationTypeMenu; + int getDestinationType(){ + int destinationType = this->destinationType; return destinationType; } @@ -80,9 +80,10 @@ class Menu{ //ContentTypeMenu true, it is a menu int pos = 0; //This indicates the position of the cursor int page = 0; //If the menu is too long, this indicates the page that is being displayed Option opt[MAX_OPTIONS]; - int previousScreen = 0; int optPPage; - bool previousContentTypeMenu = true; + + int previousScreen = 0; + int previousContentType = true; public: @@ -96,9 +97,9 @@ class Menu{ //ContentTypeMenu true, it is a menu this->opt[this->options].configure(content, this->sizex, this->sizey, this->options++, destinationTypeMenu, destinationIndex); } - bool extractDestinationTypeMenu(){ - bool destinationTypeMenu = this->opt[this->pos].getDestinationTypeMenu(); - return destinationTypeMenu; + int extractDestinationType(){ + int destinationType = this->opt[this->pos].getDestinationType(); + return destinationType; } int extractDestinationIndex(){ @@ -127,8 +128,8 @@ class Menu{ //ContentTypeMenu true, it is a menu this->previousScreen = prev; } - void setPreviousContentTypeMenu(bool prev){ - this->previousContentTypeMenu = prev; + void setPreviousContentType(int prev){ + this->previousContentType = prev; } int getPreviousScreen(){ @@ -136,8 +137,8 @@ class Menu{ //ContentTypeMenu true, it is a menu return prev; } - bool getPreviousContentTypeMenu(){ - bool prev = this->previousContentTypeMenu; + int getPreviousContentType(){ + int prev = this->previousContentType; return prev; } }; @@ -172,7 +173,7 @@ class Graph{ //ContentTypeMenu false, it is not a menu bool redraw = true; int previousScreen = 0; - bool previousContentTypeMenu = true; + int previousContentType = 0; public: @@ -362,8 +363,8 @@ class Graph{ //ContentTypeMenu false, it is not a menu this->previousScreen = prev; } - void setPreviousContentTypeMenu(bool prev){ - this->previousContentTypeMenu = prev; + void setPreviousContentType(int prev){ + this->previousContentType = prev; } int getPreviousScreen(){ @@ -371,8 +372,8 @@ class Graph{ //ContentTypeMenu false, it is not a menu return prev; } - bool getPreviousContentTypeMenu(){ - bool prev = this->previousContentTypeMenu; + int getPreviousContentType(){ + int prev = this->previousContentType; return prev; } @@ -394,9 +395,9 @@ class Screen{ Graph graph[MAX_GRAPH]; int counterM = 0; int counterG = 0; - int currentScreen = 0; bool redraw = true; - bool contentTypeMenu = true; + int currentScreen = 0; + int contentType = 0; public: @@ -469,10 +470,10 @@ class Screen{ void control(){ if (redraw){ - if (contentTypeMenu){ + if (contentType == 0){ menu[currentScreen].drawMenu(); } - else{ + else if (contentType == 1){ graph[currentScreen].drawGraph(); } this->redraw = false; @@ -488,37 +489,48 @@ class Screen{ } void goTo(){ - if(this->contentTypeMenu){ + if(this->contentType == 0){ int newScreen = this->menu[this->currentScreen].extractDestinationIndex(); - bool newContentTypeMenu = this->menu[this->currentScreen].extractDestinationTypeMenu(); - if (newContentTypeMenu){ + int newContentType = this->menu[this->currentScreen].extractDestinationType(); + if (newContentType == 0){ this->menu[newScreen].setPreviousScreen(this->currentScreen); - this->menu[newScreen].setPreviousContentTypeMenu(this->contentTypeMenu); + this->menu[newScreen].setPreviousContentType(this->contentType); } - else{ + else if(newContentType == 1){ this->graph[newScreen].setPreviousScreen(this->currentScreen); - this->graph[newScreen].setPreviousContentTypeMenu(this->contentTypeMenu); + this->graph[newScreen].setPreviousContentType(this->contentType); this->graph[newScreen].reset(); this->graph[newScreen].redrawFlag(); } - this->contentTypeMenu = newContentTypeMenu; + else if(newContentType == 2){ + + } + this->contentType = newContentType; this->currentScreen = newScreen; this->redraw = true; } } void goBack(){ - if (contentTypeMenu){ + if(contentType == 0){ //Gets indexes from previous screen saved in actual screen if it is a menu, and sets them as the current indexes this->currentScreen = this->menu[this->currentScreen].getPreviousScreen(); - this->contentTypeMenu = this->menu[this->currentScreen].getPreviousContentTypeMenu(); + this->contentType = this->menu[this->currentScreen].getPreviousContentType(); } - else{ + else if(contentType == 1){ //Gets indexes from previous screen saved in actual screen if it is a graph, and sets them as the current indexes this->currentScreen = this->graph[this->currentScreen].getPreviousScreen(); - this->contentTypeMenu = this->graph[this->currentScreen].getPreviousContentTypeMenu(); + this->contentType = this->graph[this->currentScreen].getPreviousContentType(); } } + + void plusAction(){ + + } + + void minusAction(){ + + } }; @@ -537,22 +549,22 @@ void setup(){ screen.createHGraph("Grafica 2", 10, 40, 100, 20, 0, 100, 10, 0); //Graph 1 screen.createCGraph("Grafica 3", 30, 50, 75, 30, 0, 100, 0, 100, 25, 25, 0); //Graph 2 - screen.createOption(0, "Vertical graph", false, 0); - //Creates the first option in Menu 0, directing to a graph (Menu Content = false), 0 (Graph 0) - screen.createOption(0, "Horizontal graph", false, 1); - screen.createOption(0, "Cartesian graph", false, 2); - screen.createOption(0, "Extra option", true, 1); - - screen.createOption(1, "Test", false, 3); - screen.createOption(1, "Working?", false, 4); - -// screen.increasePos(); -// screen.increasePos(); -// screen.goTo(); + screen.createOption(0, "Vertical graph", 1, 0); + //Creates the first option in Menu 0, directing to a graph (contentType = 1 (Graph)), 0 (Graph 0) + screen.createOption(0, "Horizontal graph", 1, 1); + screen.createOption(0, "Cartesian graph", 1, 2); + screen.createOption(0, "Extra option", 0, 1); + + screen.createOption(1, "Test", 1, 3); + screen.createOption(1, "Working?", 1, 4); + + screen.increasePos(); + screen.increasePos(); + screen.goTo(); // screen.graphAssignValue(2, 50); -// screen.goBack(); -// screen.increasePos(); -// screen.goTo(); + screen.goBack(); + screen.increasePos(); + screen.goTo(); // screen.goBack(); // screen.decreasePos(); }