Hello!

As I have mentioned before, Siarhei Barysiuk and I have been working on 
XSLT stylesheets which transform xml templates into qooxdoo javascript. 
This is a feature that is still missing from qooxdoo and would be very 
useful (The exisiting javascript Builder is ok, but far too slow, and 
not flexible in its design since it statically translates xml tags into 
class names). Siarhei has designed the architecture of the stylesheets 
very flexible. By using templates, arbitrary xml tags can be mapped to 
snippets of code which "implement" a certain widget. So it is possible 
even to have alternative xml syntaxes for the same widget to fit the 
developer's style.

The whole system was initially designed for version 0.5 and worked quite 
well (see http://qxtransformer.sourceforge.net). Now we would like to 
adapt it to the upcoming version 0.7 and have a couple of questions. We 
don't know anything about the compile process (and won't have the time 
to learn about it) and therefore are dependent on the support of the 
core developers in integrating the xml->js generation process into the 
compile process. In particular, the developers would need to provide 
hooks and compile-time configuration options that enable us to integrate 
our work.

One question is where the xml templates should be stored in the qooxdoo 
(skeleton) folder structure - this we happily leave to decide to the 
core developers.

Another question is how the generated javascript object(s) should be 
integrated into the object hierarchy? One could think of having an 
attribute "classname" in the top-level widget like so

<qx:window classname="custom.mynewwindow">
  [all child widgets]
</qx:window>

This would then generate
qx.Class.define ( "custom.mynewwindow",

|{
  extend : qx.ui.window,
  construct: function()
  {
   [here the main widget generation code is placed]
  }
});
|

and then the actual window would be called from Application.main:

mynewwindow = new custom.mynewwindow();
mynewwindow.addToDocument(); // or this could go into the constructor

Once this is done, one could even think of writing more stylesheets to 
transform xml produced by visual gui builders such as glade or 
qtdesigner (athough, of course, not everything can be mapped), or xul 
code. We think that would be an exciting prospect.

We had started our own project at qxtransformer.sourceforge.net because 
at the time, it wasn't clear whether it was possible to contribute to 
the qooxdoo svn, and we certainly did not want to mail in patches for 
our own project. Once this is settled - I have heard that you are 
currently thinking about the issue - we can think about putting the code 
into the core svn.

Siarhei is working on documentation so once the main questions are 
settled, we can restart the work and invite all interested developers to 
contribute....

Christian

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to