#ifndef __DISPLAYMENUVIEW_H #define __DISPLAYMENUVIEW_H #include "../libtemplate/template.h" #include "displaymenulistview.h" class cDisplayMenuView : public cView { protected: eMenuCategory cat; string menuTitle; string *buttonTexts; virtual void Action(void); public: cDisplayMenuView(cTemplateView *tmplView, bool menuInit); virtual ~cDisplayMenuView(); void SetMenuCat(eMenuCategory newCat) { cat = newCat; }; void SetTitle(const char *title) {menuTitle = title; }; virtual void SetChannel(const cChannel *channel) {}; void SetButtonTexts(string *buttonTexts) { this->buttonTexts = buttonTexts; }; bool DrawBackground(void); virtual bool DrawHeader(void); bool DrawDateTime(void); bool DrawColorButtons(void); bool DrawMessage(eMessageType type, const char *text); void DrawScrollbar(int numMax, int numDisplayed, int offset); virtual void DrawStaticViewElements(void) {}; virtual bool DrawDynamicViewElements(void) { return false; }; bool BackgroundImplemented(void); }; class cDisplayMenuMainView : public cDisplayMenuView { private: bool initial; int* lastSignalStrength; int* lastSignalQuality; double lastSystemLoad; bool* recDevices; void DrawTimers(void); void DrawDiscUsage(void); bool DrawLoad(void); void InitDevices(void); bool DrawDevices(void); public: cDisplayMenuMainView(cTemplateView *tmplView, bool menuInit); virtual ~cDisplayMenuMainView(); void DrawStaticViewElements(void); bool DrawDynamicViewElements(void); }; class cDisplayMenuSchedulesView : public cDisplayMenuView { private: const cChannel *channel; public: cDisplayMenuSchedulesView(cTemplateView *tmplView, eMenuCategory menuCat, bool menuInit); virtual ~cDisplayMenuSchedulesView(); void SetChannel(const cChannel *channel) { this->channel = channel; }; bool DrawHeader(void); }; #endif //__DISPLAYMENUVIEW_H