Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/listview.h')
-rw-r--r--src/ui/listview.h24
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