Table of Contents

FlexDesigner

Sorry, FlexibleMXML was started and quickly passed this project in functionality so this was discontinued.

Consider this page deprecated.

Goal

Make a graphical layout tool to create mxml documents. This will give a cross platform, open source alternative to FlexBuilder.

How?

Trolltech has a tool called QT Designer for laying out their cross platform C++ applications. It outputs an XML format similar to mxml. We will:

  1. Create an XSLT to transfrom from QT's .ui format to mxml
  2. Create AS2 and AS3 classes to mimic some QT specific behavior.
  3. Create QT plugins to better approximate the look and feel of a flex application while in the QT designer.
  4. Create tools to streamline the workflow between the designer and the developers normal environment.

Trolltech provides the designer under the GPL.

Examples

Some work has begun on the xslt as a proof of concept. Following is a screenshot of an interface created in the QT designer, and the resulting swf after compiling the transformed mxml document.

test1.jpg

test1-swf.jpg

Newest Feature

Just learned a lot about XSLT, and got combo boxes working. Sounds easy, but there needs to be some actionscript to populate the values so it wasn't. Check this out:

<?xml version="1.0" encoding="UTF-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="685" height="592" layout="absolute">
    <mx:Script><![CDATA[              
                [Bindable]
                public var comboBox_ds:Array = [
 
                {
                label:"Item1",
                data:4
                }
                    , 
                {
                label:"Item2",
                data:6
                }
                    , 
                {
                label:"Item3",
                data:8
                }
 
                ];
                ]]></mx:Script>
    <mx:Canvas borderStyle="outset" backgroundColor="#c0c0c0" width="671" height="571" x="10" y="20">
        <mx:ComboBox dataProvider="{comboBox_ds}" width="241" height="23" x="20" y="20"/>
    </mx:Canvas>
</mx:Application>

Current Hurdle

The layout managers in QT and Flex work significantly different. While absolute position controls are simple to implement, it'll take a great deal of thought to get dynamic layouts working correctly.

Current Phase

The XSLT is the current focus of development since that's the heart of the entire project.

Example Data

Here is an example of QT's output. http://www.flashyourspace.com/flexdesigner/test.ui

Here is an example of that output after run through our proof-of-concept XSLT http://www.flashyourspace.com/flexdesigner/test.mxml