home *** CD-ROM | disk | FTP | other *** search
/ Computer Active 2010 August / CA08.iso / Multimedija / shufflr.air / ShufflrClient.swf / scripts / mx / core / windowClasses / StatusBar.as next >
Encoding:
Text File  |  2010-06-23  |  4.8 KB  |  150 lines

  1. package mx.core.windowClasses
  2. {
  3.    import flash.display.DisplayObject;
  4.    import mx.core.IFlexDisplayObject;
  5.    import mx.core.IUITextField;
  6.    import mx.core.UIComponent;
  7.    import mx.core.UITextField;
  8.    import mx.core.mx_internal;
  9.    import mx.styles.ISimpleStyleClient;
  10.    import mx.styles.IStyleClient;
  11.    
  12.    use namespace mx_internal;
  13.    
  14.    public class StatusBar extends UIComponent
  15.    {
  16.       mx_internal static const VERSION:String = "3.5.0.12683";
  17.       
  18.       private var statusChanged:Boolean = false;
  19.       
  20.       public var statusTextField:IUITextField;
  21.       
  22.       mx_internal var statusBarBackground:IFlexDisplayObject;
  23.       
  24.       private var _status:String = "";
  25.       
  26.       public function StatusBar()
  27.       {
  28.          super();
  29.       }
  30.       
  31.       override public function styleChanged(param1:String) : void
  32.       {
  33.          var _loc3_:Class = null;
  34.          var _loc4_:IStyleClient = null;
  35.          var _loc5_:ISimpleStyleClient = null;
  36.          super.styleChanged(param1);
  37.          invalidateDisplayList();
  38.          var _loc2_:Boolean = !param1 || param1 == "styleName";
  39.          if(_loc2_ || param1 == "statusBarBackgroundSkin")
  40.          {
  41.             _loc3_ = getStyle("statusBarBackgroundSkin");
  42.             if(_loc3_)
  43.             {
  44.                if(mx_internal::statusBarBackground)
  45.                {
  46.                   removeChild(DisplayObject(mx_internal::statusBarBackground));
  47.                   mx_internal::statusBarBackground = null;
  48.                }
  49.                mx_internal::statusBarBackground = new _loc3_();
  50.                _loc4_ = mx_internal::statusBarBackground as IStyleClient;
  51.                if(_loc4_)
  52.                {
  53.                   _loc4_.setStyle("backgroundImage",undefined);
  54.                }
  55.                _loc5_ = mx_internal::statusBarBackground as ISimpleStyleClient;
  56.                if(_loc5_)
  57.                {
  58.                   _loc5_.styleName = this;
  59.                }
  60.                addChildAt(DisplayObject(mx_internal::statusBarBackground),0);
  61.             }
  62.          }
  63.          if(_loc2_ || param1 == "statusTextStyleName")
  64.          {
  65.             if(statusTextField)
  66.             {
  67.                statusTextField.styleName = getStyle("statusTextStyleName");
  68.             }
  69.          }
  70.       }
  71.       
  72.       override protected function measure() : void
  73.       {
  74.          super.measure();
  75.          statusTextField.validateNow();
  76.          if(statusTextField.textHeight == 0)
  77.          {
  78.             statusTextField.text = " ";
  79.             statusTextField.validateNow();
  80.          }
  81.          measuredHeight = statusTextField.textHeight + UITextField.mx_internal::TEXT_HEIGHT_PADDING;
  82.          measuredWidth = statusTextField.textWidth;
  83.       }
  84.       
  85.       public function set status(param1:String) : void
  86.       {
  87.          _status = param1;
  88.          statusChanged = true;
  89.          invalidateProperties();
  90.          invalidateSize();
  91.       }
  92.       
  93.       public function get status() : String
  94.       {
  95.          return _status;
  96.       }
  97.       
  98.       override protected function updateDisplayList(param1:Number, param2:Number) : void
  99.       {
  100.          super.updateDisplayList(param1,param2);
  101.          mx_internal::statusBarBackground.setActualSize(param1,param2);
  102.          statusTextField.text = _status;
  103.          statusTextField.width = param1;
  104.          statusTextField.truncateToFit("...");
  105.       }
  106.       
  107.       override protected function commitProperties() : void
  108.       {
  109.          super.commitProperties();
  110.          if(statusChanged)
  111.          {
  112.             statusTextField.text = _status;
  113.             statusChanged = false;
  114.          }
  115.       }
  116.       
  117.       override protected function createChildren() : void
  118.       {
  119.          var _loc2_:IStyleClient = null;
  120.          var _loc3_:ISimpleStyleClient = null;
  121.          super.createChildren();
  122.          var _loc1_:Class = getStyle("statusBarBackgroundSkin");
  123.          if(_loc1_)
  124.          {
  125.             mx_internal::statusBarBackground = new _loc1_();
  126.             _loc2_ = mx_internal::statusBarBackground as IStyleClient;
  127.             if(_loc2_)
  128.             {
  129.                _loc2_.setStyle("backgroundImage",undefined);
  130.             }
  131.             _loc3_ = mx_internal::statusBarBackground as ISimpleStyleClient;
  132.             if(_loc3_)
  133.             {
  134.                _loc3_.styleName = this;
  135.             }
  136.             addChild(DisplayObject(mx_internal::statusBarBackground));
  137.          }
  138.          if(!statusTextField)
  139.          {
  140.             statusTextField = IUITextField(createInFontContext(UITextField));
  141.             statusTextField.text = _status;
  142.             statusTextField.styleName = getStyle("statusTextStyleName");
  143.             statusTextField.enabled = true;
  144.             addChild(DisplayObject(statusTextField));
  145.          }
  146.       }
  147.    }
  148. }
  149.  
  150.