/* 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
protected:
iListboxContent();
friend class eListbox;
+ virtual void updateClip(gRegion &){ };
virtual void cursorHome()=0;
virtual void cursorEnd()=0;
virtual int cursorMove(int count=1)=0;
#endif
};
+#ifndef SWIG
struct eListboxStyle
{
ePtr<gPixmap> 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}
{1 x p} use transparent background picture
*/
};
+#endif
class eListbox: public eWidget
{
}; */
int getCurrentIndex();
- void moveSelection(int how);
+ void moveSelection(long how);
void moveSelectionTo(int index);
void moveToEnd();
bool atBegin();
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<gPixmap> &pixmap);
+ void setSelectionPicture(ePtr<gPixmap> &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. */
/* 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();