<?xml version="1.0" encoding="utf-8"?>
<mx:Application name="ProgressBar_textAlign_test"
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white"
initialize="init();">
<mx:Script>
<![CDATA[
import flash.text.TextFormatAlign;
import mx.containers.ApplicationControlBar;
import mx.containers.Form;
import mx.containers.FormItem;
import mx.controls.ComboBox;
import mx.controls.ProgressBar;
import mx.controls.ProgressBarLabelPlacement;
import mx.events.ListEvent;
private var labelPlacementComboBox:ComboBox;
private var labelPlacementDP:Array;
private var progressBar:ProgressBar;
private var textAlignComboBox:ComboBox;
private var textAlignDP:Array;
private function init():void {
labelPlacementDP = [];
labelPlacementDP.push({label:ProgressBarLabelPlacement.LEFT});
labelPlacementDP.push({label:ProgressBarLabelPlacement.RIGHT});
labelPlacementDP.push({label:ProgressBarLabelPlacement.TOP});
labelPlacementDP.push({label:ProgressBarLabelPlacement.BOTTOM});
labelPlacementDP.push({label:ProgressBarLabelPlacement.CENTER});
textAlignDP = [];
textAlignDP.push({label:TextFormatAlign.LEFT});
textAlignDP.push({label:TextFormatAlign.CENTER});
textAlignDP.push({label:TextFormatAlign.RIGHT});
labelPlacementComboBox = new ComboBox();
labelPlacementComboBox.dataProvider = labelPlacementDP;
labelPlacementComboBox.selectedIndex = 3;
labelPlacementComboBox.addEventListener(ListEvent.CHANGE,
labelPlacementComboBox_change);
textAlignComboBox = new ComboBox();
textAlignComboBox.dataProvider = textAlignDP;
textAlignComboBox.addEventListener(ListEvent.CHANGE,
textAlignComboBox_change);
var formItem1:FormItem = new FormItem();
formItem1.label = "labelPlacement:";
formItem1.addChild(labelPlacementComboBox);
var formItem2:FormItem = new FormItem();
formItem2.label = "textAlign:";
formItem2.addChild(textAlignComboBox);
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);
progressBar = new ProgressBar();
progressBar.indeterminate = true;
progressBar.width = 200;
addChild(progressBar);
}
private function adjustLabelWidth():void {
var lWidth:Number;
switch (labelPlacementComboBox.selectedItem.label) {
case ProgressBarLabelPlacement.LEFT:
case ProgressBarLabelPlacement.RIGHT:
lWidth = NaN;
break;
default:
lWidth = progressBar.width;
break;
}
progressBar.setStyle("labelWidth", lWidth);
}
private function labelPlacementComboBox_change(evt:ListEvent):void {
var value:String = labelPlacementComboBox.selectedItem.label;
progressBar.labelPlacement = value;
adjustLabelWidth();
}
private function textAlignComboBox_change(evt:ListEvent):void {
var value:String = textAlignComboBox.selectedItem.label;
progressBar.setStyle("textAlign", value);
adjustLabelWidth();
}
]]>
</mx:Script>
</mx:Application>