I'd just like to get some feedback on a new addition I've made to the qooxdoo-contrib svn. Everything you need can be found in the TartanBlueprint directory.
If you don't already have the qooxdoo-contrib checked out, this will get you started with Tartan Blueprint: svn co https://qooxdoo-contrib.svn.sourceforge.net/svnroot/qooxdoo-contrib/trunk/qooxdoo-contrib/TartanBlueprint/ Note 1: You may have to change the qooxdoo path variables to get the project to generate properly. Note 2: To get the playground and designer applications to generate, you must first generate the source for the Blueprint framework. Note 3: At the moment, to generate the source or build versions of the applications, use the blueprint-source or blueprint-build jobs. (I'll fix this at some point soon.) Here's our working homepage for the project: http://www.tartansolutions.com/doku.php/open/open Here's a quick explanation about what this project is supposed to do: Blueprint Framework: This is primarily a serialization engine for the creation of forms. We have created a JSON format that describes forms, scripts and functions on objects. This is a similar approach to some of the UIDeclaration or qxTransformer work. I'm hoping to get some feedback on our solution. Here's a quick hello world example: { "objectClass": "blueprint.ui.container.Composite", "objectId": "", "type": "top_container", "qxSettings": {}, "constructorSettings": { "innerLayout": "qx.ui.layout.Canvas" }, "blueprintScripts": { "buttonListener": "$mybutton.addListener(\"execute\", function(e) {alert(\"Hello World!\");});" }, "contents": [ { "layoutmap": { "top": 50, "left": 50 }, "object": { "objectClass": "blueprint.ui.form.Button", "objectId": "mybutton", "type": "object", "qxSettings": { "label": "First Button" }, "constructorSettings": {} } } ] } I'll describe a little bit of what's going on here. Each object has a type which can be object, container or top_container. Objects are pretty simple; they're qx objects. The container type simply tells Blueprint to recurse into the container and build all objects inside of it. A top_container is the top level of a form, and defines a namespace for all object IDs within that form. I'm doing a simple variable replacement in the blueprintScripts node to reference any object IDs defined later in the json. Hence, $mybutton will operate on the mybutton object. The blueprintScripts are always executed immediately after form creation. There is also support for object functions in a blueprintFunctions node. To generate this form object, all you would have to do would be parse the json and pass the resulting object into the blueprint.Manager generate function. A fair number of the qx UI elements are supported now and it's very easy to add serialization stubs to the framework. Blueprint Designer: This is a graphical form designer for use with the Tartan Blueprint framework. There's still a lot of work to be done here, but I think it has come far enough along to start asking for comments. The basic idea is that a form can be created quickly by dragging UI elements onto a canvas. The designer can then translate the form into a json object that Blueprint can build into a working form. You can see a working example here: http://sandbox.tartansolutions.com/designer/ The code for the designer is in the qx contrib under TartanBlueprint/application/designer/ I do want to stress that, I'm envisioning the designer as a form designer; not as a full application designer. If it can evolve into something larger, that would be pretty cool. I'd definitely like it if people took a look and gave me some comments on how things are set up. Currently, basic drag and drop support is in the designer. The next big thing I want to add will be a simple script editor so the designer can describe form behavior as well as layout. There is an "Export to Playground" button in the designer that will export the form json into the playground application and run the code. Blueprint Playground: Most of you will probably recognize this one. I just made some quick modifications to the qx playground to allow for Blueprint code to be rendered inside of it and for the designer to be able to export to it. http://sandbox.tartansolutions.com/playground/ Let me know what you think. Thanks, -Dan -- View this message in context: http://www.nabble.com/New-qooxdoo-contrib%3A-Tartan-Blueprint-Serialization-and-WYSIWYG-Form-Designer-tp25622063p25622063.html Sent from the qooxdoo-devel mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ qooxdoo-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
