implemented filters (no gui yet)

This commit is contained in:
scrawl 2012-05-12 20:35:50 +02:00
parent 24e54a81bd
commit fd18c95c5f
2 changed files with 11 additions and 1 deletions

View file

@ -29,6 +29,7 @@ using namespace Widgets;
ContainerBase::ContainerBase(WindowManager& parWindowManager,DragAndDrop* dragAndDrop,std::string guiFile) ContainerBase::ContainerBase(WindowManager& parWindowManager,DragAndDrop* dragAndDrop,std::string guiFile)
: WindowBase(guiFile, parWindowManager), : WindowBase(guiFile, parWindowManager),
mDragAndDrop(dragAndDrop), mDragAndDrop(dragAndDrop),
mFilter(MWWorld::ContainerStore::Type_All),
mContainer() mContainer()
{ {
getWidget(mContainerWidget, "Items"); getWidget(mContainerWidget, "Items");
@ -95,6 +96,12 @@ void ContainerBase::setName(std::string contName)
adjustWindowCaption(); adjustWindowCaption();
} }
void ContainerBase::setFilter(int filter)
{
mFilter = filter;
drawItems();
}
void ContainerBase::open(MWWorld::Ptr container) void ContainerBase::open(MWWorld::Ptr container)
{ {
mContainer = container; mContainer = container;
@ -117,7 +124,7 @@ void ContainerBase::drawItems()
int index = 0; int index = 0;
for (MWWorld::ContainerStoreIterator iter (containerStore.begin()); iter!=containerStore.end(); ++iter) for (MWWorld::ContainerStoreIterator iter (containerStore.begin(mFilter)); iter!=containerStore.end(); ++iter)
{ {
index++; index++;
if(iter->getRefData().getCount() > 0) if(iter->getRefData().getCount() > 0)

View file

@ -52,6 +52,7 @@ namespace MWGui
void open(MWWorld::Ptr container); void open(MWWorld::Ptr container);
void setName(std::string contName); void setName(std::string contName);
void setFilter(int filter); ///< set category filter
void Update(); void Update();
protected: protected:
@ -61,6 +62,8 @@ namespace MWGui
DragAndDrop* mDragAndDrop; DragAndDrop* mDragAndDrop;
MWWorld::Ptr mContainer; MWWorld::Ptr mContainer;
int mFilter;
void onSelectedItem(MyGUI::Widget* _sender); void onSelectedItem(MyGUI::Widget* _sender);
void onContainerClicked(MyGUI::Widget* _sender); void onContainerClicked(MyGUI::Widget* _sender);