set_text(t);
}
-void Entry::autosize_special(const Part &part, Geometry &ageom)
+void Entry::autosize_special(const Part &part, Geometry &ageom) const
{
if(part.get_name()=="text")
{
Geometry sgeom = part.get_geometry();
if(!sgeom.w || !sgeom.h)
{
- slider->autosize();
+ Geometry wgeom;
+ slider->autosize(wgeom);
if(!sgeom.w)
- sgeom.w = slider->get_geometry().w;
+ sgeom.w = wgeom.w;
if(!sgeom.h)
- sgeom.h = slider->get_geometry().h;
+ sgeom.h = wgeom.h;
}
const Sides &margin = part.get_margin();
void Entry::rebuild_special(const Part &part)
{
if(part.get_name()=="text")
- text.build(part, geom, first_row, part_cache);
+ text.build(part, state, geom, first_row, part_cache);
else if(part.get_name()=="cursor")
{
const Graphic *graphic = part.get_graphic(state);
Geometry sgeom = slider_part->get_geometry();
if(!sgeom.w || !sgeom.h)
{
- slider->autosize();
+ Geometry wgeom;
+ slider->autosize(wgeom);
if(!sgeom.w)
- sgeom.w = slider->get_geometry().w;
+ sgeom.w = wgeom.w;
if(!sgeom.h)
- sgeom.h = slider->get_geometry().h;
+ sgeom.h = wgeom.h;
}
slider_part->get_alignment().apply(sgeom, geom, slider_part->get_margin());