diff options
Diffstat (limited to 'src/ui/listview.h')
-rw-r--r-- | src/ui/listview.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/ui/listview.h b/src/ui/listview.h index 25fd07c..a650348 100644 --- a/src/ui/listview.h +++ b/src/ui/listview.h @@ -12,6 +12,13 @@ namespace ui { +class ListView; +} + +#include "ui/listitem.h" + +namespace ui +{ /** * @brief a list of selectable items @@ -27,6 +34,11 @@ public: return listview_scroll; } + /// return last selected listitem + inline ListItem *selected() const { + return listview_selecteditem; + } + /* -- mutators --------------------------------------------- */ /// set scroll @@ -38,11 +50,21 @@ public: /// scroll up void dec_scroll(float scroll); + /// clear all listitems + void clear(); + + /// set selection to nothing + void deselect(); + protected: virtual void resize(); + /// emit event handler + virtual bool on_emit(Widget *sender, const Event event, void *data); + private: - float listview_scroll; + float listview_scroll; + ListItem *listview_selecteditem; }; } // namespacd ui |