<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<!-- Simple example to demonstrate the Spark CurrencyFormatter. -->
<s:Application
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx">
    
    <fx:Declarations>
        <s:CurrencyFormatter id="currencyFormatter"/>
    </fx:Declarations>
    
    <fx:Script>
        <![CDATA[
            [Bindable]
            private var currencyAmount:Number = 123456.789;
        ]]>
    </fx:Script>
    
    <s:Form>
        <s:FormItem label="Input Locale ID Name">
            <s:HGroup>
                <s:TextInput id="inputLocaleIDName"/>
                <!-- Upon button click, sets the locale style on the document
                UI component. The formatter will inherit this style. -->
                <s:Button click="setStyle('locale', inputLocaleIDName.text);"
                          label="Apply"/>
            </s:HGroup>
            <s:Label text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
        </s:FormItem>
        <s:FormItem label="Use Currency Symbol">
            <s:CheckBox id="useSymbol"
                        click="currencyFormatter.useCurrencySymbol = useSymbol.selected"/>
        </s:FormItem>
        <s:FormItem label="Actual Locale ID Name">
            <s:Label text="{currencyFormatter.actualLocaleIDName}"/>
        </s:FormItem>
        <s:FormItem label="Formatted Result">
            <s:Label text="{currencyFormatter.format(currencyAmount)}"/>
        </s:FormItem>
    </s:Form>
</s:Application>
