1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-11-02 16:26:39 +00:00
openmw/apps/openmw/mwgui/inventorytabsoverlay.cpp

49 lines
1.5 KiB
C++

#include "inventorytabsoverlay.hpp"
#include "../mwbase/environment.hpp"
#include "../mwbase/windowmanager.hpp"
namespace MWGui
{
InventoryTabsOverlay::InventoryTabsOverlay()
: WindowBase("openmw_inventory_tabs.layout")
{
MyGUI::Button* tab;
getWidget(tab, "TabMap");
tab->eventMouseButtonClick += MyGUI::newDelegate(this, &InventoryTabsOverlay::onTabClicked);
mTabs.push_back(tab);
getWidget(tab, "TabInventory");
tab->eventMouseButtonClick += MyGUI::newDelegate(this, &InventoryTabsOverlay::onTabClicked);
mTabs.push_back(tab);
getWidget(tab, "TabSpells");
tab->eventMouseButtonClick += MyGUI::newDelegate(this, &InventoryTabsOverlay::onTabClicked);
mTabs.push_back(tab);
getWidget(tab, "TabStats");
tab->eventMouseButtonClick += MyGUI::newDelegate(this, &InventoryTabsOverlay::onTabClicked);
mTabs.push_back(tab);
}
void InventoryTabsOverlay::onTabClicked(MyGUI::Widget* sender)
{
for (int i = 0; i < mTabs.size(); i++)
{
if (mTabs[i] == sender)
{
Log(Debug::Verbose) << "InventoryTabsOverlay::onTabClicked " << i;
MWBase::Environment::get().getWindowManager()->setActiveControllerWindow(GM_Inventory, i);
//setTab(i);
break;
}
}
}
void InventoryTabsOverlay::setTab(int index)
{
for (int i = 0; i < mTabs.size(); i++)
mTabs[i]->setStateSelected(i == index);
}
}