[Lazarus] Lazarus IDE + Qt annoyances
Graeme Geldenhuys
graemeg.lists at gmail.com
Sat Feb 6 13:12:22 CET 2010
Graeme Geldenhuys schrieb:
>> Yes, you need to mess with Gtk to do it. I would however recommend
>> that you try it with Qt instead.
>
> But that defeats the point of LCL then - not all features work in all
> widgetsets. So you end up having an application that looks or behaves
> different depending on widgetset used (Qt, GTK1, GTK2, Win32, Carbon
> etc.). Consistent cross-platform out the window. :-(
I'm still dreaming of an LCL that also supports widgetsets natively.
Please note *also*, not exclusively.
This model would cover an set of general controls, which map to
compatible controls of every widgetset. This would make layouts
compatible across widgetsets, with a chance to select one of multiple
compatible controls for the controls in the general form descriptions
(skeletons).
Then distinct GUIs can be created from a form skeleton, for specific
widgetsets, where the code of the form interacts with the native
controls, with regards to painting, event handling, and whatever is
different across multiple widgetsets. Most configuration can be done in
the Object Inspector, based on the properties of the concrete (native)
controls. An XML or similar description of the form layouts could cover
the specific settings of every component in dedicated widgetset sections.
A more general form designer would cover the different layout rules,
resulting from according container controls or layout managers. As I
already suggested, the TWinControl.DockManager then could be replaced by
an LayoutManager hook, with all required methods to configure and resize
the child controls of a container control. Then docked controls differ
from other controls only in their DragMode property, and the DockSite
property only is an alias for Parent. Regardless of how controls are
inserted into a container control - by an form designer, in code or by
docking - the Dock/LayoutManager of the container handles their
placement within the container.
DoDi
More information about the Lazarus
mailing list