ageom.w = max(ageom.w, max_w+margin.left+margin.right);
ageom.h = max(ageom.h, total_h+margin.top+margin.bottom);
}
+ else if(part.get_name()=="slider")
+ autosize_child(slider, part, ageom);
}
void List::set_data(ListData &d)
}
}
+void List::rebuild_special(const Part &part)
+{
+ if(part.get_name()=="slider")
+ reposition_child(slider, part);
+ Widget::rebuild_special(part);
+}
+
void List::render_special(const Part &part, GL::Renderer &renderer) const
{
if(part.get_name()=="items")
void List::on_geometry_change()
{
- reposition_slider();
reposition_items();
check_view_range();
if(!style)
return;
- reposition_slider();
reposition_items();
check_view_range();
}
-void List::reposition_slider()
-{
- if(!style)
- return;
-
- if(const Part *slider_part = style->get_part("slider"))
- {
- Geometry sgeom = slider_part->get_geometry();
- slider_part->get_alignment().apply(sgeom, geom, slider_part->get_margin());
- slider.set_geometry(sgeom);
- }
-}
-
void List::item_autosize_changed()
{
signal_autosize_changed.emit();