<?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 RemoteObject tag. -->
<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">
        
    <!--  Make sure the Flex Data Services proxy-config.xml file contains the following definition.
    The Java class mypackage.stockquote.MyTicker.class must be available on the 
    web application's classpath.
        
    <destination id="MyRemoteObjectDest">
        <properties>
            <source>mypackage.stockquote.MyTicker</source>
            <scope>application</scope>
        </properties>
    </destination>
    -->
        
    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;        
        ]]>    
    </fx:Script>

    <fx:Declarations>
        <mx:RemoteObject id="RO" destination="MyRemoteObjectDest"
            fault="Alert.show(event.fault.faultString), 'Error'">
            
            <mx:method name="GetQuote">
                <mx:arguments>
                    <symbol>{stockSymbol.text}</symbol>
                </mx:arguments>
            </mx:method>
        </mx:RemoteObject>
    </fx:Declarations>
        
    <mx:Panel title="RemoteObject Example" height="75%" width="75%" 
        paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">
            
        <mx:Label width="100%"  color="blue"
            text="Enter a stock symbol to obtain a quote."/>
            
        <mx:TextInput id="stockSymbol" text="ADBE"/>
        <mx:Button label="Get Quote" click="RO.GetQuote.send()"/>
            
        <mx:Text htmlText="Company: {RO.GetQuote.lastResult.GetQuoteResult.StockQuote.Company}"/>
        <mx:Text htmlText="Current price: ${RO.GetQuote.lastResult.GetQuoteResult.StockQuote.Price}"/>
    </mx:Panel>    
</s:Application>