[Lazarus] help plz

Mattias Gaertner nc-gaertnma at netcologne.de
Sat Nov 14 16:27:33 CET 2009


On Sat, 14 Nov 2009 15:44:37 +0100
Alexander Kaupp <tanila at tanila.org> wrote:

> Hello,
> 
> I had the idea to try to make it possible to transform an existing
> lazarus-project to a XUL/XPCOM-Gui application.

Do you mean you want to write a converter tool to convert LCL
apps into XUL/XPCOM-Gui apps?
Or do you want to extend the IDE to create XUL/XPCOM-Gui apps?

 
> So I need many informations about a Lazarus Project:
> 
> - forms
> - gui-components inside a form
> - properties of all gui-components
> - eventhandler of gui-components
> - ressorces (images, lanuage-files, etc )

This is more about the lfm file than about a Lazarus project.
Take a look at lfm files: There are the components and the properties.
The types are stored in RTTI and are accessible via the unit typinfo of
the FCL.

 
> So i think this work has already been done by the lazarus project
> (Objectinspector, form-designer, etc ).

The OI and form designer are just editors. The access functions are
part of the compiler and the unit typinfo.

 
> Now I would like to make use of this existing work. But I don't know
> where to start :(
> 
> Can someone help me out, please?

I guess there are not many people here knowing how a XUL/XPCOM-Gui
application works, so it is hard to help.
Maybe you can give some small examples and/or start a wiki page?

 
> The 1st step would be to transform the lazarus-forms to XUL-Documents
> with proper css (component positioning, etc)
> Later on create the JavaScript stuff with XPCOM binding to the event
> handlers.

Ehm, you know that there are more than a hundred classes and several
thousand properties which interact in complex ways, don't you?
Maybe it is easier to start with an IDE extension to write
XUL/XPCOM apps?
Since 0.9.29 the IDE can design non LCL gui components. So you can write
your own XUL components and use the IDE as designer, including drag and
drop, events, component editors, object inspector, visual
form inheriting and more.


Mattias




More information about the Lazarus mailing list