summaryrefslogtreecommitdiff
path: root/designer.h
blob: 7a32235eb630efd2c9ba381e403bf92ae70b0530 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#ifndef __SKINDESIGNER_H
#define __SKINDESIGNER_H

class cSkinDesigner;

#include "config.h"
#include "libtemplate/template.h"
#include "libtemplate/xmlparser.h"
#include "displaychannel.h"
#include "displaymenu.h"
#include "displayreplay.h"
#include "displayvolume.h"
#include "displaytracks.h"
#include "displaymessage.h"
#include "displayplugin.h"
#include <vdr/skinlcars.h>

class cSkinDesigner : public cSkin {
private:
    bool init;
    string skin;
    cSkinLCARS *backupSkin;
    bool useBackupSkin;
    cGlobals *globals;
    cTemplate *channelTemplate;
    cTemplate *menuTemplate;
    cTemplate *messageTemplate;
    cTemplate *replayTemplate;
    cTemplate *volumeTemplate;
    cTemplate *audiotracksTemplate;
    map< string, map <int, cTemplate*> > pluginTemplates;
    cSDDisplayMenu *currentMenu;
    void Init(void);
    void ReloadCaches(void);
    void DeleteTemplates(void);
    bool LoadTemplates(void);
    void CacheTemplates(void);
public:
    cSkinDesigner(string skin);
    virtual ~cSkinDesigner(void);
    virtual const char *Description(void);
    virtual cSkinDisplayChannel *DisplayChannel(bool WithInfo);
    virtual cSkinDisplayMenu *DisplayMenu(void);
    virtual cSkinDisplayReplay *DisplayReplay(bool ModeOnly);
    virtual cSkinDisplayVolume *DisplayVolume(void);
    virtual cSkinDisplayTracks *DisplayTracks(const char *Title, int NumTracks, const char * const *Tracks);
    virtual cSkinDisplayMessage *DisplayMessage(void);
    virtual cSkinDisplayPlugin *DisplayPlugin(string pluginName, int viewID, int subViewID);
    void ActivateBackupSkin(void) { useBackupSkin = true; };
    void Reload(void);
    void ListAvailableFonts(void);
    bool SetCustomToken(string option);
    void ListCustomTokens(void);
    cSDDisplayMenu *GetDisplayMenu(void) { return currentMenu; };
};

#endif //__SKINDESIGNER_H