blob: 3c5db154f7afcd3ea74e03ffeca1b106d89ec5db [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<csxs:CSXSWindowedApplication
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:csxs="com.adobe.csxs.core.*"
usePreloader="false" showStatusBar="false"
layout="absolute" historyManagementEnabled="false" applicationComplete="init()" xmlns:comp="org.apache.view.components.*">
<mx:Style source="default.css"/>
<mx:Script>
<![CDATA[
import com.adobe.csxs.core.CSXSInterface;
import com.adobe.csxs.types.AppSkinInfo;
import com.adobe.csxs.types.ColorType;
import com.adobe.csxs.types.HostEnvironment;
import com.adobe.csxs.types.RGBColor;
import com.adobe.csxs.types.SyncRequestResult;
import com.adobe.csxs.types.UIColor;
import org.apache.controller.FlyoutController;
import org.apache.model.utils.ColorUtils;
import org.apache.view.utils.SkinUtils;
[Bindable]
private var hostName:String = HostObject.mainExtension;
[Bindable]private var backgroundColor:uint;
private function init():void{
var result:SyncRequestResult;
result = CSXSInterface.getInstance().getHostEnvironment();
var hostEnv:HostEnvironment;
var skin:AppSkinInfo;
if(SyncRequestResult.COMPLETE == result.status && result.data)
{
hostEnv = result.data as HostEnvironment;
skin = hostEnv.appSkinInfo;
backgroundColor = colorToUint(skin.panelBackgroundColor);
SkinUtils.backgroundColor = backgroundColor;
SkinUtils.darkTheme = backgroundColor <= 0x777777;
SkinUtils.setStyleDeclarations();
darkRule.setStyle("strokeColor",ColorUtils.darken(backgroundColor,20));
lightRule.setStyle("strokeColor",ColorUtils.lighten(backgroundColor,20));
mx.core.Application.application.setStyle("backgroundColor", colorToString(skin.panelBackgroundColor));
mx.core.Application.application.setStyle("fontFamily", skin.baseFontFamily);
mx.core.Application.application.setStyle("fontSize", skin.baseFontSize);
}
// add flyout menu...
new FlyoutController(this);
}
public function colorSync():void{
AutoTheme.sync();
}
private function colorToUint(uiColor:UIColor):uint{return (uiColor.type == ColorType.RGB) ? (uiColor.color as RGBColor).rgb : 0;}
private function colorToString(uiColor:UIColor):String{return (uiColor.type == ColorType.RGB) ? rgbToString(uiColor.color) : "Unknown";}
private function rgbToString(color:RGBColor):String{return "#" + color.rgb.toString(16).toUpperCase();}
[Bindable]private var nativeProvider:Array = [
{label:'Native Item 1'},
{label:'Native Item 2'},
{isSeparator:true},
{label:'Native Item 3'},
{label:'Native Item 4'},
];
]]>
</mx:Script>
<mx:VBox height="100%" width="100%" verticalAlign="middle" horizontalAlign="center">
<mx:Button styleName="button" label="A Button"/>
<mx:RadioButton styleName="radiobutton" label="A Radio Button"/>
<mx:ComboBox styleName="combobox" dataProvider="['Item 1','Item 2']"/>
<comp:NativeComboBox styleName="combobox" dataProvider="{nativeProvider}" autoCheck="true"/>
<mx:CheckBox styleName="checkbox" label="A Checkbox"/>
<mx:TextArea/>
</mx:VBox>
<mx:HRule bottom="21" width="100%" id="darkRule"/>
<mx:HRule bottom="20" width="100%" id="lightRule"/>
<mx:Button bottom="0" height="22" styleName="panelbutton" label="X"/>
</csxs:CSXSWindowedApplication>