OpenMW
apps/openmw/mwgui/containeritemmodel.hpp
Go to the documentation of this file.
00001 #ifndef MWGUI_CONTAINER_ITEM_MODEL_H
00002 #define MWGUI_CONTAINER_ITEM_MODEL_H
00003 
00004 #include "itemmodel.hpp"
00005 
00006 namespace MWGui
00007 {
00008 
00011     class ContainerItemModel : public ItemModel
00012     {
00013     public:
00014         ContainerItemModel (const std::vector<MWWorld::Ptr>& itemSources, const std::vector<MWWorld::Ptr>& worldItems);
00017 
00018         ContainerItemModel (const MWWorld::Ptr& source);
00019 
00020         virtual ItemStack getItem (ModelIndex index);
00021         virtual ModelIndex getIndex (ItemStack item);
00022         virtual size_t getItemCount();
00023 
00024         virtual void copyItem (const ItemStack& item, size_t count);
00025         virtual void removeItem (const ItemStack& item, size_t count);
00026 
00027         virtual void update();
00028 
00029     private:
00030         std::vector<MWWorld::Ptr> mItemSources;
00031         std::vector<MWWorld::Ptr> mWorldItems;
00032 
00033         std::vector<ItemStack> mItems;
00034     };
00035 
00036 }
00037 
00038 #endif