mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-29 12:49:08 +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. :^)
54 lines
1.0 KiB
Plaintext
54 lines
1.0 KiB
Plaintext
@GUI::Widget {
|
|
fill_with_background_color: true
|
|
layout: @GUI::VerticalBoxLayout {
|
|
spacing: 2
|
|
}
|
|
|
|
@GUI::ToolBarContainer {
|
|
@GUI::ToolBar {
|
|
name: "main_toolbar"
|
|
}
|
|
@GUI::ToolBar {
|
|
name: "location_toolbar"
|
|
visible: false
|
|
|
|
@GUI::Label {
|
|
text: "Location: "
|
|
autosize: true
|
|
}
|
|
|
|
@GUI::TextBox {
|
|
name: "location_textbox"
|
|
fixed_height: 22
|
|
}
|
|
}
|
|
@GUI::ToolBar {
|
|
name: "breadcrumb_toolbar"
|
|
|
|
@GUI::BreadcrumbBar {
|
|
name: "breadcrumb_bar"
|
|
}
|
|
}
|
|
}
|
|
|
|
@GUI::HorizontalSplitter {
|
|
name: "splitter"
|
|
|
|
@GUI::TreeView {
|
|
name: "tree_view"
|
|
fixed_width: 175
|
|
}
|
|
|
|
}
|
|
|
|
@GUI::StatusBar {
|
|
name: "statusbar"
|
|
|
|
@GUI::ProgressBar {
|
|
name: "progressbar"
|
|
text: "Generating thumbnails: "
|
|
visible: false
|
|
}
|
|
}
|
|
}
|