Refactor Layout Manager
This commit is contained in:
parent
7cf3328a40
commit
54dcbcb46b
28 changed files with 408 additions and 123 deletions
|
|
@ -44,7 +44,7 @@ bool DockLayout::undockWidget(Side side) {
|
|||
removed = true;
|
||||
}
|
||||
if (removed) {
|
||||
swap(mSideWidgets[i].order, mSideWidgets[i + 1].order);
|
||||
swapV(mSideWidgets[i].order, mSideWidgets[i + 1].order);
|
||||
}
|
||||
}
|
||||
mSideWidgets[3].order = -1;
|
||||
|
|
@ -184,6 +184,15 @@ auto DockLayout::getSideFromWidget(Widget* widget) -> Side {
|
|||
return DockLayout::NONE;
|
||||
}
|
||||
|
||||
void DockLayout::updateLayout(bool vertical) {
|
||||
for (auto child : children()) {
|
||||
child->getLayout()->pickRect(vertical);
|
||||
}
|
||||
|
||||
if (vertical) return;
|
||||
adjustChildrenRect();
|
||||
}
|
||||
|
||||
void DockLayout::adjustChildrenRect() {
|
||||
calculateSideAreas();
|
||||
calculateResizeHandles();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue