summaryrefslogtreecommitdiff
path: root/designer.h
blob: c58c97494409549e82a085da9aa9cac389173451 (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
58
59
60
61
62
63
64
65
#ifndef __SKINDESIGNER_H
#define __SKINDESIGNER_H

class cSkinDesigner;

#include "config.h"
#include "coreengine/viewdisplaychannel.h"
#include "coreengine/viewdisplaymenu.h"
#include "coreengine/viewdisplayreplay.h"
#include "coreengine/viewdisplayvolume.h"
#include "coreengine/viewdisplaytracks.h"
#include "coreengine/viewdisplaymessage.h"
#include "coreengine/viewdisplayplugin.h"
#include "displaychannel.h"
#include "displaymenu.h"
#include "displayreplay.h"
#include "displayvolume.h"
#include "displaytracks.h"
#include "displaymessage.h"
#include <vdr/skinlcars.h>

class cSkinDesigner : public cSkin {
private:
    bool init;
    bool initialized;
    string skin;
    cSkinLCARS *backupSkin;
    bool useBackupSkin;
    cGlobals *globals;
    cViewChannel  *channelView;
    cViewMenu     *menuView;
    cViewMessage  *messageView;
    cViewReplay   *replayView;
    cViewVolume   *volumeView;
    cViewTracks   *tracksView;
    cSDDisplayMenu *currentMenu;
    map<int, cViewPlugin* > pluginViews;
    void Init(void);
    void ReloadCaches(void);
    void DeleteViews(void);
    bool LoadViews(void);
    void LoadPluginViews(void);
    void CacheViews(void);
public:
    cSkinDesigner(string skin, cTheme *theme);
    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);
    void ActivateBackupSkin(void) { useBackupSkin = true; };
    int Reload(void);
    bool Initialized(void) { return initialized; };
    void ListAvailableFonts(void);
    bool SetCustomIntToken(string option);
    bool SetCustomStringToken(string option);
    void ListCustomTokens(void);
    cSDDisplayMenu *GetDisplayMenu(void) { return currentMenu; };
    skindesignerapi::ISkinDisplayPlugin *GetDisplayPlugin(int plugId);
};

#endif //__SKINDESIGNER_H