<?xml version="1.0" encoding="utf-8"?> <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:util="com.adobe.cairngorm.samples.dashboard.util.*"> <mx:Script> <![CDATA[ import com.adobe.cairngorm.control.CairngormEventDispatcher; import com.adobe.cairngorm.samples.dashboard.model.StockQuote; import com.adobe.cairngorm.samples.dashboard.model.StockPurchase; import com.adobe.cairngorm.samples.dashboard.events.GetStockQuoteEvent; import com.adobe.cairngorm.samples.dashboard.events.PurchaseStockEvent; [Bindable] public var stockQuote : StockQuote; [Bindable] public var stockPurchase : StockPurchase; private function getQuoteForSymbol() : void { var event : GetStockQuoteEvent = new GetStockQuoteEvent( symbolTextInput.text ); CairngormEventDispatcher.getInstance().dispatchEvent( event ); } private function purchaseStock() : void { var event : PurchaseStockEvent = new PurchaseStockEvent( symbolTextInput.text, quantityTextInput.text as int ); CairngormEventDispatcher.getInstance().dispatchEvent( event ); } ]]> </mx:Script> <mx:CurrencyFormatter id="standardEuroFormatter" currencySymbol="€" precision="2"/> <mx:StringValidator minLength="2" triggerEvent="change" source="{ symbolTextInput }" property="text" valid="stockQuote.validateSymbol( true );" invalid="stockQuote.validateSymbol( false );"/> <mx:NumberValidator minValue="1" maxValue="100" domain="int" allowNegative="false" triggerEvent="change" source="{ quantityTextInput }" property="text" valid="stockPurchase.validateQuantity( true );" invalid="stockPurchase.validateQuantity( false );"/> <mx:Form> <mx:FormItem label="Symbol"> <mx:TextInput id="symbolTextInput"/> <mx:Button label="Get Quote" enabled="{ stockQuote.isValid }" click="getQuoteForSymbol();"/> </mx:FormItem> <mx:FormItem label="Price Quote"> <mx:Label text="{ standardEuroFormatter.format( stockQuote.lastStockQuote ) }"/> <mx:Label text="{ stockQuote.statusMessage }"/> </mx:FormItem> <mx:FormItem label="Quantity"> <mx:TextInput id="quantityTextInput"/> <mx:Button label="Purchase" enabled="{ stockPurchase.isValid }" click="purchaseStock();"/> <mx:Label text="{ stockPurchase.statusMessage }"/> </mx:FormItem> </mx:Form> </mx:Panel>