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


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to