From a85c3ca1ff34775f2fc93013306dec21b34b0359 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Fri, 17 Sep 2010 23:05:58 +0000 Subject: Initial inventory loading, ships docking ships --- src/client/inventorylistview.cc | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/client/inventorylistview.cc (limited to 'src/client/inventorylistview.cc') 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 -- cgit v1.2.3