<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/10/22/setting-text-alignment-on-an-fxtextarea-control-in-flex-gumbo/ -->
<Application name="FxTextArea_textAlign_test"
        xmlns="http://ns.adobe.com/mxml/2009"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white"
        initialize="init();">

    <Declarations>
        <String id="lorem" source="data/lorem.html" />
    </Declarations>

    <Script>
        <![CDATA[
            import flashx.textLayout.formats.Direction;
            import flashx.textLayout.formats.TextAlign;
            import mx.events.ListEvent;
            import mx.controls.ComboBox;
            import mx.components.FxTextArea;
            import mx.containers.Form;
            import mx.containers.FormItem;
            import mx.containers.ApplicationControlBar;

            private var textAlignDP:Array;
            private var directionDP:Array;
            private var textAlignComboBox:ComboBox;
            private var directionComboBox:ComboBox;
            private var fxTextArea:FxTextArea;

            private function init():void {
                textAlignDP = [];
                textAlignDP.push(TextAlign.START);
                textAlignDP.push(TextAlign.LEFT);
                textAlignDP.push(TextAlign.CENTER);
                textAlignDP.push(TextAlign.RIGHT);
                textAlignDP.push(TextAlign.END);
                textAlignDP.push(TextAlign.JUSTIFY);

                directionDP = [];
                directionDP.push(Direction.LTR);
                directionDP.push(Direction.RTL);

                textAlignComboBox = new ComboBox();
                textAlignComboBox.dataProvider = textAlignDP;
                textAlignComboBox.addEventListener(ListEvent.CHANGE,
                            textAlignComboBox_change);

                directionComboBox = new ComboBox();
                directionComboBox.dataProvider = directionDP;
                directionComboBox.addEventListener(ListEvent.CHANGE,
                            directionComboBox_change);

                var formItem1:FormItem = new FormItem();
                formItem1.label = "textAlign:";
                formItem1.addChild(textAlignComboBox);

                var formItem2:FormItem = new FormItem();
                formItem2.label = "direction:";
                formItem2.addChild(directionComboBox);

                var form:Form = new Form();
                form.styleName = "plain";
                form.addChild(formItem1);
                form.addChild(formItem2);

                var appControlBar:ApplicationControlBar;
                appControlBar = new ApplicationControlBar();
                appControlBar.dock = true;
                appControlBar.addChild(form);
                addChildAt(appControlBar, 0);

                fxTextArea = new FxTextArea();
                fxTextArea.content = lorem;
                fxTextArea.widthInChars = 80;
                fxTextArea.heightInLines = 25;
                fxTextArea.setStyle("marginTop", 20);
                addChild(fxTextArea);
            }

            private function textAlignComboBox_change(evt:ListEvent):void {
                var value:String = evt.currentTarget.selectedItem;
                fxTextArea.setStyle("textAlign", value);
            }

            private function directionComboBox_change(evt:ListEvent):void {
                var value:String = evt.currentTarget.selectedItem;
                fxTextArea.setStyle("direction", value);
            }
        ]]>
    </Script>

</Application>