[Lazarus] nonlcl basic issue: is codetools LCL dependent?

Giuliano Colla giuliano.colla at fastwebnet.it
Tue Jun 24 09:30:27 CEST 2014


Il 24/06/2014 09:14, Michael Schnell ha scritto:
> On 06/23/2014 06:48 PM, Giuliano Colla wrote:
>>
>> one must add a Mediator, aware of the new widgetset units, etc. But 
>> currently duplicates aren't allowed. Meaning that a different 
>> widgetset cannot contain units or classes with the same name of an 
>> LCL counterpart.
> As you never mention this term I am not sure if you are aware of the 
> Lazarus concept of Widget Types. I understand, at compile time the 
> define variable WidgetType is used to (e.g.) select include files that 
> define the behavior of all related objects. I understand that this is 
> provided to allow for things similar to "different widgetset contained 
> in units or classes with the same name", by moving the relevant source 
> code to include files..
>
Widget Types are LCL related. It's the part which actually implements 
virtual abstract methods in the Interfaces unit.
>>
>> Moreover widgets must be designer aware: you increase the width 
>> property, and the widget must become wider. LCL widgets already are, 
>> others must be adapted to take advantage of Lazarus Mediator, 
>> Designer etc.
> I understand that you can add new widgets to the Lazarus GUI designer 
> by installing packets (and then recompiling the ide)
>
> Why not add the Widgets you are missing using a packet ? (If you want 
> to re-use existing code, maybe you can activate macro-processing for 
> compiling these units (I seem to remember that fpc somehow allows for 
> this) and by that e.g. rename the "duplicate" classes, or write your 
> own preprocessor doing this. )
>

I'm already using packages, but they're run time only packages. They 
can't be installed into the IDE, because of class names conflict, and 
therefore they can't take advantage of the IDE Designer facilities. 
Solving this problem is the subject of this thread.

Giuliano





More information about the Lazarus mailing list