<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white">
<mx:Script>
<![CDATA[
import mx.controls.dataGridClasses.DataGridColumn;
import mx.styles.StyleManager;
import mx.utils.StringUtil;
private const DELIM:String = ",";
private function toHex(item:Object):String {
var hex:String = Number(item).toString(16);
return ("00000" + hex.toUpperCase()).substr(-6);
}
private function button_click():void {
var colorStr:String = StringUtil.trimArrayElements(textInput.text, DELIM);
var colorArr:Array = colorStr.split(DELIM);
StyleManager.getColorNames(colorArr);
dataGrid.dataProvider = colorArr;
}
private function nameFunc(item:Object, column:DataGridColumn):String {
return item.toString();
}
private function colorFunc(item:Object, column:DataGridColumn):String {
if (isNaN(Number(item))) {
return "NOT A COLOR";
} else {
return "#" + toHex(item);
}
}
]]>
</mx:Script>
<mx:ApplicationControlBar dock="true">
<mx:Label text="Color names:" />
<mx:TextInput id="textInput" />
<mx:Button id="button"
label="Submit"
click="button_click()" />
</mx:ApplicationControlBar>
<mx:DataGrid id="dataGrid" rowHeight="22">
<mx:columns>
<mx:DataGridColumn labelFunction="nameFunc"
headerText="Color value (int):"
width="140" />
<mx:DataGridColumn labelFunction="colorFunc"
headerText="Color value (hex):"
width="140" />
</mx:columns>
</mx:DataGrid>
</mx:Application>