2014-09-27 09:25:14 +02:00
|
|
|
#ifndef __DISPLAYMENU_H
|
|
|
|
#define __DISPLAYMENU_H
|
2015-04-02 15:09:41 +02:00
|
|
|
#include <libskindesignerapi/skindesignerapi.h>
|
2014-09-27 09:25:14 +02:00
|
|
|
#include "libtemplate/template.h"
|
|
|
|
#include "views/displaymenurootview.h"
|
|
|
|
|
|
|
|
enum eViewState {
|
|
|
|
vsInit,
|
|
|
|
vsMenuInit,
|
|
|
|
vsMenuUpdate,
|
|
|
|
vsMenuDetail,
|
|
|
|
vsIdle
|
|
|
|
};
|
|
|
|
|
2015-04-02 15:09:41 +02:00
|
|
|
class cSDDisplayMenu : public skindesignerapi::ISDDisplayMenu {
|
2014-09-27 09:25:14 +02:00
|
|
|
private:
|
|
|
|
cDisplayMenuRootView *rootView;
|
|
|
|
eViewState state;
|
|
|
|
bool doOutput;
|
2014-11-15 09:47:22 +01:00
|
|
|
string pluginName;
|
|
|
|
int pluginMenu;
|
|
|
|
ePluginMenuType pluginMenuType;
|
2014-10-15 18:04:12 +02:00
|
|
|
mutable cFont *textAreaFont;
|
2015-04-01 10:14:26 +02:00
|
|
|
void SetCurrentRecording(void);
|
2014-09-27 09:25:14 +02:00
|
|
|
protected:
|
|
|
|
int Tab(int n);
|
|
|
|
public:
|
|
|
|
cSDDisplayMenu(cTemplate *menuTemplate);
|
|
|
|
virtual ~cSDDisplayMenu();
|
|
|
|
virtual void Scroll(bool Up, bool Page);
|
|
|
|
virtual int MaxItems(void);
|
|
|
|
virtual void Clear(void);
|
|
|
|
virtual void SetMenuCategory(eMenuCategory MenuCat);
|
2015-03-31 16:08:42 +02:00
|
|
|
virtual void SetMenuSortMode(eMenuSortMode MenuSortMode);
|
2014-11-15 09:47:22 +01:00
|
|
|
virtual void SetPluginMenu(string name, int menu, int type, bool init);
|
2014-09-27 09:25:14 +02:00
|
|
|
virtual void SetTitle(const char *Title);
|
|
|
|
virtual void SetButtons(const char *Red, const char *Green = NULL, const char *Yellow = NULL, const char *Blue = NULL);
|
|
|
|
virtual void SetMessage(eMessageType Type, const char *Text);
|
|
|
|
virtual void SetItem(const char *Text, int Index, bool Current, bool Selectable);
|
|
|
|
virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch);
|
|
|
|
virtual bool SetItemTimer(const cTimer *Timer, int Index, bool Current, bool Selectable);
|
|
|
|
virtual bool SetItemChannel(const cChannel *Channel, int Index, bool Current, bool Selectable, bool WithProvider);
|
|
|
|
virtual bool SetItemRecording(const cRecording *Recording, int Index, bool Current, bool Selectable, int Level, int Total, int New);
|
2014-11-15 09:47:22 +01:00
|
|
|
virtual bool SetItemPlugin(map<string,string> *stringTokens, map<string,int> *intTokens, map<string,vector<map<string,string> > > *loopTokens, int Index, bool Current, bool Selectable);
|
2014-09-27 09:25:14 +02:00
|
|
|
virtual void SetScrollbar(int Total, int Offset);
|
|
|
|
virtual void SetEvent(const cEvent *Event);
|
|
|
|
virtual void SetRecording(const cRecording *Recording);
|
|
|
|
virtual void SetText(const char *Text, bool FixedFont);
|
2014-11-15 09:47:22 +01:00
|
|
|
virtual bool SetPluginText(map<string,string> *stringTokens, map<string,int> *intTokens, map<string,vector<map<string,string> > > *loopTokens);
|
2014-09-27 09:25:14 +02:00
|
|
|
virtual void Flush(void);
|
|
|
|
virtual void SetTabs(int Tab1, int Tab2 = 0, int Tab3 = 0, int Tab4 = 0, int Tab5 = 0);
|
|
|
|
virtual int GetTextAreaWidth(void) const;
|
|
|
|
virtual const cFont *GetTextAreaFont(bool FixedFont) const;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif //__DISPLAYMENU_H
|