Я бы использовал события (и интерфейсы), чтобы вашим формам не нужно было много знать об одном и другом. Это также дает вам больше контроля над тем, что происходит после закрытия вашего всплывающего окна (ИМХО).
Вот небольшой пример (если я смогу правильно вставить код). В этом примере не используется интерфейс, который поможет отделить вещи. Я также использую динамические события, которые ускоряют создание прототипов, но вы захотите определить формальное событие.
смоделируйте ваш основной:
import mx.events.DynamicEvent;
import mx.managers.PopUpManager;
private function btnClick(e:Event):void
{
vs.selectedIndex = 0;
var myLogin:myPopup = new myPopup();
myLogin.addEventListener
(
"WAS_CLOSED",
function(e:DynamicEvent):void { vs.selectedIndex = e.byButton; }
);
PopUpManager.addPopUp(myLogin, this, true);
PopUpManager.centerPopUp(myLogin);
}
смоделируйте ваш логин:
import mx.events.DynamicEvent;
import mx.managers.PopUpManager;
private var eClose:DynamicEvent = new DynamicEvent("WAS_CLOSED");
private function closeMe(byButton:int):void
{
eClose.byButton = byButton;
dispatchEvent(eClose);
PopUpManager.removePopUp(this);
}
<mx:Button x="122" y="250" label="Thing 1" click="closeMe(1);" />
<mx:Button x="195" y="250" label="Thing 2" click="closeMe(2);" />