diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-01-09 16:29:34 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-01-09 16:29:34 +0000 |
| commit | ba02fb4aced5868d047a5bffbd2ed87583daee4d (patch) | |
| tree | bcfea66b1f7fd2212539a99abc074de1424ac9a0 /lib/gui/ewidget.h | |
| parent | 2494509cd031727d92c6556089c99711d16d8af9 (diff) | |
| download | enigma2-ba02fb4aced5868d047a5bffbd2ed87583daee4d.tar.gz enigma2-ba02fb4aced5868d047a5bffbd2ed87583daee4d.zip | |
- add more python stuff
- fix some gui/gdi
- add eslider
- improve windowstyle
Diffstat (limited to 'lib/gui/ewidget.h')
| -rw-r--r-- | lib/gui/ewidget.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/lib/gui/ewidget.h b/lib/gui/ewidget.h index a551b8a3..fa8cd8ca 100644 --- a/lib/gui/ewidget.h +++ b/lib/gui/ewidget.h @@ -3,6 +3,9 @@ #include <lib/gdi/grc.h> /* for gRegion */ #include <lib/base/eptrlist.h> /* for eSmartPtrList */ +#include <lib/gui/ewindowstyle.h> /* for eWindowStyle */ + +class eWindowStyle; class eWidget { @@ -17,11 +20,21 @@ public: eSize size() const { return m_size; } void invalidate(const gRegion ®ion = gRegion::invalidRegion()); + + /* the window were to attach childs to. Normally, this + is "this", but it can be overridden in case a widget + has a "client area", which is implemented as a child + widget. eWindow overrides this, for example. */ + virtual eWidget *child() { return this; } void show(); void hide(); void destruct(); + + int getStyle(ePtr<eWindowStyle> &style) { if (!m_style) return 1; style = m_style; return 0; } + void setStyle(eWindowStyle *style) { m_style = style; } + private: eWidgetDesktop *m_desktop; @@ -33,12 +46,14 @@ private: int m_vis; ePtrList<eWidget> m_childs; - eWidget *m_parent; ePoint m_position; eSize m_size; + eWidget *m_parent; + ePtr<eWindowStyle> m_style; void doPaint(gPainter &painter, const gRegion ®ion); + void recalcClipRegionsWhenVisible(); protected: virtual ~eWidget(); public: @@ -63,4 +78,6 @@ public: virtual int event(int event, void *data = 0, void *data2 = 0); }; +extern eWidgetDesktop *getDesktop(); + #endif |
