diff options
Diffstat (limited to 'views/view.h')
| -rw-r--r-- | views/view.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/views/view.h b/views/view.h index 3d9c501..ab11717 100644 --- a/views/view.h +++ b/views/view.h @@ -8,6 +8,8 @@ using namespace std;
+class cViewElement;
+
class cView : public cPixmapContainer {
private:
void Init(void);
@@ -23,8 +25,10 @@ private: void ActivateScrolling(void);
protected:
cTemplateView *tmplView;
- cTemplateViewElement *tmplItem;
+ cTemplateViewElement *tmplViewElement;
cTemplateViewTab *tmplTab;
+ //detached viewelements
+ map < eViewElement, cViewElement* > detachedViewElements;
//scaling window
cRect scalingWindow;
bool tvScaled;
@@ -45,6 +49,8 @@ protected: bool ExecuteViewElement(eViewElement ve);
bool DetachViewElement(eViewElement ve);
bool ViewElementScrolls(eViewElement ve);
+ cViewElement *GetViewElement(eViewElement ve);
+ void AddViewElement(eViewElement ve, cViewElement *viewElement);
void CreateViewPixmap(int num, cTemplatePixmap *pix, cRect *size = NULL);
void CreateScrollingPixmap(int num, cTemplatePixmap *pix, cSize &drawportSize);
void DrawPixmap(int num, cTemplatePixmap *pix, map < string, vector< map< string, string > > > *loopTokens = NULL, bool flushPerLoop = false);
@@ -53,12 +59,27 @@ protected: virtual void Action(void);
public:
cView(cTemplateView *tmplView);
- cView(cTemplateViewElement *tmplItem);
+ cView(cTemplateViewElement *tmplViewElement);
cView(cTemplateViewTab *tmplTab);
virtual ~cView();
virtual void Stop(void);
};
+class cViewElement : public cView {
+private:
+protected:
+ int delay;
+ map < string, string > stringTokens;
+ map < string, int > intTokens;
+ void Action(void);
+ void Draw(map < string, vector< map< string, string > > > *loopTokens = NULL);
+public:
+ cViewElement(cTemplateViewElement *tmplViewElement);
+ virtual ~cViewElement();
+ virtual void Render(void) {};
+ void Clear(void);
+};
+
class cViewListItem : public cView {
protected:
int pos;
|
