[Lazarus] GTK2 changed to single-handle-per-form design

Luiz Americo Pereira Camara luizmed at oi.com.br
Tue Dec 15 10:57:42 CET 2009


Graeme Geldenhuys escreveu:
> Henry Vermaak wrote:
>   
>> Maybe you can
>> also explain to me what good hard-coded bounds are, given that you
>> will never be able to get it right to suit everyone's language, theme
>> or font size.
>>     
>
> And how bad does it look when a component paints outside it's bounds. Quick
> answer - Terrible! Considering that I have not seen a single other GUI
> toolkit allow that, it IS simply a bug in GTK2.
>   

It's necessary to have in mind that Gtk is not supposed to be used as is 
used by LCL (with fixed bounds and position).
The default Gtk behavior is to resize and position the controls 
according to font size etc, so this problem will never occurs when used 
as is proposed. This explains why LCL programs have such issues while 
pure Gtk2 apps not.

Another point is that LCL uses the default Gtk controls, that are built 
with the above design in mind, while Gtk allows to change the widgets 
behavior by subclassing (inheritance). In other words the full potential 
of Gtk as a toolkit is not used.
The problem is the inheritance model (GObject) is not as straight as C++ 
or pascal.

Anyway, i have in mind somethings to fix in Gtk2.


Luiz




More information about the Lazarus mailing list