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

Reply via email to