gui layout refactor (#1114)

This commit is contained in:
Turánszki János
2025-06-01 17:07:12 +02:00
committed by GitHub
parent 2d3ec28b24
commit c31aa35c53
42 changed files with 1106 additions and 2099 deletions
+10 -40
View File
@@ -266,46 +266,16 @@ void SoftBodyWindow::SetEntity(Entity entity)
void SoftBodyWindow::ResizeLayout()
{
wi::gui::Window::ResizeLayout();
const float padding = 4;
const float width = GetWidgetAreaSize().x;
float y = padding;
float jump = 20;
layout.margin_left = 120;
const float margin_left = 120;
auto add = [&](wi::gui::Widget& widget) {
if (!widget.IsVisible())
return;
widget.SetPos(XMFLOAT2(margin_left, y));
widget.SetSize(XMFLOAT2(width - margin_left - padding, widget.GetScale().y));
y += widget.GetSize().y;
y += padding;
};
auto add_right = [&](wi::gui::Widget& widget) {
if (!widget.IsVisible())
return;
widget.SetPos(XMFLOAT2(width - padding - widget.GetSize().x, y));
y += widget.GetSize().y;
y += padding;
};
auto add_fullwidth = [&](wi::gui::Widget& widget) {
if (!widget.IsVisible())
return;
const float margin_left = padding;
widget.SetPos(XMFLOAT2(margin_left, y));
widget.SetSize(XMFLOAT2(width - margin_left - padding, widget.GetScale().y));
y += widget.GetSize().y;
y += padding;
};
add_fullwidth(infoLabel);
add_fullwidth(resetButton);
add(detailSlider);
add(massSlider);
add(frictionSlider);
add(restitutionSlider);
add(pressureSlider);
add(vertexRadiusSlider);
add_right(windCheckbox);
layout.add_fullwidth(infoLabel);
layout.add_fullwidth(resetButton);
layout.add(detailSlider);
layout.add(massSlider);
layout.add(frictionSlider);
layout.add(restitutionSlider);
layout.add(pressureSlider);
layout.add(vertexRadiusSlider);
layout.add_right(windCheckbox);
}