[Gtk-sharp-list] drawing problem during resize of panedwidget, handle/toolbar always-on-top, window resize performance

Gennadiy Donchyts don at env.com.ua
Thu Aug 4 02:58:13 EDT 2005


>On Wed, 2005-08-03 at 15:57 +0200, Gennadiy Donchyts wrote:
>> >1. On windows platform there is strange behavior of redrawing widgets
>> > inside the paned window (right in HPaned and bottom in VPaned), see
>> > http://don.env.com.ua/files/gtk/problem_1.png. When I change size of
the
>> > paned window using its grip - the widget inside doesn't redraw
correctly.
>> 
>> It is possible to eliminate a bad drawing after attaching to the Expose
>> event of the Paned widget and calling <widget>.QueueDraw() to the right /
>> bottom widget.
>> 
>> private void OnPanedPropertiesExpose(object o, ExposeEventArgs args)
>> {
>> 	_treeProperties.QueueDraw();
>> }
>
>That is absolutely the wrong way to do it.
>
>What you want to do is hook up to the widget that gets misdrawn
>SizeAllocate and QueueDraw there.
>

Why it is wrong if it works? I'm the newbie for Gtk :). The _treeProperties
in a.m. example is the widget that is drawn incorrectly so I redraw it each
time when paned gets expose.

I've tried to look on SizeAllocate - in mono gtk# handbook there is nothing.
There is some info in gtk+ (for the beginners an Allocation in the widget
sounds more like something to do with memory :)).

The next code worked well:

==============
...
_gtkTreeProperties.SizeAllocated +=new
SizeAllocatedHandler(_OnTreePropertiesSizeAllocated);
...

private void OnTreePropertiesSizeAllocated(object o, SizeAllocatedArgs args)
{
	_gtkTreeProperties.QueueDraw();
}
...
==============

>Hopefully this win32 bug will get fixed soon though.
>
>--Todd

--Gena



More information about the Gtk-sharp-list mailing list