|
@@ -58,11 +58,29 @@ void ScrollableContainerWidget::update_widget_size()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+void ScrollableContainerWidget::update_widget_min_size()
|
|
|
+{
|
|
|
+ if (!m_widget)
|
|
|
+ set_min_content_size({});
|
|
|
+ else
|
|
|
+ set_min_content_size(Gfx::IntSize(m_widget->effective_min_size().replace_component_if_matching_with(SpecialDimension::Shrink, UISize { 0, 0 })));
|
|
|
+}
|
|
|
+
|
|
|
void ScrollableContainerWidget::resize_event(GUI::ResizeEvent& event)
|
|
|
{
|
|
|
AbstractScrollableWidget::resize_event(event);
|
|
|
+ update_widget_size();
|
|
|
update_widget_position();
|
|
|
+}
|
|
|
+
|
|
|
+void ScrollableContainerWidget::layout_relevant_change_occured()
|
|
|
+{
|
|
|
+ update_widget_min_size();
|
|
|
+ update_scrollbar_visibility();
|
|
|
+ update_scrollbar_ranges();
|
|
|
update_widget_size();
|
|
|
+ update_widget_position();
|
|
|
+ update();
|
|
|
}
|
|
|
|
|
|
void ScrollableContainerWidget::set_widget(GUI::Widget* widget)
|
|
@@ -79,6 +97,7 @@ void ScrollableContainerWidget::set_widget(GUI::Widget* widget)
|
|
|
add_child(*m_widget);
|
|
|
m_widget->move_to_back();
|
|
|
}
|
|
|
+ update_widget_min_size();
|
|
|
update_widget_size();
|
|
|
update_widget_position();
|
|
|
}
|