mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-16 08:42:23 +00:00
Merge remote-tracking branch 'swick/inventorypos'
Conflicts: apps/openmw/mwgui/inventorywindow.cpp
This commit is contained in:
commit
ca94d1a2fb
@ -37,6 +37,11 @@ namespace MWGui
|
|||||||
, mPreviewDirty(true)
|
, mPreviewDirty(true)
|
||||||
, mDragAndDrop(dragAndDrop)
|
, mDragAndDrop(dragAndDrop)
|
||||||
, mSelectedItem(-1)
|
, mSelectedItem(-1)
|
||||||
|
, mPositionInventory(0, 342, 498, 258)
|
||||||
|
, mPositionContainer(0, 342, 498, 258)
|
||||||
|
, mPositionCompanion(0, 342, 498, 258)
|
||||||
|
, mPositionBarter(0, 342, 498, 258)
|
||||||
|
, mGuiMode(GM_Inventory)
|
||||||
{
|
{
|
||||||
static_cast<MyGUI::Window*>(mMainWidget)->eventWindowChangeCoord += MyGUI::newDelegate(this, &InventoryWindow::onWindowResize);
|
static_cast<MyGUI::Window*>(mMainWidget)->eventWindowChangeCoord += MyGUI::newDelegate(this, &InventoryWindow::onWindowResize);
|
||||||
|
|
||||||
@ -68,7 +73,7 @@ namespace MWGui
|
|||||||
|
|
||||||
mFilterAll->setStateSelected(true);
|
mFilterAll->setStateSelected(true);
|
||||||
|
|
||||||
setCoord(0, 342, 498, 258);
|
setCoord(mPositionInventory.left, mPositionInventory.top, mPositionInventory.width, mPositionInventory.height);
|
||||||
onWindowResize(static_cast<MyGUI::Window*>(mMainWidget));
|
onWindowResize(static_cast<MyGUI::Window*>(mMainWidget));
|
||||||
|
|
||||||
mPreview.setup();
|
mPreview.setup();
|
||||||
@ -84,6 +89,27 @@ namespace MWGui
|
|||||||
mPreview.setup();
|
mPreview.setup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void InventoryWindow::setGuiMode(GuiMode mode)
|
||||||
|
{
|
||||||
|
mGuiMode = mode;
|
||||||
|
switch(mode) {
|
||||||
|
case GM_Container:
|
||||||
|
mMainWidget->setCoord(mPositionContainer);
|
||||||
|
break;
|
||||||
|
case GM_Companion:
|
||||||
|
mMainWidget->setCoord(mPositionCompanion);
|
||||||
|
break;
|
||||||
|
case GM_Barter:
|
||||||
|
mMainWidget->setCoord(mPositionBarter);
|
||||||
|
break;
|
||||||
|
case GM_Inventory:
|
||||||
|
default:
|
||||||
|
mMainWidget->setCoord(mPositionInventory);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
onWindowResize(static_cast<MyGUI::Window*>(mMainWidget));
|
||||||
|
}
|
||||||
|
|
||||||
TradeItemModel* InventoryWindow::getTradeModel()
|
TradeItemModel* InventoryWindow::getTradeModel()
|
||||||
{
|
{
|
||||||
return mTradeModel;
|
return mTradeModel;
|
||||||
@ -211,6 +237,21 @@ namespace MWGui
|
|||||||
_sender->getSize().width - 12 - (_sender->getSize().height-44) * aspect - 15,
|
_sender->getSize().width - 12 - (_sender->getSize().height-44) * aspect - 15,
|
||||||
_sender->getSize().height-44 );
|
_sender->getSize().height-44 );
|
||||||
|
|
||||||
|
switch(mGuiMode) {
|
||||||
|
case GM_Container:
|
||||||
|
mPositionContainer = _sender->getCoord();
|
||||||
|
break;
|
||||||
|
case GM_Companion:
|
||||||
|
mPositionCompanion = _sender->getCoord();
|
||||||
|
break;
|
||||||
|
case GM_Barter:
|
||||||
|
mPositionBarter = _sender->getCoord();
|
||||||
|
break;
|
||||||
|
case GM_Inventory:
|
||||||
|
default:
|
||||||
|
mPositionInventory = _sender->getCoord();
|
||||||
|
}
|
||||||
|
|
||||||
if (mMainWidget->getSize().width != mLastXSize || mMainWidget->getSize().height != mLastYSize)
|
if (mMainWidget->getSize().width != mLastXSize || mMainWidget->getSize().height != mLastYSize)
|
||||||
{
|
{
|
||||||
mLastXSize = mMainWidget->getSize().width;
|
mLastXSize = mMainWidget->getSize().width;
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include "windowpinnablebase.hpp"
|
#include "windowpinnablebase.hpp"
|
||||||
#include "widgets.hpp"
|
#include "widgets.hpp"
|
||||||
|
#include "mode.hpp"
|
||||||
|
|
||||||
namespace MWGui
|
namespace MWGui
|
||||||
{
|
{
|
||||||
@ -47,6 +48,8 @@ namespace MWGui
|
|||||||
|
|
||||||
void updatePlayer();
|
void updatePlayer();
|
||||||
|
|
||||||
|
void setGuiMode(GuiMode mode);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DragAndDrop* mDragAndDrop;
|
DragAndDrop* mDragAndDrop;
|
||||||
|
|
||||||
@ -73,6 +76,13 @@ namespace MWGui
|
|||||||
MyGUI::Button* mFilterMagic;
|
MyGUI::Button* mFilterMagic;
|
||||||
MyGUI::Button* mFilterMisc;
|
MyGUI::Button* mFilterMisc;
|
||||||
|
|
||||||
|
MyGUI::IntCoord mPositionInventory;
|
||||||
|
MyGUI::IntCoord mPositionContainer;
|
||||||
|
MyGUI::IntCoord mPositionCompanion;
|
||||||
|
MyGUI::IntCoord mPositionBarter;
|
||||||
|
|
||||||
|
GuiMode mGuiMode;
|
||||||
|
|
||||||
int mLastXSize;
|
int mLastXSize;
|
||||||
int mLastYSize;
|
int mLastYSize;
|
||||||
|
|
||||||
|
@ -441,16 +441,19 @@ namespace MWGui
|
|||||||
mMap ->setVisible(eff & GW_Map);
|
mMap ->setVisible(eff & GW_Map);
|
||||||
mStatsWindow ->setVisible(eff & GW_Stats);
|
mStatsWindow ->setVisible(eff & GW_Stats);
|
||||||
mInventoryWindow->setVisible(eff & GW_Inventory);
|
mInventoryWindow->setVisible(eff & GW_Inventory);
|
||||||
|
mInventoryWindow->setGuiMode(mode);
|
||||||
mSpellWindow ->setVisible(eff & GW_Magic);
|
mSpellWindow ->setVisible(eff & GW_Magic);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GM_Container:
|
case GM_Container:
|
||||||
mContainerWindow->setVisible(true);
|
mContainerWindow->setVisible(true);
|
||||||
mInventoryWindow->setVisible(true);
|
mInventoryWindow->setVisible(true);
|
||||||
|
mInventoryWindow->setGuiMode(mode);
|
||||||
break;
|
break;
|
||||||
case GM_Companion:
|
case GM_Companion:
|
||||||
mCompanionWindow->setVisible(true);
|
mCompanionWindow->setVisible(true);
|
||||||
mInventoryWindow->setVisible(true);
|
mInventoryWindow->setVisible(true);
|
||||||
|
mInventoryWindow->setGuiMode(mode);
|
||||||
break;
|
break;
|
||||||
case GM_Dialogue:
|
case GM_Dialogue:
|
||||||
mDialogueWindow->setVisible(true);
|
mDialogueWindow->setVisible(true);
|
||||||
@ -458,6 +461,7 @@ namespace MWGui
|
|||||||
case GM_Barter:
|
case GM_Barter:
|
||||||
mInventoryWindow->setVisible(true);
|
mInventoryWindow->setVisible(true);
|
||||||
mInventoryWindow->setTrading(true);
|
mInventoryWindow->setTrading(true);
|
||||||
|
mInventoryWindow->setGuiMode(mode);
|
||||||
mTradeWindow->setVisible(true);
|
mTradeWindow->setVisible(true);
|
||||||
break;
|
break;
|
||||||
case GM_SpellBuying:
|
case GM_SpellBuying:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user