X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d31edc55afe5881edd22b2b058f3b2e8663cdf3d..92929c357751afc31f7f1acbe3e724bdf307cf23:/lib/gui/elistbox.h diff --git a/lib/gui/elistbox.h b/lib/gui/elistbox.h index 62461e14..00736535 100644 --- a/lib/gui/elistbox.h +++ b/lib/gui/elistbox.h @@ -15,7 +15,7 @@ public: /* indices go from 0 to size(). the end is reached when the cursor is on size(), i.e. one after the last entry (this mimics - stl behaviour) + stl behavior) cursors never invalidate - they can become invalid when stuff is removed. Cursors will always try @@ -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 { @@ -99,7 +102,7 @@ public: }; */ int getCurrentIndex(); - void moveSelection(int how); + void moveSelection(long how); void moveSelectionTo(int index); void moveToEnd(); bool atBegin(); @@ -119,13 +122,15 @@ public: void setSelectionEnable(int en); void setBackgroundColor(gRGB &col); + void setBackgroundColorSelected(gRGB &col); void setForegroundColor(gRGB &col); - void setTransparent(int t); - void setBackgroundPicture(gPixmap *pm); - void setSelectionPicture(gPixmap *pm); + 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. */ @@ -135,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();