/* 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); } InventoryListView::~InventoryListView() { } void InventoryListView::set_inventory(core::Inventory *inventory, core::InfoType *info_type) { remove_children(); if (!inventory || !info_type) { return; } // TODO scan the inventories and request updated infos // update when necessary 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