mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 07:38:10 +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. :^)
95 lines
1.8 KiB
Text
95 lines
1.8 KiB
Text
@GUI::Widget {
|
|
fill_with_background_color: true
|
|
|
|
layout: @GUI::VerticalBoxLayout {
|
|
margins: [5, 5, 5, 5]
|
|
}
|
|
|
|
@GUI::Widget {
|
|
fixed_height: 44
|
|
|
|
layout: @GUI::HorizontalBoxLayout {
|
|
spacing: 10
|
|
}
|
|
|
|
@GUI::ImageWidget {
|
|
name: "icon"
|
|
}
|
|
|
|
@GUI::Label {
|
|
name: "description"
|
|
text_alignment: "CenterLeft"
|
|
}
|
|
}
|
|
|
|
@GUI::Widget {
|
|
fixed_height: 18
|
|
|
|
layout: @GUI::HorizontalBoxLayout {
|
|
}
|
|
|
|
@GUI::Label {
|
|
text: "Executable path:"
|
|
text_alignment: "CenterLeft"
|
|
fixed_width: 90
|
|
}
|
|
|
|
@GUI::LinkLabel {
|
|
name: "executable_link"
|
|
text_alignment: "CenterLeft"
|
|
}
|
|
}
|
|
|
|
@GUI::Widget {
|
|
fixed_height: 18
|
|
|
|
layout: @GUI::HorizontalBoxLayout {
|
|
}
|
|
|
|
@GUI::Label {
|
|
text: "Coredump path:"
|
|
text_alignment: "CenterLeft"
|
|
fixed_width: 90
|
|
}
|
|
|
|
@GUI::LinkLabel {
|
|
name: "coredump_link"
|
|
text_alignment: "CenterLeft"
|
|
}
|
|
}
|
|
|
|
@GUI::Widget {
|
|
fixed_height: 18
|
|
|
|
layout: @GUI::HorizontalBoxLayout {
|
|
}
|
|
|
|
@GUI::Label {
|
|
text: "Backtrace:"
|
|
text_alignment: "CenterLeft"
|
|
}
|
|
}
|
|
|
|
@GUI::TextEditor {
|
|
name: "backtrace_text_editor"
|
|
mode: "ReadOnly"
|
|
}
|
|
|
|
@GUI::Widget {
|
|
fixed_height: 32
|
|
|
|
layout: @GUI::HorizontalBoxLayout {
|
|
}
|
|
|
|
// HACK: We need something like Layout::add_spacer() in GML! :^)
|
|
@GUI::Widget {
|
|
}
|
|
|
|
@GUI::Button {
|
|
name: "close_button"
|
|
text: "Close"
|
|
fixed_width: 70
|
|
fixed_height: 22
|
|
}
|
|
}
|
|
}
|