mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-09 01:56:21 +00:00
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. :^)
64 lines
1.2 KiB
Plaintext
64 lines
1.2 KiB
Plaintext
@GUI::Widget {
|
|
layout: @GUI::VerticalBoxLayout {
|
|
spacing: 2
|
|
}
|
|
|
|
@GUI::Widget {
|
|
layout: @GUI::HorizontalBoxLayout {
|
|
spacing: 10
|
|
}
|
|
|
|
fixed_height: 25
|
|
|
|
@GUI::Label {
|
|
text: "if..."
|
|
fixed_width: 40
|
|
fixed_height: 25
|
|
}
|
|
|
|
@GUI::TextEditor {
|
|
name: "formula_editor"
|
|
fixed_height: 25
|
|
tooltip: "Use 'value' to refer to the current cell's value"
|
|
}
|
|
}
|
|
|
|
@GUI::Widget {
|
|
layout: @GUI::HorizontalBoxLayout {
|
|
spacing: 10
|
|
}
|
|
|
|
fixed_height: 25
|
|
|
|
@GUI::Label {
|
|
text: "Foreground..."
|
|
fixed_width: 150
|
|
fixed_height: 25
|
|
}
|
|
|
|
@GUI::ColorInput {
|
|
name: "foreground_input"
|
|
fixed_height: 25
|
|
}
|
|
}
|
|
|
|
@GUI::Widget {
|
|
layout: @GUI::HorizontalBoxLayout {
|
|
spacing: 10
|
|
}
|
|
|
|
fixed_height: 25
|
|
|
|
@GUI::Label {
|
|
text: "Background..."
|
|
fixed_width: 150
|
|
fixed_height: 25
|
|
}
|
|
|
|
@GUI::ColorInput {
|
|
name: "background_input"
|
|
fixed_height: 25
|
|
}
|
|
}
|
|
}
|