Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/inventorylistview.cc')
-rw-r--r--src/client/inventorylistview.cc39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/client/inventorylistview.cc b/src/client/inventorylistview.cc
new file mode 100644
index 0000000..656adfb
--- /dev/null
+++ b/src/client/inventorylistview.cc
@@ -0,0 +1,39 @@
+/*
+ client/inventorylistview.cc
+ This file is part of the Osirion project and is distributed under
+ the terms and conditions of the GNU General Public License version 2
+*/
+
+#include "client/inventorylistview.h"
+#include "ui/listitem.h"
+
+namespace client {
+
+InventoryListView::InventoryListView(ui::Widget *parent) : ui::ListView (parent)
+{
+ set_inventory(0, 0);
+}
+
+void InventoryListView::set_inventory(core::Inventory *inventory, core::InfoType *info_type)
+{
+ remove_children();
+
+ if (!inventory || !info_type) {
+ return;
+ }
+
+ for (core::Inventory::Items::const_iterator it = inventory->items().begin(); it != inventory->items().end(); it++) {
+ core::Item *item = (*it);
+
+ if (item->info() && item->info()->type() == info_type) {
+ ui::ListItem *listitem = 0;
+ listitem = new ui::ListItem(this, item->info()->name().c_str());
+ listitem->set_height(listitem->font()->height() * 2.0f);
+ listitem->set_info(item->info());
+ }
+ }
+
+ event_resize();
+}
+
+} // namespace client \ No newline at end of file