ダイアログを出したり閉じたり
参考にさせていただいたのは以下のサイト。
PopUpManagerを使って、無事、自分で作ったダイアログ(TitleWindowを継承)が出せました。
ありがとうございました m(._.)m
あとは、OKボタンなどによる処理を実装するのにCloseEventを使用してみます。
# 先週のことなので、どこを見たのか忘れてしまった <備忘録失格
ダイアログ側
// OKボタンをクリックしたときに呼ばれる private function ok():void { // CloseEventを作成してディスパッチ var e:CloseEvent = new CloseEvent(CloseEvent.CLOSE, false, false, 1); dispatchEvent(e); }
ダイアログの呼び出し側
var form:InputForm = PopUpManager.createPopUp(this, InputForm, true) as InputForm; // formに色々設定 form.addEventListener(CloseEvent.CLOSE, closeInputForm); PopUpManager.centerPopUp(form); } private function closeInputForm(ev:CloseEvent):void { if (ev.detail != -1) { var form:InputForm = ev.currentTarget as InputForm; // 処理 } }
# InputFormは自作したクラスです
CloseEventのコンストラクタの最終引数がイベントのdetailになるので、それを見て処理を行う例になっています。
細かいですが、TitleWindowのclose="PopUpManager.removePopUp(this)"によりダイアログを閉じると、detailは-1になりますが、直接PopUpManager.removePopUp(this)を呼んだ場合は、CloseEventは飛ばないようです。