Re: How to make a Gtk::IconView recompute and repaint its columns



On Mon, 2009-11-30 at 17:12 -0500, Todor Todorov wrote: 
> Hello list,
> 
> I have a Gtk::IconView and a custom cell renderer for displaying 
> thumbnails. The cell renderer overrides the default size and paint 
> vfuncs and computes size/paints with regard to a current zoom value. The 
> relevant parts in the cell renderer are:
> 
> <code>
> private:
>      Glib::Property< gdouble >  propertyZoom;
> public:
>      Glib::PropertyProxy< gdouble >  property_thumb_zoom() { return 
> propertyZoom.get_proxy(); }
> </code>
> 
> When the zoom changes via a slider, I do something like:
> 
> <code>
>      m_pCell->property_thumb_zoom() = slider->get_value();
>      m_pIconView->queue_draw();
> </code>
> 
> That works OK with one exception: The cell render computes the new size 
> correctly and the thumbnails are redrawn according to the new zoom 
> value, but the icon view itself still paints the same number of columns 
> as it started out originally. Which makes icons encroach each others 
> space in case of zooming in, or way too big spaces between columns in 
> case of zooming out.
> 
> Any ideas how to fix that? Help is greatly appreciated.

Maybe the icon view's set_columns() or set_spacing() methods?

-- 
José




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]