Lazarus

Programming => Widgetset => GTK => Topic started by: Blaazen on May 06, 2013, 03:30:59 pm

Title: GTK2 - transparency of native widgets
Post by: Blaazen on May 06, 2013, 03:30:59 pm
Look at screenshot: When parent (Form) has non defalt color (Color<>clDefault) then native widgets (TButton, TEdit) have non-transparent frame. Non native widgets (TSpeedBtn, TBitBtn) are OK. Is it normal? Note that I am usually on KDE4, there's no problem.
Title: Re: GTK2 - transparency of native widgets
Post by: Dibo on May 06, 2013, 04:20:54 pm
Yeah, I spent nights on these issues. Thing are more complicated when you also use panels, radiogrups etc and targets are Windows and Linux. Finally my mind exploded and I moved to the fpGUI. Now I'm using LCL only for ERP (which is Lazarus target I supose) systems where theming and bacground colors are not important. If the customer only mentions about something "fancy" then I just left LCL and start project based on fpGUI or BGRAControls.
Here is question "Quo vadis LCL?". I think that GTK/QT/Win32 widgetset system finally will collapse. You hit GTK with hammer and something drop out from Win32 side. Lazarus team should start development of custom drawn controls or join to some existing projects like fpGUI/Custom Drawn (like QT did). This will not solve all problems but most of them. Certainly it reduce issues to the one API, not 5. I know that there is a lot of work, but if you look on Lazarus standard palette, most of controls are already custom drawn, labels, drawgrid, speed button, treeview, these are custom drawn controls. Buttons can be replaced by speed button, listview (which never worked same on Win32/Linux) can be easily replaced by drawgrid. Only TEdits, popupmenus and scrollbars are native. Custom Drawn Controls brings a lot of advantages, unique look, style manager ease of adding new functionality.
Title: Re: GTK2 - transparency of native widgets
Post by: felipemdc on June 17, 2013, 01:33:46 pm
Lazarus team should start development of custom drawn controls or join to some existing projects like fpGUI/Custom Drawn (like QT did).

LCL/Custom Drawn is part of the LCL, see http://wiki.freepascal.org/Custom_Drawn_Interface , so it already has what you are asking for. But it hasn't gained much traction, the preference among most lazarus developers seams to be native controls. LCL/Custom Drawn needs more contributors.