X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/5d4117d8e413629c17fee5c13589375a3f1cc2bd..98a85fc2c88266504dfd5887e55d3a75765c87ab:/lib/gui/elistbox.h diff --git a/lib/gui/elistbox.h b/lib/gui/elistbox.h index a7ed637d..08f80035 100644 --- a/lib/gui/elistbox.h +++ b/lib/gui/elistbox.h @@ -4,6 +4,8 @@ #include #include +class eSlider; + class iListboxContent: public iObject { public: @@ -49,9 +51,18 @@ protected: class eListbox: public eWidget { + void updateScrollBar(); public: eListbox(eWidget *parent); ~eListbox(); + + enum { + showOnDemand, + showAlways, + showNever + }; + void setScrollbarMode(int mode); + void setContent(iListboxContent *content); /* enum Movement { @@ -63,6 +74,7 @@ public: }; */ void moveSelection(int how); + void moveSelectionTo(int index); enum ListboxActions { moveUp, @@ -92,13 +104,16 @@ protected: void recalcSize(); private: + int m_scrollbar_mode, m_prev_scrollbar_page; + bool m_content_changed; + int m_top, m_selected; int m_itemheight; int m_items_per_page; int m_selection_enabled; ePtr m_content; + eSlider *m_scrollbar; #endif - }; #endif