home *** CD-ROM | disk | FTP | other *** search
/ Digital Background Bonanza / Digital Background Bonanza - Disc 1.iso / pc / DBB1.swf / scripts / __Packages / mx / managers / PopUpManager.as < prev    next >
Encoding:
Text File  |  2007-03-09  |  4.6 KB  |  157 lines

  1. class mx.managers.PopUpManager
  2. {
  3.    var popUp;
  4.    var setSize;
  5.    var move;
  6.    var modalWindow;
  7.    var _parent;
  8.    var _name;
  9.    var _visible;
  10.    var owner;
  11.    static var version = "2.0.2.126";
  12.    static var mixins = undefined;
  13.    function PopUpManager()
  14.    {
  15.    }
  16.    static function createModalWindow(parent, o, broadcastOutsideEvents)
  17.    {
  18.       var _loc2_ = parent.createChildAtDepth("Modal",mx.managers.DepthManager.kTopmost);
  19.       _loc2_.setDepthBelow(o);
  20.       o.modalID = _loc2_._name;
  21.       _loc2_._alpha = _global.style.modalTransparency;
  22.       _loc2_.tabEnabled = false;
  23.       if(broadcastOutsideEvents)
  24.       {
  25.          _loc2_.onPress = mx.managers.PopUpManager.mixins.onPress;
  26.       }
  27.       else
  28.       {
  29.          _loc2_.onPress = mx.managers.PopUpManager.mixins.nullFunction;
  30.       }
  31.       _loc2_.onRelease = mx.managers.PopUpManager.mixins.nullFunction;
  32.       _loc2_.resize = mx.managers.PopUpManager.mixins.resize;
  33.       mx.managers.SystemManager.init();
  34.       mx.managers.SystemManager.addEventListener("resize",_loc2_);
  35.       _loc2_.resize();
  36.       _loc2_.useHandCursor = false;
  37.       _loc2_.popUp = o;
  38.       o.modalWindow = _loc2_;
  39.       o.deletePopUp = mx.managers.PopUpManager.mixins.deletePopUp;
  40.       o.setVisible = mx.managers.PopUpManager.mixins.setVisible;
  41.       o.getVisible = mx.managers.PopUpManager.mixins.getVisible;
  42.       o.addProperty("visible",o.getVisible,o.setVisible);
  43.    }
  44.    static function createPopUp(parent, className, modal, initobj, broadcastOutsideEvents)
  45.    {
  46.       if(mx.managers.PopUpManager.mixins == undefined)
  47.       {
  48.          mx.managers.PopUpManager.mixins = new mx.managers.PopUpManager();
  49.       }
  50.       if(broadcastOutsideEvents == undefined)
  51.       {
  52.          broadcastOutsideEvents = false;
  53.       }
  54.       var _loc5_ = parent._root;
  55.       if(_loc5_ == undefined)
  56.       {
  57.          _loc5_ = _root;
  58.       }
  59.       while(parent != _loc5_)
  60.       {
  61.          parent = parent._parent;
  62.       }
  63.       initobj.popUp = true;
  64.       var _loc4_ = parent.createClassChildAtDepth(className,!(broadcastOutsideEvents || modal) ? mx.managers.DepthManager.kTop : mx.managers.DepthManager.kTopmost,initobj);
  65.       var _loc2_ = _root;
  66.       var _loc6_ = _loc2_.focusManager != undefined;
  67.       while(_loc2_._parent != undefined)
  68.       {
  69.          _loc2_ = _loc2_._parent._root;
  70.          if(_loc2_.focusManager != undefined)
  71.          {
  72.             _loc6_ = true;
  73.             break;
  74.          }
  75.       }
  76.       if(_loc6_)
  77.       {
  78.          _loc4_.createObject("FocusManager","focusManager",-1);
  79.          if(_loc4_._visible == false)
  80.          {
  81.             mx.managers.SystemManager.deactivate(_loc4_);
  82.          }
  83.       }
  84.       if(modal)
  85.       {
  86.          mx.managers.PopUpManager.createModalWindow(parent,_loc4_,broadcastOutsideEvents);
  87.       }
  88.       else
  89.       {
  90.          if(broadcastOutsideEvents)
  91.          {
  92.             _loc4_.mouseListener = new Object();
  93.             _loc4_.mouseListener.owner = _loc4_;
  94.             _loc4_.mouseListener.onMouseDown = mx.managers.PopUpManager.mixins.onMouseDown;
  95.             Mouse.addListener(_loc4_.mouseListener);
  96.          }
  97.          _loc4_.deletePopUp = mx.managers.PopUpManager.mixins.deletePopUp;
  98.       }
  99.       return _loc4_;
  100.    }
  101.    function onPress(Void)
  102.    {
  103.       var _loc3_ = this.popUp._root;
  104.       if(_loc3_ == undefined)
  105.       {
  106.          _loc3_ = _root;
  107.       }
  108.       if(this.popUp.hitTest(_loc3_._xmouse,_loc3_._ymouse,false))
  109.       {
  110.          return undefined;
  111.       }
  112.       this.popUp.dispatchEvent({type:"mouseDownOutside"});
  113.    }
  114.    function nullFunction(Void)
  115.    {
  116.    }
  117.    function resize(Void)
  118.    {
  119.       var _loc2_ = mx.managers.SystemManager.screen;
  120.       this.setSize(_loc2_.width,_loc2_.height);
  121.       this.move(_loc2_.x,_loc2_.y);
  122.    }
  123.    function deletePopUp(Void)
  124.    {
  125.       if(this.modalWindow != undefined)
  126.       {
  127.          this._parent.destroyObject(this.modalWindow._name);
  128.       }
  129.       this._parent.destroyObject(this._name);
  130.    }
  131.    function setVisible(v, noEvent)
  132.    {
  133.       super.setVisible(v,noEvent);
  134.       this.modalWindow._visible = v;
  135.    }
  136.    function getVisible(Void)
  137.    {
  138.       return this._visible;
  139.    }
  140.    function onMouseDown(Void)
  141.    {
  142.       var _loc3_ = this.owner._root;
  143.       if(_loc3_ == undefined)
  144.       {
  145.          _loc3_ = _root;
  146.       }
  147.       var _loc4_ = new Object();
  148.       _loc4_.x = _loc3_._xmouse;
  149.       _loc4_.y = _loc3_._ymouse;
  150.       _loc3_.localToGlobal(_loc4_);
  151.       if(!this.owner.hitTest(_loc4_.x,_loc4_.y,false))
  152.       {
  153.          this.owner.mouseDownOutsideHandler(this.owner);
  154.       }
  155.    }
  156. }
  157.