Fix sizing issues and others
This commit is contained in:
parent
b2c393d23a
commit
e9a4801d9e
12 changed files with 325 additions and 142 deletions
|
|
@ -38,10 +38,6 @@ void DockLayoutWidget::process(const EventHandler& events) {
|
|||
if (!mPreviewWidget) {
|
||||
handleResizeEvents(events);
|
||||
}
|
||||
|
||||
calculateSideAreas();
|
||||
calculateResizeHandles();
|
||||
updateChildSideWidgets();
|
||||
}
|
||||
|
||||
void DockLayoutWidget::draw(Canvas& canvas) {
|
||||
|
|
@ -146,7 +142,7 @@ void DockLayoutWidget::toggleWidgetVisibility(Side side) {
|
|||
}
|
||||
|
||||
void DockLayoutWidget::calculateSideAreas() {
|
||||
auto startArea = getRelativeArea();
|
||||
auto startArea = getRelativeAreaCache();
|
||||
|
||||
for (auto& sideWidget : mSideWidgets) {
|
||||
const auto side = sideWidget.order;
|
||||
|
|
@ -246,7 +242,7 @@ void DockLayoutWidget::handleResizeEvents(const EventHandler& events) {
|
|||
sideWidget.resizeHandle.active = true;
|
||||
|
||||
mResizing = true;
|
||||
triggerWidgetUpdate();
|
||||
triggerWidgetUpdate("new docked child");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -275,12 +271,12 @@ void DockLayoutWidget::updateChildSideWidgets() {
|
|||
if (!isSideVisible(Side(i))) {
|
||||
// widget->mEnable = false;
|
||||
} else {
|
||||
widget->setArea(mSideWidgets[i].area);
|
||||
widget->setAreaCache(mSideWidgets[i].area);
|
||||
// widget->mEnable = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (mCenterWidget) mCenterWidget->setArea(mCenterArea);
|
||||
if (mCenterWidget) mCenterWidget->setAreaCache(mCenterArea);
|
||||
}
|
||||
|
||||
// update depth order
|
||||
|
|
@ -369,3 +365,9 @@ auto DockLayoutWidget::getSideFromWidget(Widget* widget) -> Side {
|
|||
}
|
||||
return DockLayoutWidget::NONE;
|
||||
}
|
||||
|
||||
void DockLayoutWidget::adjustChildrenRect() {
|
||||
calculateSideAreas();
|
||||
calculateResizeHandles();
|
||||
updateChildSideWidgets();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue