X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c4ae98ad75de9cfb5a38fb01c116a771350f339a..9c67a0512940f563046f7df57524836bb35a8447:/lib/gui/elistbox.h diff --git a/lib/gui/elistbox.h b/lib/gui/elistbox.h index df1c6915..7538170c 100644 --- a/lib/gui/elistbox.h +++ b/lib/gui/elistbox.h @@ -38,6 +38,8 @@ protected: virtual int size()=0; + virtual int currentCursorSelectable(); + void setListbox(eListbox *lb); // void setOutputDevice ? (for allocating colors, ...) .. requires some work, though @@ -46,6 +48,8 @@ protected: /* the following functions always refer to the selected item */ virtual void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected)=0; + virtual int getItemHeight()=0; + eListbox *m_listbox; #endif }; @@ -57,12 +61,15 @@ public: eListbox(eWidget *parent); ~eListbox(); + PSignal0 selectionChanged; + enum { showOnDemand, showAlways, showNever }; void setScrollbarMode(int mode); + void setWrapAround(bool); void setContent(iListboxContent *content); @@ -77,6 +84,9 @@ public: int getCurrentIndex(); void moveSelection(int how); void moveSelectionTo(int index); + void moveToEnd(); + bool atBegin(); + bool atEnd(); enum ListboxActions { moveUp, @@ -87,10 +97,9 @@ public: pageDown, justCheck }; - + void setItemHeight(int h); void setSelectionEnable(int en); - #ifndef SWIG /* entryAdded: an entry was added *before* the given index. it's index is the given number. */ void entryAdded(int index); @@ -108,6 +117,7 @@ protected: private: int m_scrollbar_mode, m_prev_scrollbar_page; bool m_content_changed; + bool m_enabled_wrap_around; int m_top, m_selected; int m_itemheight;