[Lazarus] fpGUI

Sven Barth pascaldragon at googlemail.com
Mon Jan 17 11:05:56 CET 2011


Am 17.01.2011 10:57, schrieb Michael Schnell:
> On 01/17/2011 10:42 AM, Andreas Schneider wrote:
>> You still/again confuse or mix up fpGUI and LCL-fpGUI.
> I just try to learn more about the differences and this is why I) asked
> this question. As the same fpGUI name is used I suppose that at least
> _some_ code is shared.
>
>> The last one is still 100% LCL, just using fpGUI for actual controls,
>> just like it does for GTK, GTK2, QT, Win32, etc.
> I (think I) do understand this.
>> So in other words: fpGUI couldn't care less how the controls are
>> streamed, managed, whatever.
> Obviously. My interpretation is that the two GUI designers, that of
> course manage different types of control files and use different ways to
> include the GUI design information in the runtime executable, in the end
> use the same backend to paint the control elements.
>
> I understand that the different provenience of the two "legacy" GUI
> designers can/needs to be handled when integrating fpGUI into Lazarus.
> And I feel that "in the end" both should result in a similar level of
> perfection. This might mean that a rather large integration of them
> could be desirable.

Let me explain this a bit differently. When using fpGUI as a LCL 
widgetset the flow is like this:

1. LFM files contain streamed LCL controls (TButton, TLabel, etc)
2. LCL controls are created according to the LFM files and their 
properties are populated
3. those LCL controls now create fpGUI controls (TfpgButton, TfpgLabel, 
etc) and convert there own properties and assign them to the fpGUI 
controls in a way that the fpGUI controls behave as expected by the user 
of the LCL

When you use the designer of Lazarus you design LCL controls, not fpGUI 
controls. The fpGUI controls are created at runtime by the widgetset 
"glue" code.

Regards,
Sven




More information about the Lazarus mailing list