[lazarus] Progress

Marc Weustink weus at quicknet.nl
Tue Aug 31 17:42:07 EDT 1999


At 11:14 31-08-99 -0400, you wrote:
>
>
>On Tue, 31 Aug 1999, Samuel Liddicott wrote:
>
>> Form designer waits on more complete (internally) VCL implementation
which I
>> am also working on.
>> More complete VCL internals await knowledge of more GTK primitive
operations
>> which I am studying.
>
>I am concerned over this statement. Exactly what GTK primitives are you
>talking about? You should not be dealing with GTK primitives at all. The
>whole idea of the LCL and Lazarus is to remove the requirement of using
>the primitives. This is something that is handled in and by the widget set
>library.
>
>I was on vacation for 2 weeks and having read over the archive I get the
>feeling that there is an impression that Lazarus and the LCL will be able
>to use ALL of the wonderful tools in places like Delphi Super Page. Well
>it will not. Most of these tools rely on the ability to inherit from an
>existing class say TButton for example. Then they override the Draw method
>to create a new button which maintains all of the original button features
>such as events. This will not work with Lazarus. 

Why not ?

>The reason is due to the
>fact that ALL and I mean ALL of the generation of the Button, how it
>looks, how it is drawn, how it reacts to events is found in and controled
>by the GTK library. 

OK, but if you found a way to pass drawing to the canvas of the LCL-button
to the widget-librar, then I cant see why it's wrong to inherit a LCL
button and add your own stuff. If you have to do this in the lib's then
youend up implementing one for every lib!

>If you want to create a new component like that you
>need to modify the GTK library. You can't do it from within Lazarus or the
>LCL.
>
>We have to keep this separation so that we can support alternate API
>libraries. The minute you add that feature to GTK and us it in your
>program you remove the possibility of using other API's if they do not
>also have that same component. 

Thats what I like about Lazarus. We shouls use core componets available in
all API's or components based upon/constructed by these core components. If
I see it correcvtly these should be in the LCL and not in the API-lib.

>So with that respect the core part of
>Lazarus and the LCL should never support more than the standard widgets
>found in all API's. That is the only way that the LCL can maintain cross
>platform and cross API ability.
>
>Free Pascal, the FCL, Lazarus, and the LCL will be able to be used like
>Delphi and be able to port components that are non-visible but it will
>most likely NEVER be able to port a large portion of visible Delphi
>components unless they are also found in other widget sets like GTK and
>Qt.
If these visual components neatly use the core components and no ugly
windows hacks I still see no problem.

>Is this concept clear to everyone???

I hope (but am not sure).

Marc







More information about the Lazarus mailing list