#ifndef T_IOT_901_CONVOYOR_GUICONTAINER_H #define T_IOT_901_CONVOYOR_GUICONTAINER_H #include #include "GUIWidget.h" namespace gui { class AGUIScreen { public: AGUIScreen(); ~AGUIScreen() = default; virtual const char* getName() const = 0; virtual int setup() = 0; int update(); int addWidget(AGUIWidget* widget); int removeWidget(AGUIWidget* widget); int removeWidget(int index); int removeWidget(const char* name); std::vector getWidgets() const; protected: std::vector widgets; }; class DefaultGuiScreen : public AGUIScreen { public: DefaultGuiScreen(); ~DefaultGuiScreen() = default; const char* getName() const override; int setup() override; }; } #endif //T_IOT_901_CONVOYOR_GUICONTAINER_H