Hi Mattias,
Mattias Gaertner wrote 12 lines
On Sat, 14 Nov 2009 15:44:37 +0100
Alexander Kaupp 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?
Hmm I am not shure what is the better/easier way to start. Would be great to have it as a new LCL-Interface.
Show quoted text 20 lines
> 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.
ok I thought this is a part of lazarus, good to know :)
Show quoted text 8 lines
> 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?
I read this tut:
http://www.ar-ent.net/dar/arlib32/out/html/man/xul/index.html
tbh I dont event know really many about it. But I am familiar with web-tech, CSS/JavaScript so the XUL-Stuff is easy for me to understand. The Problem is how to add this features to lazarus.
Show quoted text 8 lines
> 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?
Yes I know ... This is one reason why I dont know where to start :) But I think the mozilla-projects and afaik the GNOME-Projekt shows that everything is possible with this kind of technology.
So the main-part of this work is to replace the lcl-stuff which is in the app-binary as javascript-pendants. Because all gui-stuff is done in this language in xul. So you could see the app as the server and the XUl-gui-stuff as the client.
Maybe it is easier to start with an IDE extension to write
XUL/XPCOM apps?
If you say it is easier I will try it this way.
But I am not shure if this is possible, because the XUL-Approach is really different to all other GUI-Designs. And I am not a really experienced pascal-programmer tbh. Did too much web the last years :(
thanks again for the tipps and I hope to be able to create someting.
Hope I can contribute this to the project. Imo the idea is great expecially for the lazarus-projekt.
Show quoted text 13 lines
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
--
_______________________________________________
Lazarus mailing list
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus