Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2010-09-18 18:50:55 +0000
committerStijn Buys <ingar@osirion.org>2010-09-18 18:50:55 +0000
commit9c91a9767b570fdc3c3e19e1f452f9a8257f9999 (patch)
tree9ac10114a3378134ea19dac3d7f7639532c3bf5a /src/ui/listview.cc
parentfc4809e41bc5694231046eb2fd4c324c4daba13f (diff)
trade updates
Diffstat (limited to 'src/ui/listview.cc')
-rw-r--r--src/ui/listview.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/ui/listview.cc b/src/ui/listview.cc
index da320c5..646b168 100644
--- a/src/ui/listview.cc
+++ b/src/ui/listview.cc
@@ -15,6 +15,7 @@ ListView::ListView(Widget *parent) : Widget(parent)
set_border(true);
listview_scroll = 0.0f;
+ listview_selecteditem = 0;
}
ListView::~ListView()
@@ -66,5 +67,26 @@ void ListView::resize()
content_top += (*it)->height();
}
}
+
+void ListView::deselect()
+{
+ listview_selecteditem = 0;
+}
+
+void ListView::clear()
+{
+ listview_selecteditem = 0;
+ remove_children();
+}
+
+bool ListView::on_emit(Widget *sender, const Event event, void *data)
+{
+ if ((sender->parent() == this) && (event == Widget::EventListItemClicked)) {
+ listview_selecteditem = static_cast<ListItem *>(sender);
+ return false; // return false because parent widgets might want to handle this event
+ }
+ return ui::Widget::on_emit(sender, event, data);
+}
+
}