ladybird/Applications/FileManager/FileManagerWindow.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

53 lines
1 KiB
Text

@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
}
}
}