[Lazarus] External/out-of-tree LCL widgetset

Kostas Michalopoulos badsectoracula at gmail.com
Mon Nov 27 18:45:42 CET 2017


@Sven:
Ah, i thought the custom drawn was built on top of LCL. Hm, regardless, it
doesn't solve my concern, since what i want is to reuse my widget toolkit.
Otherwise i'd probably work on fpGUI's Lazarus bindings since fpGUI seems
to be more mature.

@Martin:
No, it is tied to LCL :-P a lot of code uses LCL classes and i don't really
separate the "business logic" since i never planned (nor plan) to use that
code outside of LCL/Lazarus. This is mostly library code for
graphics-related utilities, common code for UI stuff like adjustments, etc.
Some code could work outside of LCL, but it is mixed with code that relies
on LCL and separating the two isn't worth the effort.

@Michael:
The "most of my code is LCL specific" part is about the code i work with on
Lazarus. Overall my code is pretty much even between Lazarus and C (with a
very tiny bit of LCL-free Free Pascal code). Generally for GUI heavy
desktop stuff i use Lazarus (and LCL) and for everything else i use C. For
some newer GUI stuff (currently light in GUI) i also use C with my toolkit.

@Mattias:
Thanks for the information. So in theory i could write a shell script that
creates a symbolic link lcl/interfaces/wsfoo that points to some external
(from Lazarus' source code dir) directory and adds (via sed, awk or
whatever) wsfoo to lcl/lclplatformdef.pas and then projects that override
the target widgetset (via the LCLWidgetType:=foo IDE macro) would work?

Kostas


On Mon, Nov 27, 2017 at 1:36 PM, Mattias Gaertner via Lazarus <
lazarus at lists.lazarus-ide.org> wrote:

> On Sun, 26 Nov 2017 19:32:21 +0200
> Kostas Michalopoulos via Lazarus <lazarus at lists.lazarus-ide.org> wrote:
>
> >[...]
> > As i said, i do not think this would be useful enough to others to be
> part
> > of the Lazarus tree. I ask because i remember a few months ago someone
> > having an Amiga widgetset pretty much in working condition and that was
> > something he worked on for a while, so i wondered if there was some
> > mechanism for that. I suppose just having a big patch would also work,
> > although it is kind of inconvenient.
>
> The Amiga widgetset is the 'mui'.
>
> You can add a new widgetset in folder lcl/interfaces/yourws and use it
> in your project.
>
> For some nicer integration you can add an enum to
> lcl/lclplatformdef.pas.
>
> The IDE checks only the sources listed in the lcl.lpk. Since your files
> are not listed there, changing any of your widgetset sources will not
> trigger building the LCL package automatically. So you have to click on
> the 'Compile' button in the LCL package.
>
> Mattias
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus-ide.org
> https://lists.lazarus-ide.org/listinfo/lazarus
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20171127/58b38337/attachment.html>


More information about the Lazarus mailing list