diff options
Diffstat (limited to 'tutorial/as3/src/CalculatorUI.as')
-rw-r--r-- | tutorial/as3/src/CalculatorUI.as | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/tutorial/as3/src/CalculatorUI.as b/tutorial/as3/src/CalculatorUI.as deleted file mode 100644 index d996df5fa..000000000 --- a/tutorial/as3/src/CalculatorUI.as +++ /dev/null @@ -1,142 +0,0 @@ -package { - import flash.display.Sprite; - import flash.text.TextField; - import flash.text.TextFieldType; - import flash.events.MouseEvent; - import flash.system.Security; - - import org.apache.thrift.transport.TSocket; - import org.apache.thrift.transport.TTransport; - import org.apache.thrift.protocol.TProtocol; - import org.apache.thrift.protocol.TBinaryProtocol; - - /** - * Simple interface and connection logic implementation for tutorial. - */ - public class CalculatorUI extends Sprite { - public static const BUTTON_PADDING:uint = 5; - - private var mCalculatorClient:Calculator; // we use calculator through interface - private var mTransport:TTransport; // Transport, used to comunicate with server - - private var mAddButton:Sprite; - private var mLeft:TextField; - private var mRight:TextField; - private var mResult:TextField; - - private var pingButton:Sprite; - - public function CalculatorUI() { - buildInterface(); - initSecurity(); - initConnection(); - } - - private function initSecurity():void { - Security.loadPolicyFile("xmlsocket://127.0.0.1:9092"); - } - - /** - * Example of initializing connection. - */ - private function initConnection():void { - mTransport = new TSocket("127.0.0.1", 9090); // we connect to server - mTransport.open(); - // initialize protocol: - var protocol:TProtocol = new TBinaryProtocol(mTransport, false, false); - mCalculatorClient = new CalculatorImpl(protocol); // finally, we create calculator client instance - } - - private function onPingClick(me:MouseEvent):void { - if(!mTransport.isOpen()) return; - mCalculatorClient.ping(onPingError, onPingSuccess); - } - - private function onPingError(error:Error):void { - trace("Error, while requesting ping."); - throw error; - } - - private function onPingSuccess():void { - trace("Ping returned successfully"); - } - - private function onAddClick(me:MouseEvent):void { - if(!mTransport.isOpen()) return; - var num1:Number = Number(mLeft.text); - var num2:Number = Number(mRight.text); - mResult.text = "Processing..."; - mCalculatorClient.add(num1, num2, onAddError, onAddSuccess); - } - - private function onAddError(error:Error):void { - trace("Error, while requesting add."); - throw error; - } - - private function onAddSuccess(res:Number):void { - mResult.text = String(res); - } - - private function buildInterface():void { - addChild(pingButton = buildButton("PING")); - pingButton.x = (stage.stageWidth - pingButton.width) / 2; - pingButton.y = 10; - pingButton.addEventListener(MouseEvent.CLICK, onPingClick); - - var top:Number = pingButton.y + pingButton.height + 20; - addChild(mLeft = buildDigitInput()); - mLeft.x = 15; - mLeft.y = top + BUTTON_PADDING; - addChild(mRight = buildDigitInput()); - mRight.x = mLeft.x + mLeft.width + 15; - mRight.y = top + BUTTON_PADDING; - addChild(mAddButton = buildButton("ADD")); - mAddButton.x = mRight.x + mRight.width + 15; - mAddButton.y = top; - mAddButton.addEventListener(MouseEvent.CLICK, onAddClick); - addChild(mResult = buildDigitInput()); - mResult.x = mAddButton.x + mAddButton.width + 15; - mResult.y = top + BUTTON_PADDING; - } - - /** - * Simple digit-only input field. - */ - private function buildDigitInput():TextField { - var textField:TextField = new TextField; - textField.width = 75; - textField.height = 20; - textField.restrict = "0987654321."; - textField.type = TextFieldType.INPUT; - textField.background = true; - textField.backgroundColor = 0xaaaaff; - textField.textColor = 0xffff00; - return textField; - } - - /** - * Simple button drawing. - */ - private function buildButton(text:String):Sprite { - var button:Sprite = new Sprite; - var textField:TextField = new TextField; - textField.width = 4000; - textField.text = text; - textField.textColor = 0xffff00; - textField.width = textField.textWidth + 4; - textField.height = textField.textHeight + 4; - textField.mouseEnabled = false; - button.graphics.beginFill(0x0000ff); - button.graphics.lineStyle(0, 0x000000); - button.graphics.drawRoundRect(0, 0, textField.width + BUTTON_PADDING * 2, - textField.height + BUTTON_PADDING * 2, BUTTON_PADDING); - button.graphics.endFill(); - button.addChild(textField); - textField.x = BUTTON_PADDING; - textField.y = BUTTON_PADDING; - button.useHandCursor = button.buttonMode = true; - return button; - } - } -} |