Futurescale, Inc. PureMVC Home

The PureMVC Framework Code at the Speed of Thought


Over 10 years of community discussion and knowledge are maintained here as a read-only archive.

New discussions should be taken up in issues on the appropriate projects at https://github.com/PureMVC

Show Posts

* | |

  Show Posts
Pages: [1]
1  Announcements and General Discussion / General Discussion / Re: Popup Window on: July 22, 2008, 10:50:54

Thanks for posting this example I have created a simple class that I'm using to handle my popup's. I have added stackWindows and closeAll . I hope this helps someone else.

To use

import PopManager;

PopManager.stackWindows(YourView);
PopManager.closeAll(YourView);
PopManager.openPopUpWindow(YourView,YourViewMediator,true);

package
{
   import ApplicationFacade;
   
   import flash.display.Sprite;
   import flash.utils.getQualifiedClassName;
   
   import mx.core.Application;
   import mx.core.IFlexDisplayObject;
   import mx.managers.PopUpManager;

   public class PopManager
   {
      
      public function PopManager()
      {
      }
      
      public static function stackWindows(ComponentClass:Class):void{
             for (var i:int = Application.application.systemManager.numChildren - 1;  i >= 0; i--) {
                    if(getQualifiedClassName(Application.application.systemManager.getChildAt(i))==getQualifiedClassName(ComponentClass)){
                        var window:IFlexDisplayObject = Application.application.systemManager.getChildAt(i);
                        window.x = i * 30;
                        window.y = i * 30;
                    }
                }
          }
         
      public static function closeAll(ComponentClass:Class):void{
                for (var i:int = Application.application.systemManager.numChildren - 1;  i >= 0; i--) {
                    if(getQualifiedClassName(Application.application.systemManager.getChildAt(i)) == getQualifiedClassName(ComponentClass)){
                        Application.application.systemManager.removeChildAt(i);
                    }
                }
            }
      
      public static function openPopUpWindow( ComponentClass:Class, MediatorClass:Class, modal:Boolean):void
      {
         var window:IFlexDisplayObject = PopUpManager.createPopUp( Application.application as Sprite, ComponentClass, modal );
      
         ApplicationFacade.getInstance().registerMediator( new MediatorClass( window ) );
         PopUpManager.centerPopUp( window );
      }
      
      public static function closePopUpWindow( window:IFlexDisplayObject, mediatorName:String ):void
      {
         PopUpManager.removePopUp( window );
         ApplicationFacade.getInstance().removeMediator( mediatorName );
      }
      
   }
}
Pages: [1]