X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/7e6f15005ac50206ace23e1d3496e8c6550c14f5..1a3a68d135903b60ad9aa5ee829cec58d663754a:/lib/gui/elistbox.h diff --git a/lib/gui/elistbox.h b/lib/gui/elistbox.h index 1cadf74b..da661670 100644 --- a/lib/gui/elistbox.h +++ b/lib/gui/elistbox.h @@ -26,6 +26,7 @@ public: protected: iListboxContent(); friend class eListbox; + virtual void updateClip(gRegion &){ }; virtual void cursorHome()=0; virtual void cursorEnd()=0; virtual int cursorMove(int count=1)=0; @@ -54,12 +55,13 @@ protected: #endif }; +#ifndef SWIG struct eListboxStyle { ePtr m_background, m_selection; int m_transparent_background; - gRGB m_background_color, m_foreground_color; - int m_background_color_set, m_foreground_color_set; + gRGB m_background_color, m_background_color_selected, m_foreground_color, m_foreground_color_selected; + int m_background_color_set, m_foreground_color_set, m_background_color_selected_set, m_foreground_color_selected_set; /* {m_transparent_background m_background_color_set m_background} @@ -70,6 +72,7 @@ struct eListboxStyle {1 x p} use transparent background picture */ }; +#endif class eListbox: public eWidget { @@ -119,12 +122,15 @@ public: void setSelectionEnable(int en); void setBackgroundColor(gRGB &col); + void setBackgroundColorSelected(gRGB &col); void setForegroundColor(gRGB &col); + void setForegroundColorSelected(gRGB &col); void setBackgroundPicture(ePtr &pixmap); void setSelectionPicture(ePtr &pixmap); - struct eListboxStyle *getLocalStyle(void); #ifndef SWIG + struct eListboxStyle *getLocalStyle(void); + /* entryAdded: an entry was added *before* the given index. it's index is the given number. */ void entryAdded(int index); /* entryRemoved: an entry with the given index was removed. */ @@ -134,6 +140,8 @@ public: /* the complete list changed. you should not attemp to keep the current index. */ void entryReset(bool cursorHome=true); + int getEntryTop(); + void invalidate(const gRegion ®ion = gRegion::invalidRegion()); protected: int event(int event, void *data=0, void *data2=0); void recalcSize();