1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 22:17:44 +00:00

PixelPaint: Make use of DynamicWidgetContainer

This patch adds the new DynamicWidgetContainer for the right panel
elements. This allows the user to collapse, expand or even detach
widgets to a separate window. The collapsed or expanded state is
persisted so that they are restored after application startup.
With this change it is possible to shrink the size of widgets to a
minimum in order to give more space to other currently important
widgets.
This commit is contained in:
Torstennator 2023-09-15 12:07:52 +02:00 committed by Andrew Kaster
parent b65e711929
commit c85c61571c
3 changed files with 64 additions and 40 deletions

View file

@ -43,59 +43,80 @@
}
}
@GUI::Widget {
fill_with_background_color: true
@GUI::DynamicWidgetContainer {
section_label: "Editor Panels"
config_domain: "PixelPaint"
with_individual_order: true
fixed_width: 200
layout: @GUI::VerticalBoxLayout {}
preferred_height: "grow"
detached_size: [200, 640]
@GUI::GroupBox {
title: "Layers"
layout: @GUI::VerticalBoxLayout {
margins: [6]
@GUI::DynamicWidgetContainer {
section_label: "Layers"
config_domain: "PixelPaint"
preferred_height: "grow"
detached_size: [250, 600]
@GUI::GroupBox {
layout: @GUI::VerticalBoxLayout {
margins: [6]
}
@PixelPaint::LayerListWidget {
name: "layer_list_widget"
}
}
@PixelPaint::LayerListWidget {
name: "layer_list_widget"
@PixelPaint::LayerPropertiesWidget {
name: "layer_properties_widget"
max_height: 94
}
}
@PixelPaint::LayerPropertiesWidget {
name: "layer_properties_widget"
max_height: 94
}
@GUI::DynamicWidgetContainer {
section_label: "Color Visualizations"
config_domain: "PixelPaint"
@GUI::GroupBox {
title: "Histogram"
preferred_height: "shrink"
visible: false
layout: @GUI::VerticalBoxLayout {
margins: [6]
}
@GUI::Widget {
layout: @GUI::VerticalBoxLayout {}
@PixelPaint::HistogramWidget {
name: "histogram_widget"
min_height: 65
@GUI::GroupBox {
visible: false
layout: @GUI::VerticalBoxLayout {
margins: [6]
}
@PixelPaint::HistogramWidget {
name: "histogram_widget"
min_height: 65
}
}
@GUI::GroupBox {
min_height: 80
visible: false
layout: @GUI::VerticalBoxLayout {
margins: [6]
}
@PixelPaint::VectorscopeWidget {
name: "vectorscope_widget"
preferred_height: "fit"
}
}
}
}
@GUI::GroupBox {
title: "Vectorscope"
min_height: 80
visible: false
layout: @GUI::VerticalBoxLayout {
margins: [6]
}
@GUI::DynamicWidgetContainer {
section_label: "Tool Properties"
config_domain: "PixelPaint"
detached_size: [200, 200]
@PixelPaint::VectorscopeWidget {
name: "vectorscope_widget"
preferred_height: "fit"
@PixelPaint::ToolPropertiesWidget {
name: "tool_properties_widget"
max_height: 144
}
}
@PixelPaint::ToolPropertiesWidget {
name: "tool_properties_widget"
max_height: 144
}
}
}