1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-10-13 16:52:18 +00:00
serenity/Applications/Spreadsheet/CondFormatting.gml
Andreas Kling 7dc5a3ead8 LibGUI: Rewrite layout system in terms of min and max sizes
This patch removes size policies and preferred sizes, and replaces them
with min-size and max-size for each widget.

Box layout now works in 3 passes:

    1) Set all items (widgets/spacers) to their min-size
    2) Distribute remaining space evenly, respecting max-size
    3) Place widgets one after the other, adding spacing in between

I've also added convenience helpers for setting a fixed size (which is
the same as setting min-size and max-size to the same value.)

This significantly reduces the verbosity of widget layout and makes GML
a bit more pleasant to write, too. :^)
2020-12-30 01:36:41 +01:00

34 lines
639 B
Text

@GUI::Widget {
name: "main"
fill_with_background_color: true
layout: @GUI::VerticalBoxLayout {
spacing: 4
}
@Spreadsheet::ConditionsView {
name: "conditions_view"
}
@GUI::Widget {
fixed_height: 20
layout: @GUI::HorizontalBoxLayout {
spacing: 10
}
@GUI::Button {
name: "add_button"
text: "Add"
fixed_width: 100
fixed_height: 20
}
@GUI::Button {
name: "remove_button"
text: "Remove"
fixed_width: 100
fixed_height: 20
}
}
}