TrexTroy
TrexTroy

Reputation: 303

Adobe flex popup single instance

I need to create a flex popup which would be a single instance but we can make it visible and invisible whenver we want to display it. I am not sure we can implement this kind of functionality using createPopup or addpopup method. Instance must be one and need to update it every time some event happen and make it visible or invisible.

thanks

Upvotes: 0

Views: 599

Answers (1)

JeffryHouser
JeffryHouser

Reputation: 39408

createPopUp requires a class name. All the internals of creating the popup are in that method. You won't be able to use createPopUp with an existing instance of a window. However, when you call createPopUp, the results you get will be the instance of the new popup you just created.

However, addPopUp does accept an instance of an already creating component. You'll want to proceed in one of a few ways:

1) if the popup instance exists; use addPopUp; otherwise use createPopUp:

if(myPopUp){
 PopUpManager.addPopUp(myPopUp, etc...)
} else {
 myPopUp = PopUpManager.createPopUp(this, myPopUpClassName, etc..);
}

2) Create the popup yourself and always use addPopUp

if(!myPopUp){
 myPopUp = new myPopUpClass();
}
PopUpManager.addPopUp(myPopUp, etc...);

Whenever you want to hide the pop up, do so using the removePopUp() method. This method will not destroy the pop up instance, just remove it from view.

PopUpManager.removePopUp(myPopUp);

You're going to have to figure out how to store the reference to your popup outside of the PopUpManager.

And I warn you that all the code I wrote here is psuedo code.

Upvotes: 2

Related Questions