forked from mirror/openmw-tes3mp
b2e5e8dd0d
Hide inventory window pin button in container, companion and barter mode. Restore the pinned inventory window position when exiting these modes. Allow toggling windows visibility in inventory mode only.
32 lines
854 B
C++
32 lines
854 B
C++
#include "windowpinnablebase.hpp"
|
|
|
|
#include "exposedwindow.hpp"
|
|
|
|
namespace MWGui
|
|
{
|
|
WindowPinnableBase::WindowPinnableBase(const std::string& parLayout)
|
|
: WindowBase(parLayout), mPinned(false)
|
|
{
|
|
ExposedWindow* window = static_cast<ExposedWindow*>(mMainWidget);
|
|
mPinButton = window->getSkinWidget ("Button");
|
|
|
|
mPinButton->eventMouseButtonClick += MyGUI::newDelegate(this, &WindowPinnableBase::onPinButtonClicked);
|
|
}
|
|
|
|
void WindowPinnableBase::onPinButtonClicked(MyGUI::Widget* _sender)
|
|
{
|
|
mPinned = !mPinned;
|
|
|
|
if (mPinned)
|
|
mPinButton->changeWidgetSkin ("PinDown");
|
|
else
|
|
mPinButton->changeWidgetSkin ("PinUp");
|
|
|
|
onPinToggled();
|
|
}
|
|
|
|
void WindowPinnableBase::setPinButtonVisible(bool visible)
|
|
{
|
|
mPinButton->setVisible(visible);
|
|
}
|
|
}
|