X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fgui%2Felistbox.h;h=0073653529d5e27aaffc9161b51b04654d228bae;hp=1cadf74b75085d4c0b8537fbc9471f1c73b1fc21;hb=849b33656dc710cfa5f644a55680fd396ab1d8d7;hpb=7e6f15005ac50206ace23e1d3496e8c6550c14f5 diff --git a/lib/gui/elistbox.h b/lib/gui/elistbox.h index 1cadf74..0073653 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,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();