0) dialog.title = title; dialog.closeButtonLabel = closeButtonLabel; dialog.selfDisposing = selfDisposing; dialog.message = message; dialog.closeListener = closeListener; dialog.invoker = invokerComponent; //Dispatch the event for get clear background Application.application.dispatchEvent(new ModalDialogEvent(ModalDialogEvent.OPEN)); PopUpManager.centerPopUp(dialog); } private function creationCompleteHandler() : void { var focusTimer: Timer = new Timer(500, 1); focusTimer.addEventListener(TimerEvent.TIMER, moveFocus); focusTimer.start(); if (this.selfDisposing) { var disposeTime: Timer = new Timer(800, 1); disposeTime.addEventListener(TimerEvent.TIMER, autoDisposeDialog); disposeTime.start(); accessibleMessage.name = this.title; } } private function disposeDialog() : void { if (closeListener != null) { closeListener(); } //Dispatch the event for remove clear background Application.application.dispatchEvent(new ModalDialogEvent(ModalDialogEvent.CLOSE)); PopUpManager.removePopUp(this); if (invoker != null) { callLater(setInvokerComponentFocus); } } private function setInvokerComponentFocus(): void { // EVENT_OBJECT_SELECTION == 0x8006 Accessibility.sendEvent(invoker, 0, 0x8006); invoker.setFocus(); } private function moveFocus(e: TimerEvent): void { if (AccessibilityTools.isAccessibilityActive()) { messageBox.setFocus(); } else { messageBox.editable = false; closeBtn.setFocus(); } } private function autoDisposeDialog(e: TimerEvent): void { disposeDialog(); } public function disposeOnEscape(event:KeyboardEvent):void { if (event.keyCode == Keyboard.ESCAPE) { disposeDialog(); } } ]]>