diff options
| author | louis <louis.braun@gmx.de> | 2015-07-07 17:58:10 +0200 |
|---|---|---|
| committer | louis <louis.braun@gmx.de> | 2015-07-07 17:58:10 +0200 |
| commit | 5a6fb850b35bc63325cac482daaa70b00b0e8e8b (patch) | |
| tree | c46bea143641a4a0f4461b971ae2cd03e10ac76b /libtemplate/templatepixmap.h | |
| parent | 50fe393724a265341b1745dd401db9d93f46f354 (diff) | |
| download | vdr-plugin-skindesigner-5a6fb850b35bc63325cac482daaa70b00b0e8e8b.tar.gz vdr-plugin-skindesigner-5a6fb850b35bc63325cac482daaa70b00b0e8e8b.tar.bz2 | |
immplemented areacontainers to group areas
Diffstat (limited to 'libtemplate/templatepixmap.h')
| -rw-r--r-- | libtemplate/templatepixmap.h | 70 |
1 files changed, 57 insertions, 13 deletions
diff --git a/libtemplate/templatepixmap.h b/libtemplate/templatepixmap.h index 5f16f21..f9c2f6f 100644 --- a/libtemplate/templatepixmap.h +++ b/libtemplate/templatepixmap.h @@ -13,23 +13,46 @@ #include "globals.h" #include "templateloopfunction.h" +#include "../views/viewhelpers.h" using namespace std; +// --- cTemplatePixmapNode ------------------------------------------------------------- +class cTemplatePixmapNode { +protected: + bool isContainer; + cGlobals *globals; + cTemplateFunction *parameters; + int containerX; + int containerY; + int containerWidth; + int containerHeight; +public: + cTemplatePixmapNode(void); + virtual ~cTemplatePixmapNode(void); + void SetParameters(vector<stringpair> ¶ms); + void SetContainer(int x, int y, int w, int h); + bool IsContainer(void) { return isContainer; }; + bool DoExecute(void) { return parameters->DoExecute(); }; + bool DoDebug(void) { return parameters->DoDebug(); }; + virtual void SetGlobals(cGlobals *globals) { this->globals = globals; }; + virtual bool CalculateParameters(void) { return false; }; + virtual void SetWidth(int width) {}; + virtual void SetHeight(int height) {}; + virtual int NumPixmaps(void) { return 0; }; + virtual void Debug(void) {}; +}; + // --- cTemplatePixmap ------------------------------------------------------------- +class cTemplatePixmapContainer; -class cTemplatePixmap { +class cTemplatePixmap : public cTemplatePixmapNode { protected: + cTemplatePixmapContainer *pixContainer; bool scrolling; bool background; - cTemplateFunction *parameters; vector<cTemplateFunction*> functions; vector<cTemplateFunction*>::iterator funcIt; - int containerX; - int containerY; - int containerWidth; - int containerHeight; - cGlobals *globals; //functions replacing {width(label)} and {height(label)} tokens bool ReplaceWidthFunctions(void); bool ReplaceHeightFunctions(map < string, vector< map< string, string > > > *loopTokens); @@ -42,8 +65,8 @@ public: cTemplatePixmap(void); virtual ~cTemplatePixmap(void); //Setter Functions + void SetPixmapContainer(cTemplatePixmapContainer *pixContainer) { this->pixContainer = pixContainer; }; void SetScrolling(void) { scrolling = true; }; - void SetParameters(vector<pair<string, string> > ¶ms); void SetWidth(int width); void SetHeight(int height); void SetX(int x); @@ -52,8 +75,7 @@ public: void SetHeightPercent(double height); void SetXPercent(double x); void SetYPercent(double y); - void SetContainer(int x, int y, int w, int h); - void SetGlobals(cGlobals *globals) { this->globals = globals; }; + void SetParameter(eParamType type, string value); void AddFunction(string name, vector<pair<string, string> > ¶ms); void AddLoopFunction(cTemplateLoopFunction *lf); //PreCache Parameters @@ -71,18 +93,40 @@ public: //Set max width for text in scrollarea void SetScrollingTextWidth(void); //Getter Functions + int NumPixmaps(void) { return 1; }; cRect GetPixmapSize(void); int GetNumericParameter(eParamType type); bool Scrolling(void) { return scrolling; }; - bool DoExecute(void) { return parameters->DoExecute(); }; - bool DoDebug(void) { return parameters->DoDebug(); }; bool Ready(void); bool BackgroundArea(void) { return background; }; + bool ParameterSet(eParamType type); + cTemplateFunction *GetFunction(string name); //Traverse Functions - void InitIterator(void); + void InitFunctionIterator(void); cTemplateFunction *GetNextFunction(void); //Debug void Debug(void); }; +class cTemplatePixmapContainer : public cTemplatePixmapNode { +private: + vector<cTemplatePixmap*> pixmaps; + vector<cTemplatePixmap*>::iterator pixmapIterator; +public: + cTemplatePixmapContainer(void); + virtual ~cTemplatePixmapContainer(void); + void SetGlobals(cGlobals *globals); + void SetWidth(int width); + void SetHeight(int height); + void AddPixmap(cTemplatePixmap *pix); + //PreCache Parameters + bool CalculateParameters(void); + void ParseDynamicParameters(map <string,string> *stringTokens, map <string,int> *intTokens); + int NumPixmaps(void) { return pixmaps.size(); }; + void InitIterator(void); + cTemplatePixmap *GetNextPixmap(void); + cTemplateFunction *GetFunction(string name); + void Debug(void); +}; + #endif //__TEMPLATEPIXMAP_H
\ No newline at end of file |
