forked from mirror/openmw-tes3mp
Realign all parent boxes when autosizedwidgets change size
This commit is contained in:
parent
ccca6db865
commit
41c6045986
1 changed files with 14 additions and 11 deletions
|
@ -544,19 +544,22 @@ namespace MWGui
|
||||||
|
|
||||||
void AutoSizedWidget::notifySizeChange (MyGUI::Widget* w)
|
void AutoSizedWidget::notifySizeChange (MyGUI::Widget* w)
|
||||||
{
|
{
|
||||||
if (w->getParent () != 0)
|
MyGUI::Widget * parent = w->getParent();
|
||||||
|
if (parent != 0)
|
||||||
{
|
{
|
||||||
Box* b = dynamic_cast<Box*>(w->getParent());
|
if (mExpandDirection == MyGUI::Align::Left)
|
||||||
if (b)
|
|
||||||
b->notifyChildrenSizeChanged ();
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
if (mExpandDirection == MyGUI::Align::Left)
|
int hdiff = getRequestedSize ().width - w->getSize().width;
|
||||||
{
|
w->setPosition(w->getPosition() - MyGUI::IntPoint(hdiff, 0));
|
||||||
int hdiff = getRequestedSize ().width - w->getSize().width;
|
}
|
||||||
w->setPosition(w->getPosition() - MyGUI::IntPoint(hdiff, 0));
|
w->setSize(getRequestedSize ());
|
||||||
}
|
|
||||||
w->setSize(getRequestedSize ());
|
while (parent != 0)
|
||||||
|
{
|
||||||
|
Box * b = dynamic_cast<Box*>(parent);
|
||||||
|
if (b)
|
||||||
|
b->notifyChildrenSizeChanged();
|
||||||
|
parent = parent->getParent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue