home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Puzzle / filler.swf / scripts / mx / core / UIComponent.as < prev    next >
Text File  |  2008-09-02  |  122KB  |  4,014 lines

  1. package mx.core
  2. {
  3.    import flash.display.DisplayObject;
  4.    import flash.display.DisplayObjectContainer;
  5.    import flash.display.GradientType;
  6.    import flash.display.Graphics;
  7.    import flash.display.InteractiveObject;
  8.    import flash.display.Sprite;
  9.    import flash.events.Event;
  10.    import flash.events.EventPhase;
  11.    import flash.events.FocusEvent;
  12.    import flash.events.IEventDispatcher;
  13.    import flash.events.KeyboardEvent;
  14.    import flash.geom.Matrix;
  15.    import flash.geom.Point;
  16.    import flash.geom.Rectangle;
  17.    import flash.system.ApplicationDomain;
  18.    import flash.text.TextLineMetrics;
  19.    import flash.utils.getQualifiedClassName;
  20.    import flash.utils.getQualifiedSuperclassName;
  21.    import mx.automation.IAutomationObject;
  22.    import mx.binding.BindingManager;
  23.    import mx.effects.Effect;
  24.    import mx.effects.EffectInstance;
  25.    import mx.effects.EffectManager;
  26.    import mx.events.ChildExistenceChangedEvent;
  27.    import mx.events.DynamicEvent;
  28.    import mx.events.EffectEvent;
  29.    import mx.events.FlexEvent;
  30.    import mx.events.MoveEvent;
  31.    import mx.events.PropertyChangeEvent;
  32.    import mx.events.ResizeEvent;
  33.    import mx.events.StateChangeEvent;
  34.    import mx.events.ValidationResultEvent;
  35.    import mx.graphics.RoundedRectangle;
  36.    import mx.managers.IFocusManager;
  37.    import mx.managers.IFocusManagerComponent;
  38.    import mx.managers.IFocusManagerContainer;
  39.    import mx.managers.ILayoutManagerClient;
  40.    import mx.managers.ISystemManager;
  41.    import mx.managers.IToolTipManagerClient;
  42.    import mx.managers.SystemManager;
  43.    import mx.managers.SystemManagerGlobals;
  44.    import mx.managers.ToolTipManager;
  45.    import mx.modules.ModuleManager;
  46.    import mx.resources.ResourceBundle;
  47.    import mx.skins.ProgrammaticSkin;
  48.    import mx.states.State;
  49.    import mx.states.Transition;
  50.    import mx.styles.CSSStyleDeclaration;
  51.    import mx.styles.ISimpleStyleClient;
  52.    import mx.styles.IStyleClient;
  53.    import mx.styles.StyleManager;
  54.    import mx.styles.StyleProtoChain;
  55.    import mx.utils.ColorUtil;
  56.    import mx.utils.GraphicsUtil;
  57.    import mx.utils.StringUtil;
  58.    import mx.validators.IValidatorListener;
  59.    import mx.validators.ValidationResult;
  60.    
  61.    use namespace mx_internal;
  62.    
  63.    public class UIComponent extends FlexSprite implements IAutomationObject, IChildList, IDeferredInstantiationUIComponent, IFlexDisplayObject, IFlexModule, IInvalidating, ILayoutManagerClient, IPropertyChangeNotifier, IRepeaterClient, ISimpleStyleClient, IStyleClient, IToolTipManagerClient, IUIComponent, IValidatorListener
  64.    {
  65.       
  66.       mx_internal static var dispatchEventHook:Function;
  67.       
  68.       private static var fakeMouseY:QName = new QName(mx_internal,"_mouseY");
  69.       
  70.       public static const DEFAULT_MEASURED_WIDTH:Number = 160;
  71.       
  72.       public static const DEFAULT_MAX_WIDTH:Number = 10000;
  73.       
  74.       public static const DEFAULT_MEASURED_MIN_HEIGHT:Number = 22;
  75.       
  76.       mx_internal static var createAccessibilityImplementation:Function;
  77.       
  78.       mx_internal static var STYLE_UNINITIALIZED:Object = {};
  79.       
  80.       private static var fakeMouseX:QName = new QName(mx_internal,"_mouseX");
  81.       
  82.       public static const DEFAULT_MAX_HEIGHT:Number = 10000;
  83.       
  84.       public static const DEFAULT_MEASURED_HEIGHT:Number = 22;
  85.       
  86.       mx_internal static const VERSION:String = "2.0.1.0";
  87.       
  88.       public static const DEFAULT_MEASURED_MIN_WIDTH:Number = 40;
  89.        
  90.       
  91.       private var errorStringChanged:Boolean = false;
  92.       
  93.       mx_internal var overlay:UIComponent;
  94.       
  95.       mx_internal var automaticRadioButtonGroups:Object;
  96.       
  97.       private var _currentState:String;
  98.       
  99.       private var _isPopUp:Boolean;
  100.       
  101.       private var _repeaters:Array;
  102.       
  103.       private var packageResources:ResourceBundle;
  104.       
  105.       private var _systemManager:ISystemManager;
  106.       
  107.       private var _measuredWidth:Number = 0;
  108.       
  109.       private var methodQueue:Array;
  110.       
  111.       mx_internal var _width:Number;
  112.       
  113.       private var _tweeningProperties:Array;
  114.       
  115.       private var _validationSubField:String;
  116.       
  117.       private var _endingEffectInstances:Array;
  118.       
  119.       mx_internal var saveBorderColor:Boolean = true;
  120.       
  121.       mx_internal var overlayColor:uint;
  122.       
  123.       private var _repeaterIndices:Array;
  124.       
  125.       private var oldExplicitWidth:Number;
  126.       
  127.       mx_internal var _descriptor:UIComponentDescriptor;
  128.       
  129.       private var _initialized:Boolean = false;
  130.       
  131.       private var requestedCurrentState:String;
  132.       
  133.       private var _focusEnabled:Boolean = true;
  134.       
  135.       private var cacheAsBitmapCount:int = 0;
  136.       
  137.       mx_internal var overlayReferenceCount:int = 0;
  138.       
  139.       private var listeningForRender:Boolean = false;
  140.       
  141.       mx_internal var invalidateDisplayListFlag:Boolean = false;
  142.       
  143.       private var oldScaleX:Number = 1;
  144.       
  145.       private var oldScaleY:Number = 1;
  146.       
  147.       mx_internal var _explicitMaxHeight:Number;
  148.       
  149.       mx_internal var invalidatePropertiesFlag:Boolean = false;
  150.       
  151.       private var hasFocusRect:Boolean = false;
  152.       
  153.       private var _scaleX:Number = 1;
  154.       
  155.       private var _scaleY:Number = 1;
  156.       
  157.       mx_internal var invalidateSizeFlag:Boolean = false;
  158.       
  159.       private var _styleDeclaration:CSSStyleDeclaration;
  160.       
  161.       mx_internal var _documentDescriptor:UIComponentDescriptor;
  162.       
  163.       mx_internal var _affectedProperties:Object;
  164.       
  165.       private var _processedDescriptors:Boolean = false;
  166.       
  167.       mx_internal var origBorderColor:Number;
  168.       
  169.       private var _focusManager:IFocusManager;
  170.       
  171.       private var _cachePolicy:String = "auto";
  172.       
  173.       private var _measuredHeight:Number = 0;
  174.       
  175.       private var _id:String;
  176.       
  177.       private var _owner:DisplayObjectContainer;
  178.       
  179.       public var transitions:Array;
  180.       
  181.       mx_internal var _parent:DisplayObjectContainer;
  182.       
  183.       private var _measuredMinWidth:Number = 0;
  184.       
  185.       private var oldMinWidth:Number;
  186.       
  187.       private var _enabled:Boolean = false;
  188.       
  189.       public var states:Array;
  190.       
  191.       private var _explicitWidth:Number;
  192.       
  193.       private var _mouseFocusEnabled:Boolean = true;
  194.       
  195.       private var oldHeight:Number = 0;
  196.       
  197.       private var _currentStateChanged:Boolean;
  198.       
  199.       private var cachedTextFormat:UITextFormat;
  200.       
  201.       private var _automationDelegate:IAutomationObject;
  202.       
  203.       mx_internal var _height:Number;
  204.       
  205.       private var _percentWidth:Number;
  206.       
  207.       private var _automationName:String = null;
  208.       
  209.       private var _isEffectStarted:Boolean = false;
  210.       
  211.       private var _styleName:Object;
  212.       
  213.       mx_internal var _document:Object;
  214.       
  215.       private var _errorString:String = "";
  216.       
  217.       private var oldExplicitHeight:Number;
  218.       
  219.       private var _nestLevel:int = 0;
  220.       
  221.       private var _explicitHeight:Number;
  222.       
  223.       private var _filters:Array;
  224.       
  225.       private var _toolTip:String;
  226.       
  227.       private var _focusPane:Sprite;
  228.       
  229.       private var playStateTransition:Boolean = true;
  230.       
  231.       private var _nonInheritingStyles:Object;
  232.       
  233.       private var _showInAutomationHierarchy:Boolean = true;
  234.       
  235.       private var _moduleFactory:IFlexModuleFactory;
  236.       
  237.       private var oldX:Number = 0;
  238.       
  239.       private var oldY:Number = 0;
  240.       
  241.       private var _instanceIndices:Array;
  242.       
  243.       private var _visible:Boolean = true;
  244.       
  245.       private var _inheritingStyles:Object;
  246.       
  247.       private var _includeInLayout:Boolean = true;
  248.       
  249.       mx_internal var _effectsStarted:Array;
  250.       
  251.       private var _explicitMinWidth:Number;
  252.       
  253.       private var resourceStateUndefined:String = null;
  254.       
  255.       mx_internal var _explicitMaxWidth:Number;
  256.       
  257.       private var _measuredMinHeight:Number = 0;
  258.       
  259.       private var _uid:String;
  260.       
  261.       private var _currentTransitionEffect:Effect;
  262.       
  263.       private var _updateCompletePendingFlag:Boolean = false;
  264.       
  265.       private var oldMinHeight:Number;
  266.       
  267.       mx_internal var _explicitMinHeight:Number;
  268.       
  269.       private var _percentHeight:Number;
  270.       
  271.       private var oldWidth:Number = 0;
  272.       
  273.       public function UIComponent()
  274.       {
  275.          packageResources = ResourceBundle.getResourceBundle("core",ApplicationDomain.currentDomain);
  276.          resourceStateUndefined = null;
  277.          listeningForRender = false;
  278.          methodQueue = [];
  279.          hasFocusRect = false;
  280.          _initialized = false;
  281.          _processedDescriptors = false;
  282.          _updateCompletePendingFlag = false;
  283.          invalidatePropertiesFlag = false;
  284.          invalidateSizeFlag = false;
  285.          invalidateDisplayListFlag = false;
  286.          oldX = 0;
  287.          oldY = 0;
  288.          oldWidth = 0;
  289.          oldHeight = 0;
  290.          oldScaleX = 1;
  291.          oldScaleY = 1;
  292.          overlayReferenceCount = 0;
  293.          saveBorderColor = true;
  294.          _scaleX = 1;
  295.          _scaleY = 1;
  296.          _visible = true;
  297.          _enabled = false;
  298.          _nestLevel = 0;
  299.          _inheritingStyles = UIComponent.STYLE_UNINITIALIZED;
  300.          _nonInheritingStyles = UIComponent.STYLE_UNINITIALIZED;
  301.          _cachePolicy = UIComponentCachePolicy.AUTO;
  302.          cacheAsBitmapCount = 0;
  303.          _focusEnabled = true;
  304.          _mouseFocusEnabled = true;
  305.          _measuredMinWidth = 0;
  306.          _measuredMinHeight = 0;
  307.          _measuredWidth = 0;
  308.          _measuredHeight = 0;
  309.          _includeInLayout = true;
  310.          playStateTransition = true;
  311.          states = [];
  312.          transitions = [];
  313.          _automationName = null;
  314.          _showInAutomationHierarchy = true;
  315.          _errorString = "";
  316.          errorStringChanged = false;
  317.          _effectsStarted = [];
  318.          _affectedProperties = {};
  319.          _isEffectStarted = false;
  320.          _endingEffectInstances = [];
  321.          super();
  322.          focusRect = false;
  323.          tabEnabled = this is IFocusManagerComponent;
  324.          tabChildren = false;
  325.          enabled = true;
  326.          $visible = false;
  327.          addEventListener(Event.ADDED,addedHandler);
  328.          addEventListener(Event.REMOVED,removedHandler);
  329.          if(this is IFocusManagerComponent)
  330.          {
  331.             addEventListener(FocusEvent.FOCUS_IN,focusInHandler);
  332.             addEventListener(FocusEvent.FOCUS_OUT,focusOutHandler);
  333.             addEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
  334.             addEventListener(KeyboardEvent.KEY_UP,keyUpHandler);
  335.          }
  336.          _width = super.width;
  337.          _height = super.height;
  338.       }
  339.       
  340.       public static function resumeBackgroundProcessing() : void
  341.       {
  342.          var _loc1_:SystemManager = null;
  343.          if(UIComponentGlobals.callLaterSuspendCount > 0)
  344.          {
  345.             --UIComponentGlobals.callLaterSuspendCount;
  346.             if(UIComponentGlobals.callLaterSuspendCount == 0)
  347.             {
  348.                _loc1_ = SystemManagerGlobals.topLevelSystemManagers[0];
  349.                if(_loc1_ && _loc1_.stage)
  350.                {
  351.                   _loc1_.stage.invalidate();
  352.                }
  353.             }
  354.          }
  355.       }
  356.       
  357.       public static function suspendBackgroundProcessing() : void
  358.       {
  359.          ++UIComponentGlobals.callLaterSuspendCount;
  360.       }
  361.       
  362.       public function getStyle(param1:String) : *
  363.       {
  364.          return !!StyleManager.inheritingStyles[param1] ? _inheritingStyles[param1] : _nonInheritingStyles[param1];
  365.       }
  366.       
  367.       [Bindable("toolTipChanged")]
  368.       public function get toolTip() : String
  369.       {
  370.          return _toolTip;
  371.       }
  372.       
  373.       private function transition_effectEndHandler(param1:EffectEvent) : void
  374.       {
  375.          _currentTransitionEffect = null;
  376.       }
  377.       
  378.       public function get nestLevel() : int
  379.       {
  380.          return _nestLevel;
  381.       }
  382.       
  383.       protected function adjustFocusRect(param1:DisplayObject = null) : void
  384.       {
  385.          var _loc2_:IFocusManager = null;
  386.          var _loc3_:IFlexDisplayObject = null;
  387.          var _loc4_:Number = NaN;
  388.          var _loc5_:Number = NaN;
  389.          var _loc6_:Point = null;
  390.          var _loc7_:Number = NaN;
  391.          if(!param1)
  392.          {
  393.             param1 = this;
  394.          }
  395.          if(isNaN(param1.width) || isNaN(param1.height))
  396.          {
  397.             return;
  398.          }
  399.          _loc2_ = focusManager;
  400.          if(!_loc2_)
  401.          {
  402.             return;
  403.          }
  404.          _loc3_ = IFlexDisplayObject(getFocusObject());
  405.          if(_loc3_)
  406.          {
  407.             if(errorString && errorString != "")
  408.             {
  409.                _loc4_ = getStyle("errorColor");
  410.             }
  411.             else
  412.             {
  413.                _loc4_ = getStyle("themeColor");
  414.             }
  415.             _loc5_ = getStyle("focusThickness");
  416.             if(_loc3_ is IStyleClient)
  417.             {
  418.                IStyleClient(_loc3_).setStyle("focusColor",_loc4_);
  419.             }
  420.             _loc3_.setActualSize(param1.width + 2 * _loc5_,param1.height + 2 * _loc5_);
  421.             if(rotation)
  422.             {
  423.                _loc7_ = rotation * Math.PI / 180;
  424.                _loc6_ = new Point(param1.x - _loc5_ * (Math.cos(_loc7_) - Math.sin(_loc7_)),param1.y - _loc5_ * (Math.cos(_loc7_) + Math.sin(_loc7_)));
  425.                DisplayObject(_loc3_).rotation = rotation;
  426.             }
  427.             else
  428.             {
  429.                _loc6_ = new Point(param1.x - _loc5_,param1.y - _loc5_);
  430.             }
  431.             if(param1.parent == this)
  432.             {
  433.                _loc6_.x += x;
  434.                _loc6_.y += y;
  435.             }
  436.             _loc6_ = parent.localToGlobal(_loc6_);
  437.             _loc6_ = parent.globalToLocal(_loc6_);
  438.             _loc3_.move(_loc6_.x,_loc6_.y);
  439.             if(_loc3_ is IInvalidating)
  440.             {
  441.                IInvalidating(_loc3_).validateNow();
  442.             }
  443.             else if(_loc3_ is ProgrammaticSkin)
  444.             {
  445.                ProgrammaticSkin(_loc3_).validateNow();
  446.             }
  447.          }
  448.       }
  449.       
  450.       mx_internal function setUnscaledWidth(param1:Number) : void
  451.       {
  452.          var _loc2_:Number = NaN;
  453.          var _loc3_:IInvalidating = null;
  454.          _loc2_ = param1 * Math.abs(scaleX);
  455.          if(_explicitWidth == _loc2_)
  456.          {
  457.             return;
  458.          }
  459.          if(!isNaN(_loc2_))
  460.          {
  461.             _percentWidth = NaN;
  462.          }
  463.          _explicitWidth = _loc2_;
  464.          invalidateSize();
  465.          _loc3_ = parent as IInvalidating;
  466.          if(_loc3_ && includeInLayout)
  467.          {
  468.             _loc3_.invalidateSize();
  469.             _loc3_.invalidateDisplayList();
  470.          }
  471.       }
  472.       
  473.       public function set nestLevel(param1:int) : void
  474.       {
  475.          var _loc2_:IChildList = null;
  476.          var _loc3_:int = 0;
  477.          var _loc4_:int = 0;
  478.          var _loc5_:ILayoutManagerClient = null;
  479.          var _loc6_:UITextField = null;
  480.          if(param1 > 1 && _nestLevel != param1)
  481.          {
  482.             _nestLevel = param1;
  483.             updateCallbacks();
  484.             _loc2_ = this is IRawChildrenContainer ? IRawChildrenContainer(this).rawChildren : IChildList(this);
  485.             _loc3_ = _loc2_.numChildren;
  486.             _loc4_ = 0;
  487.             while(_loc4_ < _loc3_)
  488.             {
  489.                if(_loc5_ = _loc2_.getChildAt(_loc4_) as ILayoutManagerClient)
  490.                {
  491.                   _loc5_.nestLevel = param1 + 1;
  492.                }
  493.                else if(_loc6_ = _loc2_.getChildAt(_loc4_) as UITextField)
  494.                {
  495.                   _loc6_.nestLevel = param1 + 1;
  496.                }
  497.                _loc4_++;
  498.             }
  499.          }
  500.       }
  501.       
  502.       public function getExplicitOrMeasuredHeight() : Number
  503.       {
  504.          return !isNaN(explicitHeight) ? Number(explicitHeight) : Number(measuredHeight);
  505.       }
  506.       
  507.       private function callLaterDispatcher(param1:Event) : void
  508.       {
  509.          var layoutErrorEvent:DynamicEvent = null;
  510.          var event:Event = param1;
  511.          ++UIComponentGlobals.callLaterDispatcherCount;
  512.          if(!UIComponentGlobals.designTime)
  513.          {
  514.             callLaterDispatcher2(event);
  515.          }
  516.          else
  517.          {
  518.             try
  519.             {
  520.                callLaterDispatcher2(event);
  521.             }
  522.             catch(e:Error)
  523.             {
  524.                layoutErrorEvent = new DynamicEvent("layoutError");
  525.                layoutErrorEvent.error = e;
  526.                systemManager.dispatchEvent(layoutErrorEvent);
  527.             }
  528.          }
  529.          --UIComponentGlobals.callLaterDispatcherCount;
  530.       }
  531.       
  532.       mx_internal final function get $width() : Number
  533.       {
  534.          return super.width;
  535.       }
  536.       
  537.       public function get className() : String
  538.       {
  539.          var _loc1_:String = null;
  540.          var _loc2_:int = 0;
  541.          _loc1_ = getQualifiedClassName(this);
  542.          _loc2_ = _loc1_.indexOf("::");
  543.          if(_loc2_ != -1)
  544.          {
  545.             _loc1_ = _loc1_.substr(_loc2_ + 2);
  546.          }
  547.          return _loc1_;
  548.       }
  549.       
  550.       public function verticalGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number) : Matrix
  551.       {
  552.          UIComponentGlobals.tempMatrix.createGradientBox(param3,param4,Math.PI / 2,param1,param2);
  553.          return UIComponentGlobals.tempMatrix;
  554.       }
  555.       
  556.       public function setCurrentState(param1:String, param2:Boolean = true) : void
  557.       {
  558.          if(param1 != currentState && !(isBaseState(param1) && isBaseState(currentState)))
  559.          {
  560.             requestedCurrentState = param1;
  561.             playStateTransition = param2;
  562.             if(initialized)
  563.             {
  564.                commitCurrentState();
  565.             }
  566.             else
  567.             {
  568.                _currentStateChanged = true;
  569.                addEventListener(FlexEvent.CREATION_COMPLETE,creationCompleteHandler);
  570.             }
  571.          }
  572.       }
  573.       
  574.       private function getBaseStates(param1:State) : Array
  575.       {
  576.          var _loc2_:Array = null;
  577.          _loc2_ = [];
  578.          while(param1 && param1.basedOn != "")
  579.          {
  580.             _loc2_.push(param1.basedOn);
  581.             param1 = getState(param1.basedOn);
  582.          }
  583.          return _loc2_;
  584.       }
  585.       
  586.       public function set minHeight(param1:Number) : void
  587.       {
  588.          if(explicitMinHeight == param1)
  589.          {
  590.             return;
  591.          }
  592.          explicitMinHeight = param1;
  593.       }
  594.       
  595.       [Bindable("errorStringChanged")]
  596.       public function get errorString() : String
  597.       {
  598.          return _errorString;
  599.       }
  600.       
  601.       mx_internal function setUnscaledHeight(param1:Number) : void
  602.       {
  603.          var _loc2_:Number = NaN;
  604.          var _loc3_:IInvalidating = null;
  605.          _loc2_ = param1 * Math.abs(scaleY);
  606.          if(_explicitHeight == _loc2_)
  607.          {
  608.             return;
  609.          }
  610.          if(!isNaN(_loc2_))
  611.          {
  612.             _percentHeight = NaN;
  613.          }
  614.          _explicitHeight = _loc2_;
  615.          invalidateSize();
  616.          _loc3_ = parent as IInvalidating;
  617.          if(_loc3_ && includeInLayout)
  618.          {
  619.             _loc3_.invalidateSize();
  620.             _loc3_.invalidateDisplayList();
  621.          }
  622.       }
  623.       
  624.       protected function isOurFocus(param1:DisplayObject) : Boolean
  625.       {
  626.          return param1 == this;
  627.       }
  628.       
  629.       public function get automationName() : String
  630.       {
  631.          if(_automationName)
  632.          {
  633.             return _automationName;
  634.          }
  635.          if(automationDelegate)
  636.          {
  637.             return automationDelegate.automationName;
  638.          }
  639.          return "";
  640.       }
  641.       
  642.       mx_internal final function set $width(param1:Number) : void
  643.       {
  644.          super.width = param1;
  645.       }
  646.       
  647.       public function invalidateDisplayList() : void
  648.       {
  649.          if(!mx_internal::invalidateDisplayListFlag)
  650.          {
  651.             invalidateDisplayListFlag = true;
  652.             if(parent && UIComponentGlobals.layoutManager)
  653.             {
  654.                UIComponentGlobals.layoutManager.invalidateDisplayList(this);
  655.             }
  656.          }
  657.       }
  658.       
  659.       [Bindable("scaleXChanged")]
  660.       override public function get scaleX() : Number
  661.       {
  662.          return _scaleX;
  663.       }
  664.       
  665.       [Bindable("scaleYChanged")]
  666.       override public function get scaleY() : Number
  667.       {
  668.          return _scaleY;
  669.       }
  670.       
  671.       mx_internal function initThemeColor() : Boolean
  672.       {
  673.          var _loc1_:Object = null;
  674.          var _loc2_:Object = null;
  675.          var _loc3_:Number = NaN;
  676.          var _loc4_:Number = NaN;
  677.          var _loc5_:Object = null;
  678.          var _loc6_:Array = null;
  679.          var _loc7_:int = 0;
  680.          var _loc8_:CSSStyleDeclaration = null;
  681.          _loc1_ = _styleName;
  682.          if(_styleDeclaration)
  683.          {
  684.             _loc2_ = _styleDeclaration.getStyle("themeColor");
  685.             _loc3_ = _styleDeclaration.getStyle("rollOverColor");
  686.             _loc4_ = _styleDeclaration.getStyle("selectionColor");
  687.          }
  688.          if(!_loc2_ && _loc1_ && !(_loc1_ is ISimpleStyleClient))
  689.          {
  690.             if(_loc5_ = _loc1_ is String ? StyleManager.getStyleDeclaration("." + _loc1_) : _loc1_)
  691.             {
  692.                _loc2_ = _loc5_.getStyle("themeColor");
  693.                _loc3_ = _loc5_.getStyle("rollOverColor");
  694.                _loc4_ = _loc5_.getStyle("selectionColor");
  695.             }
  696.          }
  697.          if(!_loc2_)
  698.          {
  699.             _loc6_ = getClassStyleDeclarations();
  700.             _loc7_ = 0;
  701.             while(_loc7_ < _loc6_.length)
  702.             {
  703.                if(_loc8_ = _loc6_[_loc7_])
  704.                {
  705.                   _loc2_ = _loc8_.getStyle("themeColor");
  706.                   _loc3_ = _loc8_.getStyle("rollOverColor");
  707.                   _loc4_ = _loc8_.getStyle("selectionColor");
  708.                }
  709.                if(_loc2_)
  710.                {
  711.                   break;
  712.                }
  713.                _loc7_++;
  714.             }
  715.          }
  716.          if(_loc2_ && isNaN(_loc3_) && isNaN(_loc4_))
  717.          {
  718.             setThemeColor(_loc2_);
  719.             return true;
  720.          }
  721.          return _loc2_ && !isNaN(_loc3_) && !isNaN(_loc4_);
  722.       }
  723.       
  724.       override public function get mouseX() : Number
  725.       {
  726.          if(!root || root[fakeMouseX] === undefined)
  727.          {
  728.             return super.mouseX;
  729.          }
  730.          return globalToLocal(new Point(root[fakeMouseX],0)).x;
  731.       }
  732.       
  733.       override public function get mouseY() : Number
  734.       {
  735.          if(!root || root[fakeMouseY] === undefined)
  736.          {
  737.             return super.mouseY;
  738.          }
  739.          return globalToLocal(new Point(0,root[fakeMouseY])).y;
  740.       }
  741.       
  742.       override public function stopDrag() : void
  743.       {
  744.          super.stopDrag();
  745.          invalidateProperties();
  746.          dispatchEvent(new Event("xChanged"));
  747.          dispatchEvent(new Event("yChanged"));
  748.       }
  749.       
  750.       public function get uid() : String
  751.       {
  752.          if(!_uid)
  753.          {
  754.             _uid = toString();
  755.          }
  756.          return _uid;
  757.       }
  758.       
  759.       public function set tweeningProperties(param1:Array) : void
  760.       {
  761.          _tweeningProperties = param1;
  762.       }
  763.       
  764.       public function get focusPane() : Sprite
  765.       {
  766.          return _focusPane;
  767.       }
  768.       
  769.       public function horizontalGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number) : Matrix
  770.       {
  771.          UIComponentGlobals.tempMatrix.createGradientBox(param3,param4,0,param1,param2);
  772.          return UIComponentGlobals.tempMatrix;
  773.       }
  774.       
  775.       public function set validationSubField(param1:String) : void
  776.       {
  777.          _validationSubField = param1;
  778.       }
  779.       
  780.       protected function keyDownHandler(param1:KeyboardEvent) : void
  781.       {
  782.       }
  783.       
  784.       public function get isDocument() : Boolean
  785.       {
  786.          return document == this;
  787.       }
  788.       
  789.       mx_internal function addOverlay(param1:uint, param2:RoundedRectangle = null) : void
  790.       {
  791.          if(!mx_internal::overlay)
  792.          {
  793.             overlayColor = param1;
  794.             overlay = new UIComponent();
  795.             mx_internal::overlay.name = "overlay";
  796.             fillOverlay(mx_internal::overlay,param1,param2);
  797.             attachOverlay();
  798.             if(!param2)
  799.             {
  800.                addEventListener(ResizeEvent.RESIZE,overlay_resizeHandler);
  801.             }
  802.             mx_internal::overlay.x = 0;
  803.             mx_internal::overlay.y = 0;
  804.             invalidateDisplayList();
  805.             overlayReferenceCount = 1;
  806.          }
  807.          else
  808.          {
  809.             ++overlayReferenceCount;
  810.          }
  811.          dispatchEvent(new ChildExistenceChangedEvent(ChildExistenceChangedEvent.OVERLAY_CREATED,true,false,mx_internal::overlay));
  812.       }
  813.       
  814.       [Bindable("show")]
  815.       [Bindable("hide")]
  816.       override public function get visible() : Boolean
  817.       {
  818.          return _visible;
  819.       }
  820.       
  821.       public function get screen() : Rectangle
  822.       {
  823.          var _loc1_:ISystemManager = null;
  824.          _loc1_ = systemManager;
  825.          return !!_loc1_ ? _loc1_.screen : null;
  826.       }
  827.       
  828.       [Bindable("xChanged")]
  829.       override public function get x() : Number
  830.       {
  831.          return super.x;
  832.       }
  833.       
  834.       [Bindable("yChanged")]
  835.       override public function get y() : Number
  836.       {
  837.          return super.y;
  838.       }
  839.       
  840.       [Bindable("explicitHeightChanged")]
  841.       public function get explicitHeight() : Number
  842.       {
  843.          return _explicitHeight;
  844.       }
  845.       
  846.       protected function focusInHandler(param1:FocusEvent) : void
  847.       {
  848.          var _loc2_:IFocusManager = null;
  849.          if(isOurFocus(DisplayObject(param1.target)))
  850.          {
  851.             _loc2_ = focusManager;
  852.             if(_loc2_ && _loc2_.showFocusIndicator)
  853.             {
  854.                drawFocus(true);
  855.             }
  856.             Container.checkFocus(param1.relatedObject,this);
  857.          }
  858.       }
  859.       
  860.       private function focusObj_scrollHandler(param1:Event) : void
  861.       {
  862.          adjustFocusRect();
  863.       }
  864.       
  865.       [Bindable("resize")]
  866.       public function get percentWidth() : Number
  867.       {
  868.          return _percentWidth;
  869.       }
  870.       
  871.       public function set automationName(param1:String) : void
  872.       {
  873.          _automationName = param1;
  874.       }
  875.       
  876.       public function get mouseFocusEnabled() : Boolean
  877.       {
  878.          return _mouseFocusEnabled;
  879.       }
  880.       
  881.       public function set explicitMinHeight(param1:Number) : void
  882.       {
  883.          var _loc2_:IInvalidating = null;
  884.          if(mx_internal::_explicitMinHeight == param1)
  885.          {
  886.             return;
  887.          }
  888.          _explicitMinHeight = param1;
  889.          invalidateSize();
  890.          _loc2_ = parent as IInvalidating;
  891.          if(_loc2_)
  892.          {
  893.             _loc2_.invalidateSize();
  894.             _loc2_.invalidateDisplayList();
  895.          }
  896.          dispatchEvent(new Event("explicitMinHeightChanged"));
  897.       }
  898.       
  899.       public function stylesInitialized() : void
  900.       {
  901.       }
  902.       
  903.       public function set errorString(param1:String) : void
  904.       {
  905.          ToolTipManager.registerErrorString(this,param1);
  906.          _errorString = param1;
  907.          errorStringChanged = true;
  908.          invalidateProperties();
  909.          dispatchEvent(new Event("errorStringChanged"));
  910.       }
  911.       
  912.       public function getExplicitOrMeasuredWidth() : Number
  913.       {
  914.          return !isNaN(explicitWidth) ? Number(explicitWidth) : Number(measuredWidth);
  915.       }
  916.       
  917.       mx_internal final function set $height(param1:Number) : void
  918.       {
  919.          super.height = param1;
  920.       }
  921.       
  922.       mx_internal final function $removeChild(param1:DisplayObject) : DisplayObject
  923.       {
  924.          return super.removeChild(param1);
  925.       }
  926.       
  927.       override public function set scaleX(param1:Number) : void
  928.       {
  929.          if(_scaleX == param1)
  930.          {
  931.             return;
  932.          }
  933.          _scaleX = param1;
  934.          invalidateProperties();
  935.          invalidateSize();
  936.          dispatchEvent(new Event("scaleXChanged"));
  937.       }
  938.       
  939.       override public function set scaleY(param1:Number) : void
  940.       {
  941.          if(_scaleY == param1)
  942.          {
  943.             return;
  944.          }
  945.          _scaleY = param1;
  946.          invalidateProperties();
  947.          invalidateSize();
  948.          dispatchEvent(new Event("scaleYChanged"));
  949.       }
  950.       
  951.       protected function keyUpHandler(param1:KeyboardEvent) : void
  952.       {
  953.       }
  954.       
  955.       override public function get parent() : DisplayObjectContainer
  956.       {
  957.          return !!mx_internal::_parent ? mx_internal::_parent : super.parent;
  958.       }
  959.       
  960.       mx_internal function get isEffectStarted() : Boolean
  961.       {
  962.          return _isEffectStarted;
  963.       }
  964.       
  965.       public function set uid(param1:String) : void
  966.       {
  967.          this._uid = param1;
  968.       }
  969.       
  970.       mx_internal function adjustSizesForScaleChanges() : void
  971.       {
  972.          var _loc1_:Number = NaN;
  973.          var _loc2_:Number = NaN;
  974.          var _loc3_:Number = NaN;
  975.          _loc1_ = scaleX;
  976.          _loc2_ = scaleY;
  977.          if(_loc1_ != oldScaleX)
  978.          {
  979.             _loc3_ = Math.abs(_loc1_ / oldScaleX);
  980.             if(explicitMinWidth)
  981.             {
  982.                explicitMinWidth *= _loc3_;
  983.             }
  984.             if(!isNaN(explicitWidth))
  985.             {
  986.                explicitWidth *= _loc3_;
  987.             }
  988.             if(explicitMaxWidth)
  989.             {
  990.                explicitMaxWidth *= _loc3_;
  991.             }
  992.             oldScaleX = _loc1_;
  993.          }
  994.          if(_loc2_ != oldScaleY)
  995.          {
  996.             _loc3_ = Math.abs(_loc2_ / oldScaleY);
  997.             if(explicitMinHeight)
  998.             {
  999.                explicitMinHeight *= _loc3_;
  1000.             }
  1001.             if(explicitHeight)
  1002.             {
  1003.                explicitHeight *= _loc3_;
  1004.             }
  1005.             if(explicitMaxHeight)
  1006.             {
  1007.                explicitMaxHeight *= _loc3_;
  1008.             }
  1009.             oldScaleY = _loc2_;
  1010.          }
  1011.       }
  1012.       
  1013.       public function set focusPane(param1:Sprite) : void
  1014.       {
  1015.          if(param1)
  1016.          {
  1017.             addChild(param1);
  1018.             param1.x = 0;
  1019.             param1.y = 0;
  1020.             param1.scrollRect = null;
  1021.             _focusPane = param1;
  1022.          }
  1023.          else
  1024.          {
  1025.             removeChild(_focusPane);
  1026.             _focusPane = null;
  1027.          }
  1028.       }
  1029.       
  1030.       public function determineTextFormatFromStyles() : UITextFormat
  1031.       {
  1032.          var _loc1_:UITextFormat = null;
  1033.          _loc1_ = cachedTextFormat;
  1034.          if(!_loc1_)
  1035.          {
  1036.             _loc1_ = new UITextFormat(systemManager);
  1037.             _loc1_.align = _inheritingStyles.textAlign;
  1038.             _loc1_.bold = _inheritingStyles.fontWeight == "bold";
  1039.             _loc1_.color = !!enabled ? _inheritingStyles.color : _inheritingStyles.disabledColor;
  1040.             _loc1_.font = StringUtil.trimArrayElements(_inheritingStyles.fontFamily,",");
  1041.             _loc1_.indent = _inheritingStyles.textIndent;
  1042.             _loc1_.italic = _inheritingStyles.fontStyle == "italic";
  1043.             _loc1_.kerning = _inheritingStyles.kerning;
  1044.             _loc1_.leading = _nonInheritingStyles.leading;
  1045.             _loc1_.leftMargin = _nonInheritingStyles.paddingLeft;
  1046.             _loc1_.letterSpacing = _inheritingStyles.letterSpacing;
  1047.             _loc1_.rightMargin = _nonInheritingStyles.paddingRight;
  1048.             _loc1_.size = _inheritingStyles.fontSize;
  1049.             _loc1_.underline = _nonInheritingStyles.textDecoration == "underline";
  1050.             _loc1_.antiAliasType = _inheritingStyles.fontAntiAliasType;
  1051.             _loc1_.gridFitType = _inheritingStyles.fontGridFitType;
  1052.             _loc1_.sharpness = _inheritingStyles.fontSharpness;
  1053.             _loc1_.thickness = _inheritingStyles.fontThickness;
  1054.             cachedTextFormat = _loc1_;
  1055.          }
  1056.          return _loc1_;
  1057.       }
  1058.       
  1059.       public function getAutomationChildAt(param1:int) : IAutomationObject
  1060.       {
  1061.          if(automationDelegate)
  1062.          {
  1063.             return automationDelegate.getAutomationChildAt(param1);
  1064.          }
  1065.          return null;
  1066.       }
  1067.       
  1068.       private function focusObj_resizeHandler(param1:ResizeEvent) : void
  1069.       {
  1070.          adjustFocusRect();
  1071.       }
  1072.       
  1073.       public function validationResultHandler(param1:ValidationResultEvent) : void
  1074.       {
  1075.          var _loc2_:String = null;
  1076.          var _loc3_:ValidationResult = null;
  1077.          var _loc4_:int = 0;
  1078.          if(param1.type == ValidationResultEvent.VALID)
  1079.          {
  1080.             if(errorString != "")
  1081.             {
  1082.                errorString = "";
  1083.                dispatchEvent(new FlexEvent(FlexEvent.VALID));
  1084.             }
  1085.          }
  1086.          else
  1087.          {
  1088.             if(validationSubField != null && validationSubField != "" && param1.results)
  1089.             {
  1090.                _loc4_ = 0;
  1091.                while(_loc4_ < param1.results.length)
  1092.                {
  1093.                   _loc3_ = param1.results[_loc4_];
  1094.                   if(_loc3_.subField == validationSubField)
  1095.                   {
  1096.                      if(_loc3_.isError)
  1097.                      {
  1098.                         _loc2_ = _loc3_.errorMessage;
  1099.                      }
  1100.                      else if(errorString != "")
  1101.                      {
  1102.                         errorString = "";
  1103.                         dispatchEvent(new FlexEvent(FlexEvent.VALID));
  1104.                      }
  1105.                      break;
  1106.                   }
  1107.                   _loc4_++;
  1108.                }
  1109.             }
  1110.             else if(param1.results && param1.results.length > 0)
  1111.             {
  1112.                _loc2_ = param1.results[0].errorMessage;
  1113.             }
  1114.             if(_loc2_ && errorString != _loc2_)
  1115.             {
  1116.                errorString = _loc2_;
  1117.                dispatchEvent(new FlexEvent(FlexEvent.INVALID));
  1118.             }
  1119.          }
  1120.       }
  1121.       
  1122.       public function invalidateProperties() : void
  1123.       {
  1124.          if(!mx_internal::invalidatePropertiesFlag)
  1125.          {
  1126.             invalidatePropertiesFlag = true;
  1127.             if(parent && UIComponentGlobals.layoutManager)
  1128.             {
  1129.                UIComponentGlobals.layoutManager.invalidateProperties(this);
  1130.             }
  1131.          }
  1132.       }
  1133.       
  1134.       public function get inheritingStyles() : Object
  1135.       {
  1136.          return _inheritingStyles;
  1137.       }
  1138.       
  1139.       public function setActualSize(param1:Number, param2:Number) : void
  1140.       {
  1141.          var _loc3_:Boolean = false;
  1142.          _loc3_ = false;
  1143.          if(mx_internal::_width != param1)
  1144.          {
  1145.             _width = param1;
  1146.             dispatchEvent(new Event("widthChanged"));
  1147.             _loc3_ = true;
  1148.          }
  1149.          if(mx_internal::_height != param2)
  1150.          {
  1151.             _height = param2;
  1152.             dispatchEvent(new Event("heightChanged"));
  1153.             _loc3_ = true;
  1154.          }
  1155.          if(_loc3_)
  1156.          {
  1157.             invalidateDisplayList();
  1158.             dispatchResizeEvent();
  1159.          }
  1160.       }
  1161.       
  1162.       mx_internal final function get $x() : Number
  1163.       {
  1164.          return super.x;
  1165.       }
  1166.       
  1167.       mx_internal final function get $y() : Number
  1168.       {
  1169.          return super.y;
  1170.       }
  1171.       
  1172.       override public function set visible(param1:Boolean) : void
  1173.       {
  1174.          setVisible(param1);
  1175.       }
  1176.       
  1177.       public function registerEffects(param1:Array) : void
  1178.       {
  1179.          var _loc2_:int = 0;
  1180.          var _loc3_:int = 0;
  1181.          var _loc4_:String = null;
  1182.          _loc2_ = param1.length;
  1183.          _loc3_ = 0;
  1184.          while(_loc3_ < _loc2_)
  1185.          {
  1186.             if((_loc4_ = EffectManager.getEventForEffectTrigger(param1[_loc3_])) != null && _loc4_ != "")
  1187.             {
  1188.                addEventListener(_loc4_,EffectManager.eventHandler,false,EventPriority.EFFECT);
  1189.             }
  1190.             _loc3_++;
  1191.          }
  1192.       }
  1193.       
  1194.       public function createAutomationIDPart(param1:IAutomationObject) : Object
  1195.       {
  1196.          if(automationDelegate)
  1197.          {
  1198.             return automationDelegate.createAutomationIDPart(param1);
  1199.          }
  1200.          return null;
  1201.       }
  1202.       
  1203.       [Bindable("explicitMinWidthChanged")]
  1204.       public function get explicitMinWidth() : Number
  1205.       {
  1206.          return _explicitMinWidth;
  1207.       }
  1208.       
  1209.       private function filterChangeHandler(param1:Event) : void
  1210.       {
  1211.          super.filters = _filters;
  1212.       }
  1213.       
  1214.       override public function set x(param1:Number) : void
  1215.       {
  1216.          if(super.x == param1)
  1217.          {
  1218.             return;
  1219.          }
  1220.          super.x = param1;
  1221.          invalidateProperties();
  1222.          dispatchEvent(new Event("xChanged"));
  1223.       }
  1224.       
  1225.       override public function set y(param1:Number) : void
  1226.       {
  1227.          if(super.y == param1)
  1228.          {
  1229.             return;
  1230.          }
  1231.          super.y = param1;
  1232.          invalidateProperties();
  1233.          dispatchEvent(new Event("yChanged"));
  1234.       }
  1235.       
  1236.       public function set explicitHeight(param1:Number) : void
  1237.       {
  1238.          var _loc2_:IInvalidating = null;
  1239.          if(_explicitHeight == param1)
  1240.          {
  1241.             return;
  1242.          }
  1243.          if(!isNaN(param1))
  1244.          {
  1245.             _percentHeight = NaN;
  1246.          }
  1247.          _explicitHeight = param1;
  1248.          invalidateSize();
  1249.          _loc2_ = parent as IInvalidating;
  1250.          if(_loc2_ && includeInLayout)
  1251.          {
  1252.             _loc2_.invalidateSize();
  1253.             _loc2_.invalidateDisplayList();
  1254.          }
  1255.          dispatchEvent(new Event("explicitHeightChanged"));
  1256.       }
  1257.       
  1258.       public function set showInAutomationHierarchy(param1:Boolean) : void
  1259.       {
  1260.          _showInAutomationHierarchy = param1;
  1261.       }
  1262.       
  1263.       public function set systemManager(param1:ISystemManager) : void
  1264.       {
  1265.          _systemManager = param1;
  1266.       }
  1267.       
  1268.       mx_internal function getFocusObject() : DisplayObject
  1269.       {
  1270.          var _loc1_:IFocusManager = null;
  1271.          _loc1_ = focusManager;
  1272.          if(!_loc1_ || !_loc1_.focusPane)
  1273.          {
  1274.             return null;
  1275.          }
  1276.          return _loc1_.focusPane.numChildren == 0 ? null : _loc1_.focusPane.getChildAt(0);
  1277.       }
  1278.       
  1279.       override public function addChild(param1:DisplayObject) : DisplayObject
  1280.       {
  1281.          var _loc2_:int = 0;
  1282.          _loc2_ = mx_internal::overlayReferenceCount && param1 != mx_internal::overlay ? int(Math.max(0,super.numChildren - 1)) : int(super.numChildren);
  1283.          addingChild(param1);
  1284.          $addChildAt(param1,_loc2_);
  1285.          childAdded(param1);
  1286.          return param1;
  1287.       }
  1288.       
  1289.       public function get moduleFactory() : IFlexModuleFactory
  1290.       {
  1291.          return _moduleFactory;
  1292.       }
  1293.       
  1294.       public function set percentWidth(param1:Number) : void
  1295.       {
  1296.          var _loc2_:IInvalidating = null;
  1297.          if(_percentWidth == param1)
  1298.          {
  1299.             return;
  1300.          }
  1301.          if(!isNaN(param1))
  1302.          {
  1303.             _explicitWidth = NaN;
  1304.          }
  1305.          _percentWidth = param1;
  1306.          _loc2_ = parent as IInvalidating;
  1307.          if(_loc2_)
  1308.          {
  1309.             _loc2_.invalidateSize();
  1310.             _loc2_.invalidateDisplayList();
  1311.          }
  1312.       }
  1313.       
  1314.       public function get document() : Object
  1315.       {
  1316.          return mx_internal::_document;
  1317.       }
  1318.       
  1319.       public function set mouseFocusEnabled(param1:Boolean) : void
  1320.       {
  1321.          _mouseFocusEnabled = param1;
  1322.       }
  1323.       
  1324.       mx_internal final function $addChild(param1:DisplayObject) : DisplayObject
  1325.       {
  1326.          return super.addChild(param1);
  1327.       }
  1328.       
  1329.       mx_internal function setThemeColor(param1:Object) : void
  1330.       {
  1331.          var _loc2_:Number = NaN;
  1332.          var _loc3_:Number = NaN;
  1333.          var _loc4_:Number = NaN;
  1334.          if(_loc2_ is String)
  1335.          {
  1336.             _loc2_ = parseInt(String(param1));
  1337.          }
  1338.          else
  1339.          {
  1340.             _loc2_ = Number(param1);
  1341.          }
  1342.          if(isNaN(_loc2_))
  1343.          {
  1344.             _loc2_ = StyleManager.getColorName(param1);
  1345.          }
  1346.          _loc3_ = ColorUtil.adjustBrightness2(_loc2_,50);
  1347.          _loc4_ = ColorUtil.adjustBrightness2(_loc2_,70);
  1348.          setStyle("selectionColor",_loc3_);
  1349.          setStyle("rollOverColor",_loc4_);
  1350.       }
  1351.       
  1352.       [Bindable("heightChanged")]
  1353.       override public function get height() : Number
  1354.       {
  1355.          return mx_internal::_height;
  1356.       }
  1357.       
  1358.       public function get id() : String
  1359.       {
  1360.          return _id;
  1361.       }
  1362.       
  1363.       public function set minWidth(param1:Number) : void
  1364.       {
  1365.          if(explicitMinWidth == param1)
  1366.          {
  1367.             return;
  1368.          }
  1369.          explicitMinWidth = param1;
  1370.       }
  1371.       
  1372.       public function set currentState(param1:String) : void
  1373.       {
  1374.          setCurrentState(param1,true);
  1375.       }
  1376.       
  1377.       public function getRepeaterItem(param1:int = -1) : Object
  1378.       {
  1379.          var _loc2_:Array = null;
  1380.          _loc2_ = repeaters;
  1381.          if(param1 == -1)
  1382.          {
  1383.             param1 = _loc2_.length - 1;
  1384.          }
  1385.          return _loc2_[param1].getItemAt(repeaterIndices[param1]);
  1386.       }
  1387.       
  1388.       public function executeBindings(param1:Boolean = false) : void
  1389.       {
  1390.          var _loc2_:Object = null;
  1391.          _loc2_ = descriptor && descriptor.document ? descriptor.document : parentDocument;
  1392.          BindingManager.executeBindings(_loc2_,id,this);
  1393.       }
  1394.       
  1395.       public function replayAutomatableEvent(param1:Event) : Boolean
  1396.       {
  1397.          if(automationDelegate)
  1398.          {
  1399.             return automationDelegate.replayAutomatableEvent(param1);
  1400.          }
  1401.          return false;
  1402.       }
  1403.       
  1404.       public function get instanceIndex() : int
  1405.       {
  1406.          return !!_instanceIndices ? int(_instanceIndices[_instanceIndices.length - 1]) : -1;
  1407.       }
  1408.       
  1409.       [Bindable("explicitMaxWidthChanged")]
  1410.       public function get explicitMaxWidth() : Number
  1411.       {
  1412.          return mx_internal::_explicitMaxWidth;
  1413.       }
  1414.       
  1415.       public function effectFinished(param1:EffectInstance) : void
  1416.       {
  1417.          _endingEffectInstances.push(param1);
  1418.          invalidateProperties();
  1419.          UIComponentGlobals.layoutManager.addEventListener(FlexEvent.UPDATE_COMPLETE,updateCompleteHandler,false,0,true);
  1420.       }
  1421.       
  1422.       public function set measuredWidth(param1:Number) : void
  1423.       {
  1424.          _measuredWidth = param1;
  1425.       }
  1426.       
  1427.       override public function removeChildAt(param1:int) : DisplayObject
  1428.       {
  1429.          var _loc2_:DisplayObject = null;
  1430.          _loc2_ = getChildAt(param1);
  1431.          removingChild(_loc2_);
  1432.          $removeChild(_loc2_);
  1433.          childRemoved(_loc2_);
  1434.          return _loc2_;
  1435.       }
  1436.       
  1437.       mx_internal function set isEffectStarted(param1:Boolean) : void
  1438.       {
  1439.          _isEffectStarted = param1;
  1440.       }
  1441.       
  1442.       mx_internal function fillOverlay(param1:UIComponent, param2:uint, param3:RoundedRectangle = null) : void
  1443.       {
  1444.          var _loc4_:Graphics = null;
  1445.          if(!param3)
  1446.          {
  1447.             param3 = new RoundedRectangle(0,0,unscaledWidth,unscaledHeight,0);
  1448.          }
  1449.          (_loc4_ = param1.graphics).clear();
  1450.          _loc4_.beginFill(param2);
  1451.          _loc4_.drawRoundRect(param3.x,param3.y,param3.width,param3.height,param3.cornerRadius * 2,param3.cornerRadius * 2);
  1452.          _loc4_.endFill();
  1453.       }
  1454.       
  1455.       mx_internal function childAdded(param1:DisplayObject) : void
  1456.       {
  1457.          if(param1 is UIComponent)
  1458.          {
  1459.             if(!UIComponent(param1).initialized)
  1460.             {
  1461.                UIComponent(param1).initialize();
  1462.             }
  1463.          }
  1464.          else if(param1 is IUIComponent)
  1465.          {
  1466.             IUIComponent(param1).initialize();
  1467.          }
  1468.       }
  1469.       
  1470.       public function globalToContent(param1:Point) : Point
  1471.       {
  1472.          return globalToLocal(param1);
  1473.       }
  1474.       
  1475.       public function get instanceIndices() : Array
  1476.       {
  1477.          return !!_instanceIndices ? _instanceIndices.slice(0) : null;
  1478.       }
  1479.       
  1480.       mx_internal function removingChild(param1:DisplayObject) : void
  1481.       {
  1482.       }
  1483.       
  1484.       private function getTransition(param1:String, param2:String) : Effect
  1485.       {
  1486.          var _loc3_:Effect = null;
  1487.          var _loc4_:int = 0;
  1488.          var _loc5_:int = 0;
  1489.          var _loc6_:Transition = null;
  1490.          _loc3_ = null;
  1491.          _loc4_ = 0;
  1492.          if(!transitions)
  1493.          {
  1494.             return null;
  1495.          }
  1496.          if(!param1)
  1497.          {
  1498.             param1 = "";
  1499.          }
  1500.          if(!param2)
  1501.          {
  1502.             param2 = "";
  1503.          }
  1504.          _loc5_ = 0;
  1505.          while(_loc5_ < transitions.length)
  1506.          {
  1507.             if((_loc6_ = transitions[_loc5_]).fromState == "*" && _loc6_.toState == "*" && _loc4_ < 1)
  1508.             {
  1509.                _loc3_ = _loc6_.effect;
  1510.                _loc4_ = 1;
  1511.             }
  1512.             else if(_loc6_.fromState == param1 && _loc6_.toState == "*" && _loc4_ < 2)
  1513.             {
  1514.                _loc3_ = _loc6_.effect;
  1515.                _loc4_ = 2;
  1516.             }
  1517.             else if(_loc6_.fromState == "*" && _loc6_.toState == param2 && _loc4_ < 3)
  1518.             {
  1519.                _loc3_ = _loc6_.effect;
  1520.                _loc4_ = 3;
  1521.             }
  1522.             else if(_loc6_.fromState == param1 && _loc6_.toState == param2 && _loc4_ < 4)
  1523.             {
  1524.                _loc3_ = _loc6_.effect;
  1525.                _loc4_ = 4;
  1526.                break;
  1527.             }
  1528.             _loc5_++;
  1529.          }
  1530.          return _loc3_;
  1531.       }
  1532.       
  1533.       public function set owner(param1:DisplayObjectContainer) : void
  1534.       {
  1535.          _owner = param1;
  1536.       }
  1537.       
  1538.       mx_internal function getEffectsForProperty(param1:String) : Array
  1539.       {
  1540.          return mx_internal::_affectedProperties[param1] != undefined ? mx_internal::_affectedProperties[param1] : [];
  1541.       }
  1542.       
  1543.       protected function get unscaledWidth() : Number
  1544.       {
  1545.          return width / Math.abs(scaleX);
  1546.       }
  1547.       
  1548.       public function set processedDescriptors(param1:Boolean) : void
  1549.       {
  1550.          _processedDescriptors = param1;
  1551.          if(param1)
  1552.          {
  1553.             dispatchEvent(new FlexEvent(FlexEvent.INITIALIZE));
  1554.          }
  1555.       }
  1556.       
  1557.       private function processEffectFinished(param1:Array) : void
  1558.       {
  1559.          var _loc2_:int = 0;
  1560.          var _loc3_:int = 0;
  1561.          var _loc4_:EffectInstance = null;
  1562.          var _loc5_:EffectInstance = null;
  1563.          var _loc6_:Array = null;
  1564.          var _loc7_:int = 0;
  1565.          var _loc8_:String = null;
  1566.          var _loc9_:int = 0;
  1567.          _loc2_ = mx_internal::_effectsStarted.length - 1;
  1568.          while(_loc2_ >= 0)
  1569.          {
  1570.             _loc3_ = 0;
  1571.             while(_loc3_ < param1.length)
  1572.             {
  1573.                if((_loc4_ = param1[_loc3_]) == mx_internal::_effectsStarted[_loc2_])
  1574.                {
  1575.                   _loc5_ = mx_internal::_effectsStarted[_loc2_];
  1576.                   mx_internal::_effectsStarted.splice(_loc2_,1);
  1577.                   _loc6_ = _loc5_.effect.getAffectedProperties();
  1578.                   _loc7_ = 0;
  1579.                   while(_loc7_ < _loc6_.length)
  1580.                   {
  1581.                      _loc8_ = _loc6_[_loc7_];
  1582.                      if(mx_internal::_affectedProperties[_loc8_] != undefined)
  1583.                      {
  1584.                         _loc9_ = 0;
  1585.                         while(_loc9_ < mx_internal::_affectedProperties[_loc8_].length)
  1586.                         {
  1587.                            if(mx_internal::_affectedProperties[_loc8_][_loc9_] == _loc4_)
  1588.                            {
  1589.                               mx_internal::_affectedProperties[_loc8_].splice(_loc9_,1);
  1590.                               break;
  1591.                            }
  1592.                            _loc9_++;
  1593.                         }
  1594.                         if(mx_internal::_affectedProperties[_loc8_].length == 0)
  1595.                         {
  1596.                            delete mx_internal::_affectedProperties[_loc8_];
  1597.                         }
  1598.                      }
  1599.                      _loc7_++;
  1600.                   }
  1601.                   break;
  1602.                }
  1603.                _loc3_++;
  1604.             }
  1605.             _loc2_--;
  1606.          }
  1607.          isEffectStarted = mx_internal::_effectsStarted.length > 0 ? true : false;
  1608.       }
  1609.       
  1610.       protected function measure() : void
  1611.       {
  1612.          measuredWidth = !isNaN(mx_internal::_width) ? Number(mx_internal::_width) : Number(0);
  1613.          measuredHeight = !isNaN(mx_internal::_height) ? Number(mx_internal::_height) : Number(0);
  1614.       }
  1615.       
  1616.       private function dispatchResizeEvent() : void
  1617.       {
  1618.          var _loc1_:ResizeEvent = null;
  1619.          _loc1_ = new ResizeEvent(ResizeEvent.RESIZE);
  1620.          _loc1_.oldWidth = oldWidth;
  1621.          _loc1_.oldHeight = oldHeight;
  1622.          dispatchEvent(_loc1_);
  1623.          oldWidth = width;
  1624.          oldHeight = height;
  1625.       }
  1626.       
  1627.       [Bindable("includeInLayoutChanged")]
  1628.       public function get includeInLayout() : Boolean
  1629.       {
  1630.          return _includeInLayout;
  1631.       }
  1632.       
  1633.       public function set maxWidth(param1:Number) : void
  1634.       {
  1635.          if(explicitMaxWidth == param1)
  1636.          {
  1637.             return;
  1638.          }
  1639.          explicitMaxWidth = param1;
  1640.       }
  1641.       
  1642.       public function validateDisplayList() : void
  1643.       {
  1644.          var _loc1_:ISystemManager = null;
  1645.          if(mx_internal::invalidateDisplayListFlag)
  1646.          {
  1647.             _loc1_ = parent as ISystemManager;
  1648.             if(_loc1_)
  1649.             {
  1650.                if(_loc1_ == systemManager.topLevelSystemManager && _loc1_.document != this)
  1651.                {
  1652.                   setActualSize(getExplicitOrMeasuredWidth(),getExplicitOrMeasuredHeight());
  1653.                }
  1654.             }
  1655.             updateDisplayList(scaleX == 0 ? Number(0) : Number(width / scaleX),scaleY == 0 ? Number(0) : Number(height / scaleY));
  1656.             invalidateDisplayListFlag = false;
  1657.          }
  1658.       }
  1659.       
  1660.       public function contentToGlobal(param1:Point) : Point
  1661.       {
  1662.          return localToGlobal(param1);
  1663.       }
  1664.       
  1665.       public function resolveAutomationIDPart(param1:Object) : Array
  1666.       {
  1667.          if(automationDelegate)
  1668.          {
  1669.             return automationDelegate.resolveAutomationIDPart(param1);
  1670.          }
  1671.          return [];
  1672.       }
  1673.       
  1674.       public function setFocus() : void
  1675.       {
  1676.          var _loc1_:ISystemManager = null;
  1677.          _loc1_ = systemManager;
  1678.          if(_loc1_ && _loc1_.stage)
  1679.          {
  1680.             if(UIComponentGlobals.callLaterDispatcherCount == 0)
  1681.             {
  1682.                _loc1_.stage.focus = this;
  1683.                UIComponentGlobals.nextFocusObject = null;
  1684.             }
  1685.             else
  1686.             {
  1687.                UIComponentGlobals.nextFocusObject = this;
  1688.                _loc1_.stage.addEventListener(Event.ENTER_FRAME,setFocusLater);
  1689.             }
  1690.          }
  1691.          else
  1692.          {
  1693.             UIComponentGlobals.nextFocusObject = this;
  1694.             callLater(setFocusLater);
  1695.          }
  1696.       }
  1697.       
  1698.       public function set inheritingStyles(param1:Object) : void
  1699.       {
  1700.          _inheritingStyles = param1;
  1701.       }
  1702.       
  1703.       public function set initialized(param1:Boolean) : void
  1704.       {
  1705.          _initialized = param1;
  1706.          if(param1)
  1707.          {
  1708.             setVisible(_visible,true);
  1709.             dispatchEvent(new FlexEvent(FlexEvent.CREATION_COMPLETE));
  1710.          }
  1711.       }
  1712.       
  1713.       public function owns(param1:DisplayObject) : Boolean
  1714.       {
  1715.          var _loc2_:IChildList = null;
  1716.          _loc2_ = this is IRawChildrenContainer ? IRawChildrenContainer(this).rawChildren : IChildList(this);
  1717.          if(_loc2_.contains(param1))
  1718.          {
  1719.             return true;
  1720.          }
  1721.          while(param1 && param1 != this)
  1722.          {
  1723.             if(param1 is IUIComponent)
  1724.             {
  1725.                param1 = IUIComponent(param1).owner;
  1726.             }
  1727.             else
  1728.             {
  1729.                param1 = param1.parent;
  1730.             }
  1731.          }
  1732.          return param1 == this;
  1733.       }
  1734.       
  1735.       public function setVisible(param1:Boolean, param2:Boolean = false) : void
  1736.       {
  1737.          _visible = param1;
  1738.          if(!initialized)
  1739.          {
  1740.             return;
  1741.          }
  1742.          if(mx_internal::$visible == param1)
  1743.          {
  1744.             return;
  1745.          }
  1746.          $visible = param1;
  1747.          if(!param2)
  1748.          {
  1749.             dispatchEvent(new FlexEvent(!!param1 ? FlexEvent.SHOW : FlexEvent.HIDE));
  1750.          }
  1751.       }
  1752.       
  1753.       mx_internal final function set $y(param1:Number) : void
  1754.       {
  1755.          super.y = param1;
  1756.       }
  1757.       
  1758.       mx_internal final function $addChildAt(param1:DisplayObject, param2:int) : DisplayObject
  1759.       {
  1760.          return super.addChildAt(param1,param2);
  1761.       }
  1762.       
  1763.       public function deleteReferenceOnParentDocument(param1:IFlexDisplayObject) : void
  1764.       {
  1765.          var _loc2_:Array = null;
  1766.          var _loc3_:Object = null;
  1767.          var _loc4_:Array = null;
  1768.          var _loc5_:int = 0;
  1769.          var _loc6_:int = 0;
  1770.          var _loc7_:int = 0;
  1771.          var _loc8_:Object = null;
  1772.          var _loc9_:PropertyChangeEvent = null;
  1773.          if(id && id != "")
  1774.          {
  1775.             _loc2_ = _instanceIndices;
  1776.             if(!_loc2_)
  1777.             {
  1778.                param1[id] = null;
  1779.             }
  1780.             else
  1781.             {
  1782.                _loc3_ = param1[id];
  1783.                if(!_loc3_)
  1784.                {
  1785.                   return;
  1786.                }
  1787.                (_loc4_ = []).push(_loc3_);
  1788.                _loc5_ = _loc2_.length;
  1789.                _loc6_ = 0;
  1790.                while(_loc6_ < _loc5_ - 1)
  1791.                {
  1792.                   if(!(_loc8_ = _loc3_[_loc2_[_loc6_]]))
  1793.                   {
  1794.                      return;
  1795.                   }
  1796.                   _loc3_ = _loc8_;
  1797.                   _loc4_.push(_loc3_);
  1798.                   _loc6_++;
  1799.                }
  1800.                _loc3_.splice(_loc2_[_loc5_ - 1],1);
  1801.                _loc7_ = _loc4_.length - 1;
  1802.                while(_loc7_ > 0)
  1803.                {
  1804.                   if(_loc4_[_loc7_].length == 0)
  1805.                   {
  1806.                      _loc4_[_loc7_ - 1].splice(_loc2_[_loc7_],1);
  1807.                   }
  1808.                   _loc7_--;
  1809.                }
  1810.                if(_loc4_.length > 0 && _loc4_[0].length == 0)
  1811.                {
  1812.                   param1[id] = null;
  1813.                }
  1814.                else
  1815.                {
  1816.                   _loc9_ = PropertyChangeEvent.createUpdateEvent(param1,id,param1[id],param1[id]);
  1817.                   param1.dispatchEvent(_loc9_);
  1818.                }
  1819.             }
  1820.          }
  1821.       }
  1822.       
  1823.       private function commitCurrentState() : void
  1824.       {
  1825.          var _loc1_:Effect = null;
  1826.          var _loc2_:String = null;
  1827.          var _loc3_:StateChangeEvent = null;
  1828.          var _loc4_:String = null;
  1829.          var _loc5_:State = null;
  1830.          _loc1_ = !!playStateTransition ? getTransition(_currentState,requestedCurrentState) : null;
  1831.          _loc2_ = findCommonBaseState(_currentState,requestedCurrentState);
  1832.          _loc4_ = !!_currentState ? _currentState : "";
  1833.          _loc5_ = getState(requestedCurrentState);
  1834.          if(_currentTransitionEffect)
  1835.          {
  1836.             _currentTransitionEffect.end();
  1837.          }
  1838.          initializeState(requestedCurrentState);
  1839.          if(_loc1_)
  1840.          {
  1841.             _loc1_.captureStartValues();
  1842.          }
  1843.          _loc3_ = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGING);
  1844.          _loc3_.oldState = _loc4_;
  1845.          _loc3_.newState = !!requestedCurrentState ? requestedCurrentState : "";
  1846.          dispatchEvent(_loc3_);
  1847.          if(isBaseState(_currentState))
  1848.          {
  1849.             dispatchEvent(new FlexEvent(FlexEvent.EXIT_STATE));
  1850.          }
  1851.          removeState(_currentState,_loc2_);
  1852.          _currentState = requestedCurrentState;
  1853.          if(isBaseState(currentState))
  1854.          {
  1855.             dispatchEvent(new FlexEvent(FlexEvent.ENTER_STATE));
  1856.          }
  1857.          else
  1858.          {
  1859.             applyState(_currentState,_loc2_);
  1860.          }
  1861.          _loc3_ = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGE);
  1862.          _loc3_.oldState = _loc4_;
  1863.          _loc3_.newState = !!_currentState ? _currentState : "";
  1864.          dispatchEvent(_loc3_);
  1865.          if(_loc1_)
  1866.          {
  1867.             UIComponentGlobals.layoutManager.validateNow();
  1868.             _currentTransitionEffect = _loc1_;
  1869.             _loc1_.addEventListener(EffectEvent.EFFECT_END,transition_effectEndHandler);
  1870.             _loc1_.play();
  1871.          }
  1872.       }
  1873.       
  1874.       public function get nonInheritingStyles() : Object
  1875.       {
  1876.          return _nonInheritingStyles;
  1877.       }
  1878.       
  1879.       mx_internal final function set $x(param1:Number) : void
  1880.       {
  1881.          super.x = param1;
  1882.       }
  1883.       
  1884.       private function applyState(param1:String, param2:String) : void
  1885.       {
  1886.          var _loc3_:State = null;
  1887.          var _loc4_:Array = null;
  1888.          var _loc5_:int = 0;
  1889.          _loc3_ = getState(param1);
  1890.          if(_loc3_)
  1891.          {
  1892.             if(_loc3_.basedOn != param2)
  1893.             {
  1894.                applyState(_loc3_.basedOn,param2);
  1895.             }
  1896.             _loc4_ = _loc3_.overrides;
  1897.             _loc5_ = 0;
  1898.             while(_loc5_ < _loc4_.length)
  1899.             {
  1900.                _loc4_[_loc5_].apply(this);
  1901.                _loc5_++;
  1902.             }
  1903.             _loc3_.dispatchEnterState();
  1904.          }
  1905.       }
  1906.       
  1907.       [Bindable("widthChanged")]
  1908.       override public function get width() : Number
  1909.       {
  1910.          return mx_internal::_width;
  1911.       }
  1912.       
  1913.       public function effectStarted(param1:EffectInstance) : void
  1914.       {
  1915.          var _loc2_:Array = null;
  1916.          var _loc3_:int = 0;
  1917.          var _loc4_:String = null;
  1918.          mx_internal::_effectsStarted.push(param1);
  1919.          _loc2_ = param1.effect.getAffectedProperties();
  1920.          _loc3_ = 0;
  1921.          while(_loc3_ < _loc2_.length)
  1922.          {
  1923.             _loc4_ = _loc2_[_loc3_];
  1924.             if(mx_internal::_affectedProperties[_loc4_] == undefined)
  1925.             {
  1926.                mx_internal::_affectedProperties[_loc4_] = [];
  1927.             }
  1928.             mx_internal::_affectedProperties[_loc4_].push(param1);
  1929.             _loc3_++;
  1930.          }
  1931.          isEffectStarted = true;
  1932.       }
  1933.       
  1934.       protected function commitProperties() : void
  1935.       {
  1936.          var _loc1_:Number = NaN;
  1937.          var _loc2_:Number = NaN;
  1938.          if(_scaleX != oldScaleX)
  1939.          {
  1940.             _loc1_ = Math.abs(_scaleX / oldScaleX);
  1941.             if(!isNaN(explicitMinWidth))
  1942.             {
  1943.                explicitMinWidth *= _loc1_;
  1944.             }
  1945.             if(!isNaN(explicitWidth))
  1946.             {
  1947.                explicitWidth *= _loc1_;
  1948.             }
  1949.             if(!isNaN(explicitMaxWidth))
  1950.             {
  1951.                explicitMaxWidth *= _loc1_;
  1952.             }
  1953.             _width *= _loc1_;
  1954.             super.scaleX = oldScaleX = _scaleX;
  1955.          }
  1956.          if(_scaleY != oldScaleY)
  1957.          {
  1958.             _loc2_ = Math.abs(_scaleY / oldScaleY);
  1959.             if(!isNaN(explicitMinHeight))
  1960.             {
  1961.                explicitMinHeight *= _loc2_;
  1962.             }
  1963.             if(!isNaN(explicitHeight))
  1964.             {
  1965.                explicitHeight *= _loc2_;
  1966.             }
  1967.             if(!isNaN(explicitMaxHeight))
  1968.             {
  1969.                explicitMaxHeight *= _loc2_;
  1970.             }
  1971.             _height *= _loc2_;
  1972.             super.scaleY = oldScaleY = _scaleY;
  1973.          }
  1974.          if(x != oldX || y != oldY)
  1975.          {
  1976.             dispatchMoveEvent();
  1977.          }
  1978.          if(width != oldWidth || height != oldHeight)
  1979.          {
  1980.             dispatchResizeEvent();
  1981.          }
  1982.          if(errorStringChanged)
  1983.          {
  1984.             errorStringChanged = false;
  1985.             setBorderColorForErrorString();
  1986.          }
  1987.       }
  1988.       
  1989.       [Bindable("resize")]
  1990.       public function get percentHeight() : Number
  1991.       {
  1992.          return _percentHeight;
  1993.       }
  1994.       
  1995.       mx_internal final function get $parent() : DisplayObjectContainer
  1996.       {
  1997.          return super.parent;
  1998.       }
  1999.       
  2000.       public function set explicitMinWidth(param1:Number) : void
  2001.       {
  2002.          var _loc2_:IInvalidating = null;
  2003.          if(_explicitMinWidth == param1)
  2004.          {
  2005.             return;
  2006.          }
  2007.          _explicitMinWidth = param1;
  2008.          invalidateSize();
  2009.          _loc2_ = parent as IInvalidating;
  2010.          if(_loc2_)
  2011.          {
  2012.             _loc2_.invalidateSize();
  2013.             _loc2_.invalidateDisplayList();
  2014.          }
  2015.          dispatchEvent(new Event("explicitMinWidthChanged"));
  2016.       }
  2017.       
  2018.       public function get isPopUp() : Boolean
  2019.       {
  2020.          return _isPopUp;
  2021.       }
  2022.       
  2023.       private function measureSizes() : Boolean
  2024.       {
  2025.          var _loc1_:Boolean = false;
  2026.          var _loc2_:Number = NaN;
  2027.          var _loc3_:Number = NaN;
  2028.          var _loc4_:Number = NaN;
  2029.          var _loc5_:Number = NaN;
  2030.          _loc1_ = false;
  2031.          if(!mx_internal::invalidateSizeFlag)
  2032.          {
  2033.             return _loc1_;
  2034.          }
  2035.          if(isNaN(explicitWidth) || isNaN(explicitHeight))
  2036.          {
  2037.             _loc4_ = Math.abs(scaleX);
  2038.             _loc5_ = Math.abs(scaleY);
  2039.             if(_loc4_ != 1)
  2040.             {
  2041.                _measuredMinWidth /= _loc4_;
  2042.                _measuredWidth /= _loc4_;
  2043.             }
  2044.             if(_loc5_ != 1)
  2045.             {
  2046.                _measuredMinHeight /= _loc5_;
  2047.                _measuredHeight /= _loc5_;
  2048.             }
  2049.             measure();
  2050.             invalidateSizeFlag = false;
  2051.             if(!isNaN(explicitMinWidth) && measuredWidth < explicitMinWidth)
  2052.             {
  2053.                measuredWidth = explicitMinWidth;
  2054.             }
  2055.             if(!isNaN(explicitMaxWidth) && measuredWidth > explicitMaxWidth)
  2056.             {
  2057.                measuredWidth = explicitMaxWidth;
  2058.             }
  2059.             if(!isNaN(explicitMinHeight) && measuredHeight < explicitMinHeight)
  2060.             {
  2061.                measuredHeight = explicitMinHeight;
  2062.             }
  2063.             if(!isNaN(explicitMaxHeight) && measuredHeight > explicitMaxHeight)
  2064.             {
  2065.                measuredHeight = explicitMaxHeight;
  2066.             }
  2067.             if(_loc4_ != 1)
  2068.             {
  2069.                _measuredMinWidth *= _loc4_;
  2070.                _measuredWidth *= _loc4_;
  2071.             }
  2072.             if(_loc5_ != 1)
  2073.             {
  2074.                _measuredMinHeight *= _loc5_;
  2075.                _measuredHeight *= _loc5_;
  2076.             }
  2077.          }
  2078.          else
  2079.          {
  2080.             invalidateSizeFlag = false;
  2081.             _measuredMinWidth = 0;
  2082.             _measuredMinHeight = 0;
  2083.          }
  2084.          adjustSizesForScaleChanges();
  2085.          if(isNaN(oldMinWidth))
  2086.          {
  2087.             oldMinWidth = !isNaN(explicitMinWidth) ? Number(explicitMinWidth) : Number(measuredMinWidth);
  2088.             oldMinHeight = !isNaN(explicitMinHeight) ? Number(explicitMinHeight) : Number(measuredMinHeight);
  2089.             oldExplicitWidth = !isNaN(explicitWidth) ? Number(explicitWidth) : Number(measuredWidth);
  2090.             oldExplicitHeight = !isNaN(explicitHeight) ? Number(explicitHeight) : Number(measuredHeight);
  2091.             _loc1_ = true;
  2092.          }
  2093.          else
  2094.          {
  2095.             _loc3_ = !isNaN(explicitMinWidth) ? Number(explicitMinWidth) : Number(measuredMinWidth);
  2096.             if(_loc3_ != oldMinWidth)
  2097.             {
  2098.                oldMinWidth = _loc3_;
  2099.                _loc1_ = true;
  2100.             }
  2101.             _loc3_ = !isNaN(explicitMinHeight) ? Number(explicitMinHeight) : Number(measuredMinHeight);
  2102.             if(_loc3_ != oldMinHeight)
  2103.             {
  2104.                oldMinHeight = _loc3_;
  2105.                _loc1_ = true;
  2106.             }
  2107.             _loc3_ = !isNaN(explicitWidth) ? Number(explicitWidth) : Number(measuredWidth);
  2108.             if(_loc3_ != oldExplicitWidth)
  2109.             {
  2110.                oldExplicitWidth = _loc3_;
  2111.                _loc1_ = true;
  2112.             }
  2113.             _loc3_ = !isNaN(explicitHeight) ? Number(explicitHeight) : Number(measuredHeight);
  2114.             if(_loc3_ != oldExplicitHeight)
  2115.             {
  2116.                oldExplicitHeight = _loc3_;
  2117.                _loc1_ = true;
  2118.             }
  2119.          }
  2120.          return _loc1_;
  2121.       }
  2122.       
  2123.       public function get automationTabularData() : Object
  2124.       {
  2125.          if(automationDelegate)
  2126.          {
  2127.             return automationDelegate.automationTabularData;
  2128.          }
  2129.          return null;
  2130.       }
  2131.       
  2132.       public function validateNow() : void
  2133.       {
  2134.          UIComponentGlobals.layoutManager.validateClient(this);
  2135.       }
  2136.       
  2137.       public function finishPrint(param1:Object, param2:IFlexDisplayObject) : void
  2138.       {
  2139.       }
  2140.       
  2141.       public function get repeaters() : Array
  2142.       {
  2143.          return !!_repeaters ? _repeaters.slice(0) : [];
  2144.       }
  2145.       
  2146.       private function dispatchMoveEvent() : void
  2147.       {
  2148.          var _loc1_:MoveEvent = null;
  2149.          _loc1_ = new MoveEvent(MoveEvent.MOVE);
  2150.          _loc1_.oldX = oldX;
  2151.          _loc1_.oldY = oldY;
  2152.          dispatchEvent(_loc1_);
  2153.          oldX = x;
  2154.          oldY = y;
  2155.       }
  2156.       
  2157.       public function get measuredMinHeight() : Number
  2158.       {
  2159.          return _measuredMinHeight;
  2160.       }
  2161.       
  2162.       public function drawFocus(param1:Boolean) : void
  2163.       {
  2164.          var _loc2_:DisplayObject = null;
  2165.          var _loc3_:Sprite = null;
  2166.          var _loc4_:DisplayObjectContainer = null;
  2167.          var _loc5_:Class = null;
  2168.          if(!parent)
  2169.          {
  2170.             return;
  2171.          }
  2172.          _loc2_ = getFocusObject();
  2173.          _loc3_ = !!focusManager ? focusManager.focusPane : null;
  2174.          if(param1 && !mx_internal::isEffectStarted)
  2175.          {
  2176.             if((_loc4_ = _loc3_.parent) != parent)
  2177.             {
  2178.                if(_loc4_)
  2179.                {
  2180.                   if(_loc4_ is ISystemManager)
  2181.                   {
  2182.                      ISystemManager(_loc4_).focusPane = null;
  2183.                   }
  2184.                   else
  2185.                   {
  2186.                      IUIComponent(_loc4_).focusPane = null;
  2187.                   }
  2188.                }
  2189.                if(parent is ISystemManager)
  2190.                {
  2191.                   ISystemManager(parent).focusPane = _loc3_;
  2192.                }
  2193.                else
  2194.                {
  2195.                   IUIComponent(parent).focusPane = _loc3_;
  2196.                }
  2197.             }
  2198.             _loc5_ = getStyle("focusSkin");
  2199.             if(_loc2_ && !(_loc2_ is _loc5_))
  2200.             {
  2201.                _loc3_.removeChild(_loc2_);
  2202.                _loc2_ = null;
  2203.             }
  2204.             if(!_loc2_)
  2205.             {
  2206.                _loc2_ = new _loc5_();
  2207.                _loc2_.name = "focus";
  2208.                _loc3_.addChild(_loc2_);
  2209.             }
  2210.             if(_loc2_ is ILayoutManagerClient)
  2211.             {
  2212.                ILayoutManagerClient(_loc2_).nestLevel = nestLevel;
  2213.             }
  2214.             if(_loc2_ is ISimpleStyleClient)
  2215.             {
  2216.                ISimpleStyleClient(_loc2_).styleName = this;
  2217.             }
  2218.             addEventListener(MoveEvent.MOVE,focusObj_moveHandler,true);
  2219.             addEventListener(MoveEvent.MOVE,focusObj_moveHandler);
  2220.             addEventListener(ResizeEvent.RESIZE,focusObj_resizeHandler,true);
  2221.             addEventListener(ResizeEvent.RESIZE,focusObj_resizeHandler);
  2222.             addEventListener(Event.REMOVED,focusObj_removedHandler,true);
  2223.             _loc2_.visible = true;
  2224.             hasFocusRect = true;
  2225.             adjustFocusRect();
  2226.          }
  2227.          else if(hasFocusRect)
  2228.          {
  2229.             if(_loc2_)
  2230.             {
  2231.                _loc2_.visible = false;
  2232.             }
  2233.             removeEventListener(MoveEvent.MOVE,focusObj_moveHandler);
  2234.             removeEventListener(MoveEvent.MOVE,focusObj_moveHandler,true);
  2235.             removeEventListener(ResizeEvent.RESIZE,focusObj_resizeHandler,true);
  2236.             removeEventListener(ResizeEvent.RESIZE,focusObj_resizeHandler);
  2237.             removeEventListener(Event.REMOVED,focusObj_removedHandler,true);
  2238.          }
  2239.       }
  2240.       
  2241.       private function get indexedID() : String
  2242.       {
  2243.          var _loc1_:String = null;
  2244.          var _loc2_:Array = null;
  2245.          _loc1_ = id;
  2246.          _loc2_ = instanceIndices;
  2247.          if(_loc2_)
  2248.          {
  2249.             _loc1_ += "[" + _loc2_.join("][") + "]";
  2250.          }
  2251.          return _loc1_;
  2252.       }
  2253.       
  2254.       mx_internal function addingChild(param1:DisplayObject) : void
  2255.       {
  2256.          if(param1 is IUIComponent && !IUIComponent(param1).document)
  2257.          {
  2258.             IUIComponent(param1).document = !!document ? document : Application.application;
  2259.          }
  2260.          if(param1 is IUIComponent)
  2261.          {
  2262.             IUIComponent(param1).parentChanged(this);
  2263.          }
  2264.          if(param1 is ILayoutManagerClient)
  2265.          {
  2266.             ILayoutManagerClient(param1).nestLevel = nestLevel + 1;
  2267.          }
  2268.          else if(param1 is UITextField)
  2269.          {
  2270.             UITextField(param1).nestLevel = nestLevel + 1;
  2271.          }
  2272.          if(param1 is InteractiveObject)
  2273.          {
  2274.             if(doubleClickEnabled)
  2275.             {
  2276.                InteractiveObject(param1).doubleClickEnabled = true;
  2277.             }
  2278.          }
  2279.          if(param1 is IStyleClient)
  2280.          {
  2281.             IStyleClient(param1).regenerateStyleCache(true);
  2282.          }
  2283.          else if(param1 is UITextField && UITextField(param1).inheritingStyles)
  2284.          {
  2285.             StyleProtoChain.initTextField(UITextField(param1));
  2286.          }
  2287.          if(param1 is ISimpleStyleClient)
  2288.          {
  2289.             ISimpleStyleClient(param1).styleChanged(null);
  2290.          }
  2291.          if(param1 is IStyleClient)
  2292.          {
  2293.             IStyleClient(param1).notifyStyleChangeInChildren(null,true);
  2294.          }
  2295.          if(param1 is UIComponent)
  2296.          {
  2297.             UIComponent(param1).initThemeColor();
  2298.          }
  2299.          if(param1 is UIComponent)
  2300.          {
  2301.             UIComponent(param1).stylesInitialized();
  2302.          }
  2303.       }
  2304.       
  2305.       protected function initializationComplete() : void
  2306.       {
  2307.          processedDescriptors = true;
  2308.       }
  2309.       
  2310.       public function set moduleFactory(param1:IFlexModuleFactory) : void
  2311.       {
  2312.          _moduleFactory = param1;
  2313.       }
  2314.       
  2315.       public function set repeaterIndices(param1:Array) : void
  2316.       {
  2317.          _repeaterIndices = param1;
  2318.       }
  2319.       
  2320.       private function focusObj_removedHandler(param1:Event) : void
  2321.       {
  2322.          var _loc2_:DisplayObject = null;
  2323.          if(param1.target != this)
  2324.          {
  2325.             return;
  2326.          }
  2327.          _loc2_ = getFocusObject();
  2328.          if(_loc2_)
  2329.          {
  2330.             _loc2_.visible = false;
  2331.          }
  2332.       }
  2333.       
  2334.       mx_internal function updateCallbacks() : void
  2335.       {
  2336.          if(mx_internal::invalidateDisplayListFlag)
  2337.          {
  2338.             UIComponentGlobals.layoutManager.invalidateDisplayList(this);
  2339.          }
  2340.          if(mx_internal::invalidateSizeFlag)
  2341.          {
  2342.             UIComponentGlobals.layoutManager.invalidateSize(this);
  2343.          }
  2344.          if(mx_internal::invalidatePropertiesFlag)
  2345.          {
  2346.             UIComponentGlobals.layoutManager.invalidateProperties(this);
  2347.          }
  2348.          if(systemManager)
  2349.          {
  2350.             if(methodQueue.length > 0 && !listeningForRender)
  2351.             {
  2352.                _systemManager.stage.addEventListener(Event.RENDER,callLaterDispatcher);
  2353.                _systemManager.stage.addEventListener(Event.ENTER_FRAME,callLaterDispatcher);
  2354.                listeningForRender = true;
  2355.             }
  2356.             _systemManager.stage.invalidate();
  2357.          }
  2358.       }
  2359.       
  2360.       public function set styleDeclaration(param1:CSSStyleDeclaration) : void
  2361.       {
  2362.          _styleDeclaration = param1;
  2363.       }
  2364.       
  2365.       override public function set doubleClickEnabled(param1:Boolean) : void
  2366.       {
  2367.          var _loc2_:IChildList = null;
  2368.          var _loc3_:int = 0;
  2369.          var _loc4_:InteractiveObject = null;
  2370.          super.doubleClickEnabled = param1;
  2371.          if(this is IRawChildrenContainer)
  2372.          {
  2373.             _loc2_ = IRawChildrenContainer(this).rawChildren;
  2374.          }
  2375.          else
  2376.          {
  2377.             _loc2_ = IChildList(this);
  2378.          }
  2379.          _loc3_ = 0;
  2380.          while(_loc3_ < _loc2_.numChildren)
  2381.          {
  2382.             if(_loc4_ = _loc2_.getChildAt(_loc3_) as InteractiveObject)
  2383.             {
  2384.                _loc4_.doubleClickEnabled = param1;
  2385.             }
  2386.             _loc3_++;
  2387.          }
  2388.       }
  2389.       
  2390.       public function prepareToPrint(param1:IFlexDisplayObject) : Object
  2391.       {
  2392.          return null;
  2393.       }
  2394.       
  2395.       [Bindable("explicitMinHeightChanged")]
  2396.       public function get minHeight() : Number
  2397.       {
  2398.          if(!isNaN(explicitMinHeight))
  2399.          {
  2400.             return explicitMinHeight;
  2401.          }
  2402.          return measuredMinHeight;
  2403.       }
  2404.       
  2405.       public function notifyStyleChangeInChildren(param1:String, param2:Boolean) : void
  2406.       {
  2407.          var _loc3_:int = 0;
  2408.          var _loc4_:int = 0;
  2409.          var _loc5_:ISimpleStyleClient = null;
  2410.          cachedTextFormat = null;
  2411.          _loc3_ = numChildren;
  2412.          _loc4_ = 0;
  2413.          while(_loc4_ < _loc3_)
  2414.          {
  2415.             if(_loc5_ = getChildAt(_loc4_) as ISimpleStyleClient)
  2416.             {
  2417.                _loc5_.styleChanged(param1);
  2418.                if(_loc5_ is IStyleClient)
  2419.                {
  2420.                   IStyleClient(_loc5_).notifyStyleChangeInChildren(param1,param2);
  2421.                }
  2422.             }
  2423.             _loc4_++;
  2424.          }
  2425.       }
  2426.       
  2427.       public function get contentMouseX() : Number
  2428.       {
  2429.          return mouseX;
  2430.       }
  2431.       
  2432.       public function get contentMouseY() : Number
  2433.       {
  2434.          return mouseY;
  2435.       }
  2436.       
  2437.       public function get tweeningProperties() : Array
  2438.       {
  2439.          return _tweeningProperties;
  2440.       }
  2441.       
  2442.       public function set explicitMaxWidth(param1:Number) : void
  2443.       {
  2444.          var _loc2_:IInvalidating = null;
  2445.          if(mx_internal::_explicitMaxWidth == param1)
  2446.          {
  2447.             return;
  2448.          }
  2449.          _explicitMaxWidth = param1;
  2450.          invalidateSize();
  2451.          _loc2_ = parent as IInvalidating;
  2452.          if(_loc2_)
  2453.          {
  2454.             _loc2_.invalidateSize();
  2455.             _loc2_.invalidateDisplayList();
  2456.          }
  2457.          dispatchEvent(new Event("explicitMaxWidthChanged"));
  2458.       }
  2459.       
  2460.       public function set document(param1:Object) : void
  2461.       {
  2462.          var _loc2_:int = 0;
  2463.          var _loc3_:int = 0;
  2464.          var _loc4_:IUIComponent = null;
  2465.          _loc2_ = numChildren;
  2466.          _loc3_ = 0;
  2467.          while(_loc3_ < _loc2_)
  2468.          {
  2469.             if(_loc4_ = getChildAt(_loc3_) as IUIComponent)
  2470.             {
  2471.                if(_loc4_.document == mx_internal::_document || _loc4_.document == Application.application)
  2472.                {
  2473.                   _loc4_.document = param1;
  2474.                }
  2475.             }
  2476.             _loc3_++;
  2477.          }
  2478.          _document = param1;
  2479.       }
  2480.       
  2481.       public function validateSize(param1:Boolean = false) : void
  2482.       {
  2483.          var _loc2_:int = 0;
  2484.          var _loc3_:DisplayObject = null;
  2485.          var _loc4_:Boolean = false;
  2486.          var _loc5_:IInvalidating = null;
  2487.          if(param1)
  2488.          {
  2489.             _loc2_ = 0;
  2490.             while(_loc2_ < numChildren)
  2491.             {
  2492.                _loc3_ = getChildAt(_loc2_);
  2493.                if(_loc3_ is ILayoutManagerClient)
  2494.                {
  2495.                   (_loc3_ as ILayoutManagerClient).validateSize(true);
  2496.                }
  2497.                _loc2_++;
  2498.             }
  2499.          }
  2500.          if(mx_internal::invalidateSizeFlag)
  2501.          {
  2502.             if((_loc4_ = measureSizes()) && includeInLayout)
  2503.             {
  2504.                invalidateDisplayList();
  2505.                if(_loc5_ = parent as IInvalidating)
  2506.                {
  2507.                   _loc5_.invalidateSize();
  2508.                   _loc5_.invalidateDisplayList();
  2509.                }
  2510.             }
  2511.          }
  2512.       }
  2513.       
  2514.       override public function dispatchEvent(param1:Event) : Boolean
  2515.       {
  2516.          if(mx_internal::dispatchEventHook != null)
  2517.          {
  2518.             dispatchEventHook(param1,this);
  2519.          }
  2520.          return super.dispatchEvent(param1);
  2521.       }
  2522.       
  2523.       public function set updateCompletePendingFlag(param1:Boolean) : void
  2524.       {
  2525.          _updateCompletePendingFlag = param1;
  2526.       }
  2527.       
  2528.       mx_internal final function get $height() : Number
  2529.       {
  2530.          return super.height;
  2531.       }
  2532.       
  2533.       override public function set height(param1:Number) : void
  2534.       {
  2535.          var _loc2_:IInvalidating = null;
  2536.          if(explicitHeight != param1)
  2537.          {
  2538.             explicitHeight = param1;
  2539.             invalidateSize();
  2540.          }
  2541.          if(mx_internal::_height != param1)
  2542.          {
  2543.             invalidateProperties();
  2544.             invalidateDisplayList();
  2545.             _loc2_ = parent as IInvalidating;
  2546.             if(_loc2_ && includeInLayout)
  2547.             {
  2548.                _loc2_.invalidateSize();
  2549.                _loc2_.invalidateDisplayList();
  2550.             }
  2551.             _height = param1;
  2552.             dispatchEvent(new Event("heightChanged"));
  2553.          }
  2554.       }
  2555.       
  2556.       protected function attachOverlay() : void
  2557.       {
  2558.          addChild(mx_internal::overlay);
  2559.       }
  2560.       
  2561.       private function overlay_resizeHandler(param1:Event) : void
  2562.       {
  2563.          fillOverlay(mx_internal::overlay,mx_internal::overlayColor,null);
  2564.       }
  2565.       
  2566.       public function get numAutomationChildren() : int
  2567.       {
  2568.          if(automationDelegate)
  2569.          {
  2570.             return automationDelegate.numAutomationChildren;
  2571.          }
  2572.          return 0;
  2573.       }
  2574.       
  2575.       [Bindable("explictMinHeightChanged")]
  2576.       public function get explicitMinHeight() : Number
  2577.       {
  2578.          return mx_internal::_explicitMinHeight;
  2579.       }
  2580.       
  2581.       public function localToContent(param1:Point) : Point
  2582.       {
  2583.          return param1;
  2584.       }
  2585.       
  2586.       public function set id(param1:String) : void
  2587.       {
  2588.          _id = param1;
  2589.       }
  2590.       
  2591.       [Bindable("initialize")]
  2592.       public function get parentApplication() : Object
  2593.       {
  2594.          var _loc1_:Object = null;
  2595.          var _loc2_:UIComponent = null;
  2596.          _loc1_ = systemManager.document;
  2597.          if(_loc1_ == this)
  2598.          {
  2599.             _loc2_ = _loc1_.systemManager.parent as UIComponent;
  2600.             _loc1_ = !!_loc2_ ? _loc2_.systemManager.document : null;
  2601.          }
  2602.          return _loc1_;
  2603.       }
  2604.       
  2605.       private function removeState(param1:String, param2:String) : void
  2606.       {
  2607.          var _loc3_:State = null;
  2608.          var _loc4_:Array = null;
  2609.          var _loc5_:int = 0;
  2610.          _loc3_ = getState(param1);
  2611.          if(_loc3_)
  2612.          {
  2613.             _loc3_.dispatchExitState();
  2614.             _loc5_ = (_loc4_ = _loc3_.overrides).length;
  2615.             while(_loc5_)
  2616.             {
  2617.                _loc4_[_loc5_ - 1].remove(this);
  2618.                _loc5_--;
  2619.             }
  2620.             if(_loc3_.basedOn != param2)
  2621.             {
  2622.                removeState(_loc3_.basedOn,param2);
  2623.             }
  2624.          }
  2625.       }
  2626.       
  2627.       public function setStyle(param1:String, param2:*) : void
  2628.       {
  2629.          var _loc3_:Boolean = false;
  2630.          var _loc4_:* = false;
  2631.          var _loc5_:* = false;
  2632.          if(param1 == "styleName")
  2633.          {
  2634.             styleName = param2;
  2635.             return;
  2636.          }
  2637.          if(EffectManager.getEventForEffectTrigger(param1) != "")
  2638.          {
  2639.             EffectManager.setStyle(param1,this);
  2640.          }
  2641.          _loc3_ = StyleManager.isInheritingStyle(param1);
  2642.          _loc4_ = inheritingStyles != UIComponent.STYLE_UNINITIALIZED;
  2643.          _loc5_ = getStyle(param1) != param2;
  2644.          if(!_styleDeclaration)
  2645.          {
  2646.             _styleDeclaration = new CSSStyleDeclaration();
  2647.             _styleDeclaration.setStyle(param1,param2);
  2648.             if(_loc4_)
  2649.             {
  2650.                regenerateStyleCache(_loc3_);
  2651.             }
  2652.          }
  2653.          else
  2654.          {
  2655.             _styleDeclaration.setStyle(param1,param2);
  2656.          }
  2657.          if(_loc4_ && _loc5_)
  2658.          {
  2659.             styleChanged(param1);
  2660.             notifyStyleChangeInChildren(param1,_loc3_);
  2661.          }
  2662.       }
  2663.       
  2664.       public function get validationSubField() : String
  2665.       {
  2666.          return _validationSubField;
  2667.       }
  2668.       
  2669.       public function get systemManager() : ISystemManager
  2670.       {
  2671.          var _loc1_:DisplayObject = null;
  2672.          var _loc2_:DisplayObjectContainer = null;
  2673.          var _loc3_:IUIComponent = null;
  2674.          if(!_systemManager)
  2675.          {
  2676.             _loc1_ = root;
  2677.             if(_loc1_)
  2678.             {
  2679.                _systemManager = _loc1_ as ISystemManager;
  2680.             }
  2681.             else
  2682.             {
  2683.                _loc2_ = parent;
  2684.                while(_loc2_)
  2685.                {
  2686.                   _loc3_ = _loc2_ as IUIComponent;
  2687.                   if(_loc3_)
  2688.                   {
  2689.                      _systemManager = _loc3_.systemManager;
  2690.                      break;
  2691.                   }
  2692.                   _loc2_ = _loc2_.parent;
  2693.                }
  2694.             }
  2695.          }
  2696.          return _systemManager;
  2697.       }
  2698.       
  2699.       public function get showInAutomationHierarchy() : Boolean
  2700.       {
  2701.          return _showInAutomationHierarchy;
  2702.       }
  2703.       
  2704.       private function isBaseState(param1:String) : Boolean
  2705.       {
  2706.          return !param1 || param1 == "";
  2707.       }
  2708.       
  2709.       override public function addChildAt(param1:DisplayObject, param2:int) : DisplayObject
  2710.       {
  2711.          if(mx_internal::overlayReferenceCount && param1 != mx_internal::overlay)
  2712.          {
  2713.             param2 = Math.min(param2,Math.max(0,super.numChildren - 1));
  2714.          }
  2715.          addingChild(param1);
  2716.          $addChildAt(param1,param2);
  2717.          childAdded(param1);
  2718.          return param1;
  2719.       }
  2720.       
  2721.       public function set enabled(param1:Boolean) : void
  2722.       {
  2723.          _enabled = param1;
  2724.          cachedTextFormat = null;
  2725.          invalidateDisplayList();
  2726.          dispatchEvent(new Event("enabledChanged"));
  2727.       }
  2728.       
  2729.       [Bindable("explicitMinWidthChanged")]
  2730.       public function get minWidth() : Number
  2731.       {
  2732.          if(!isNaN(explicitMinWidth))
  2733.          {
  2734.             return explicitMinWidth;
  2735.          }
  2736.          return measuredMinWidth;
  2737.       }
  2738.       
  2739.       private function setFocusLater(param1:Event = null) : void
  2740.       {
  2741.          var _loc2_:ISystemManager = null;
  2742.          _loc2_ = systemManager;
  2743.          if(_loc2_ && _loc2_.stage)
  2744.          {
  2745.             _loc2_.stage.removeEventListener(Event.ENTER_FRAME,setFocusLater);
  2746.             if(UIComponentGlobals.nextFocusObject)
  2747.             {
  2748.                _loc2_.stage.focus = UIComponentGlobals.nextFocusObject;
  2749.             }
  2750.             UIComponentGlobals.nextFocusObject = null;
  2751.          }
  2752.       }
  2753.       
  2754.       [Bindable("currentStateChange")]
  2755.       public function get currentState() : String
  2756.       {
  2757.          return !!_currentStateChanged ? requestedCurrentState : _currentState;
  2758.       }
  2759.       
  2760.       public function set focusEnabled(param1:Boolean) : void
  2761.       {
  2762.          _focusEnabled = param1;
  2763.       }
  2764.       
  2765.       public function get measuredWidth() : Number
  2766.       {
  2767.          return _measuredWidth;
  2768.       }
  2769.       
  2770.       public function get baselinePosition() : Number
  2771.       {
  2772.          return NaN;
  2773.       }
  2774.       
  2775.       public function set cachePolicy(param1:String) : void
  2776.       {
  2777.          if(_cachePolicy != param1)
  2778.          {
  2779.             _cachePolicy = param1;
  2780.             if(param1 == UIComponentCachePolicy.OFF)
  2781.             {
  2782.                cacheAsBitmap = false;
  2783.             }
  2784.             else if(param1 == UIComponentCachePolicy.ON)
  2785.             {
  2786.                cacheAsBitmap = true;
  2787.             }
  2788.             else
  2789.             {
  2790.                cacheAsBitmap = cacheAsBitmapCount > 0;
  2791.             }
  2792.          }
  2793.       }
  2794.       
  2795.       public function get automationValue() : Array
  2796.       {
  2797.          if(automationDelegate)
  2798.          {
  2799.             return automationDelegate.automationValue;
  2800.          }
  2801.          return [];
  2802.       }
  2803.       
  2804.       public function set instanceIndices(param1:Array) : void
  2805.       {
  2806.          _instanceIndices = param1;
  2807.       }
  2808.       
  2809.       public function get repeaterIndex() : int
  2810.       {
  2811.          return !!_repeaterIndices ? int(_repeaterIndices[_repeaterIndices.length - 1]) : -1;
  2812.       }
  2813.       
  2814.       public function parentChanged(param1:DisplayObjectContainer) : void
  2815.       {
  2816.          if(!param1)
  2817.          {
  2818.             _parent = null;
  2819.             _nestLevel = 0;
  2820.          }
  2821.          else if(param1 is IStyleClient)
  2822.          {
  2823.             _parent = param1;
  2824.          }
  2825.          else if(param1 is SystemManager)
  2826.          {
  2827.             _parent = param1;
  2828.          }
  2829.          else
  2830.          {
  2831.             _parent = param1.parent;
  2832.          }
  2833.       }
  2834.       
  2835.       public function get owner() : DisplayObjectContainer
  2836.       {
  2837.          return !!_owner ? _owner : parent;
  2838.       }
  2839.       
  2840.       public function get processedDescriptors() : Boolean
  2841.       {
  2842.          return _processedDescriptors;
  2843.       }
  2844.       
  2845.       [Bindable("alphaChanged")]
  2846.       override public function set alpha(param1:Number) : void
  2847.       {
  2848.          super.alpha = param1;
  2849.          dispatchEvent(new Event("alphaChanged"));
  2850.       }
  2851.       
  2852.       public function initializeRepeaterArrays(param1:IRepeaterClient) : void
  2853.       {
  2854.          if(param1 && param1.instanceIndices && !_instanceIndices && !param1.isDocument)
  2855.          {
  2856.             _instanceIndices = param1.instanceIndices;
  2857.             _repeaters = param1.repeaters;
  2858.             _repeaterIndices = param1.repeaterIndices;
  2859.          }
  2860.       }
  2861.       
  2862.       [Bindable("explicitMaxWidthChanged")]
  2863.       public function get maxWidth() : Number
  2864.       {
  2865.          return !isNaN(explicitMaxWidth) ? Number(explicitMaxWidth) : Number(DEFAULT_MAX_WIDTH);
  2866.       }
  2867.       
  2868.       private function removedHandler(param1:Event) : void
  2869.       {
  2870.          if(param1.eventPhase != EventPhase.AT_TARGET)
  2871.          {
  2872.             return;
  2873.          }
  2874.          if(parent is Container && Container(parent).creatingContentPane)
  2875.          {
  2876.             param1.stopImmediatePropagation();
  2877.             return;
  2878.          }
  2879.       }
  2880.       
  2881.       public function callLater(param1:Function, param2:Array = null) : void
  2882.       {
  2883.          var _loc3_:ISystemManager = null;
  2884.          methodQueue.push(new MethodQueueElement(param1,param2));
  2885.          _loc3_ = systemManager;
  2886.          if(_loc3_ && _loc3_.stage)
  2887.          {
  2888.             if(!listeningForRender)
  2889.             {
  2890.                _loc3_.stage.addEventListener(Event.RENDER,callLaterDispatcher);
  2891.                _loc3_.stage.addEventListener(Event.ENTER_FRAME,callLaterDispatcher);
  2892.                listeningForRender = true;
  2893.             }
  2894.             _loc3_.stage.invalidate();
  2895.          }
  2896.       }
  2897.       
  2898.       private function addedHandler(param1:Event) : void
  2899.       {
  2900.          if(param1.eventPhase != EventPhase.AT_TARGET)
  2901.          {
  2902.             return;
  2903.          }
  2904.          if(parent is Container && Container(parent).creatingContentPane)
  2905.          {
  2906.             param1.stopImmediatePropagation();
  2907.             return;
  2908.          }
  2909.       }
  2910.       
  2911.       public function get initialized() : Boolean
  2912.       {
  2913.          return _initialized;
  2914.       }
  2915.       
  2916.       private function callLaterDispatcher2(param1:Event) : void
  2917.       {
  2918.          var _loc2_:ISystemManager = null;
  2919.          var _loc3_:Array = null;
  2920.          var _loc4_:int = 0;
  2921.          var _loc5_:int = 0;
  2922.          var _loc6_:MethodQueueElement = null;
  2923.          if(UIComponentGlobals.callLaterSuspendCount > 0)
  2924.          {
  2925.             return;
  2926.          }
  2927.          _loc2_ = systemManager;
  2928.          if(_loc2_ && _loc2_.stage && listeningForRender)
  2929.          {
  2930.             _loc2_.stage.removeEventListener(Event.RENDER,callLaterDispatcher);
  2931.             _loc2_.stage.removeEventListener(Event.ENTER_FRAME,callLaterDispatcher);
  2932.             listeningForRender = false;
  2933.          }
  2934.          _loc3_ = methodQueue;
  2935.          methodQueue = [];
  2936.          _loc4_ = _loc3_.length;
  2937.          _loc5_ = 0;
  2938.          while(_loc5_ < _loc4_)
  2939.          {
  2940.             (_loc6_ = MethodQueueElement(_loc3_[_loc5_])).method.apply(null,_loc6_.args);
  2941.             _loc5_++;
  2942.          }
  2943.       }
  2944.       
  2945.       public function measureHTMLText(param1:String) : TextLineMetrics
  2946.       {
  2947.          return determineTextFormatFromStyles().measureHTMLText(param1);
  2948.       }
  2949.       
  2950.       public function set descriptor(param1:UIComponentDescriptor) : void
  2951.       {
  2952.          _descriptor = param1;
  2953.       }
  2954.       
  2955.       private function getState(param1:String) : State
  2956.       {
  2957.          var _loc2_:int = 0;
  2958.          if(!states || isBaseState(param1))
  2959.          {
  2960.             return null;
  2961.          }
  2962.          _loc2_ = 0;
  2963.          while(_loc2_ < states.length)
  2964.          {
  2965.             if(states[_loc2_].name == param1)
  2966.             {
  2967.                return states[_loc2_];
  2968.             }
  2969.             _loc2_++;
  2970.          }
  2971.          if(resourceStateUndefined == null)
  2972.          {
  2973.             loadResources();
  2974.          }
  2975.          throw new ArgumentError(StringUtil.substitute(resourceStateUndefined,param1));
  2976.       }
  2977.       
  2978.       mx_internal function get documentDescriptor() : UIComponentDescriptor
  2979.       {
  2980.          return mx_internal::_documentDescriptor;
  2981.       }
  2982.       
  2983.       public function set includeInLayout(param1:Boolean) : void
  2984.       {
  2985.          var _loc2_:IInvalidating = null;
  2986.          if(_includeInLayout != param1)
  2987.          {
  2988.             _includeInLayout = param1;
  2989.             _loc2_ = parent as IInvalidating;
  2990.             if(_loc2_)
  2991.             {
  2992.                _loc2_.invalidateSize();
  2993.                _loc2_.invalidateDisplayList();
  2994.             }
  2995.             dispatchEvent(new Event("includeInLayoutChanged"));
  2996.          }
  2997.       }
  2998.       
  2999.       public function getClassStyleDeclarations() : Array
  3000.       {
  3001.          var myApplicationDomain:ApplicationDomain = null;
  3002.          var factory:IFlexModuleFactory = null;
  3003.          var className:String = null;
  3004.          var cache:Array = null;
  3005.          var decls:Array = null;
  3006.          var classNames:Array = null;
  3007.          var caches:Array = null;
  3008.          var declcache:Array = null;
  3009.          var myRoot:DisplayObject = null;
  3010.          var s:CSSStyleDeclaration = null;
  3011.          factory = ModuleManager.getAssociatedFactory(this);
  3012.          if(factory != null)
  3013.          {
  3014.             myApplicationDomain = ApplicationDomain(factory.info()["currentDomain"]);
  3015.          }
  3016.          else
  3017.          {
  3018.             myRoot = SystemManager.getSWFRoot(this);
  3019.             if(!myRoot)
  3020.             {
  3021.                return [];
  3022.             }
  3023.             myApplicationDomain = myRoot.loaderInfo.applicationDomain;
  3024.          }
  3025.          className = getQualifiedClassName(this);
  3026.          className = className.replace("::",".");
  3027.          cache = StyleManager.typeSelectorCache[className];
  3028.          if(cache)
  3029.          {
  3030.             return cache;
  3031.          }
  3032.          decls = [];
  3033.          classNames = [];
  3034.          caches = [];
  3035.          declcache = [];
  3036.          while(className != null && className != "mx.core.UIComponent" && className != "mx.core.UITextField")
  3037.          {
  3038.             cache = StyleManager.typeSelectorCache[className];
  3039.             if(cache)
  3040.             {
  3041.                decls = decls.concat(cache);
  3042.                break;
  3043.             }
  3044.             s = StyleManager.getStyleDeclaration(className);
  3045.             if(s)
  3046.             {
  3047.                decls.unshift(s);
  3048.                classNames.push(className);
  3049.                caches.push(classNames);
  3050.                declcache.push(decls);
  3051.                decls = [];
  3052.                classNames = [];
  3053.             }
  3054.             else
  3055.             {
  3056.                classNames.push(className);
  3057.             }
  3058.             try
  3059.             {
  3060.                className = getQualifiedSuperclassName(myApplicationDomain.getDefinition(className));
  3061.                className = className.replace("::",".");
  3062.             }
  3063.             catch(e:ReferenceError)
  3064.             {
  3065.                className = null;
  3066.             }
  3067.          }
  3068.          caches.push(classNames);
  3069.          declcache.push(decls);
  3070.          decls = [];
  3071.          while(caches.length)
  3072.          {
  3073.             classNames = caches.pop();
  3074.             decls = decls.concat(declcache.pop());
  3075.             while(classNames.length)
  3076.             {
  3077.                StyleManager.typeSelectorCache[classNames.pop()] = decls;
  3078.             }
  3079.          }
  3080.          return decls;
  3081.       }
  3082.       
  3083.       public function validateProperties() : void
  3084.       {
  3085.          if(mx_internal::invalidatePropertiesFlag)
  3086.          {
  3087.             commitProperties();
  3088.             invalidatePropertiesFlag = false;
  3089.          }
  3090.       }
  3091.       
  3092.       public function set measuredMinWidth(param1:Number) : void
  3093.       {
  3094.          _measuredMinWidth = param1;
  3095.       }
  3096.       
  3097.       override public function removeChild(param1:DisplayObject) : DisplayObject
  3098.       {
  3099.          removingChild(param1);
  3100.          $removeChild(param1);
  3101.          childRemoved(param1);
  3102.          return param1;
  3103.       }
  3104.       
  3105.       private function initializeState(param1:String) : void
  3106.       {
  3107.          var _loc2_:State = null;
  3108.          _loc2_ = getState(param1);
  3109.          while(_loc2_)
  3110.          {
  3111.             _loc2_.initialize();
  3112.             _loc2_ = getState(_loc2_.basedOn);
  3113.          }
  3114.       }
  3115.       
  3116.       private function focusObj_moveHandler(param1:MoveEvent) : void
  3117.       {
  3118.          adjustFocusRect();
  3119.       }
  3120.       
  3121.       public function get styleDeclaration() : CSSStyleDeclaration
  3122.       {
  3123.          return _styleDeclaration;
  3124.       }
  3125.       
  3126.       override public function get doubleClickEnabled() : Boolean
  3127.       {
  3128.          return super.doubleClickEnabled;
  3129.       }
  3130.       
  3131.       mx_internal function initProtoChain() : void
  3132.       {
  3133.          var _loc1_:CSSStyleDeclaration = null;
  3134.          var _loc2_:Object = null;
  3135.          var _loc3_:IStyleClient = null;
  3136.          var _loc4_:Array = null;
  3137.          var _loc5_:int = 0;
  3138.          var _loc6_:int = 0;
  3139.          var _loc7_:Object = null;
  3140.          var _loc8_:CSSStyleDeclaration = null;
  3141.          if(styleName)
  3142.          {
  3143.             if(styleName is CSSStyleDeclaration)
  3144.             {
  3145.                _loc1_ = CSSStyleDeclaration(styleName);
  3146.             }
  3147.             else
  3148.             {
  3149.                if(styleName is IFlexDisplayObject)
  3150.                {
  3151.                   StyleProtoChain.initProtoChainForUIComponentStyleName(this);
  3152.                   return;
  3153.                }
  3154.                if(styleName is String)
  3155.                {
  3156.                   _loc1_ = StyleManager.getStyleDeclaration("." + styleName);
  3157.                }
  3158.             }
  3159.          }
  3160.          _loc2_ = StyleManager.stylesRoot;
  3161.          if(_loc2_ && _loc2_.effects)
  3162.          {
  3163.             registerEffects(_loc2_.effects);
  3164.          }
  3165.          _loc3_ = parent as IStyleClient;
  3166.          if(_loc3_)
  3167.          {
  3168.             if((_loc7_ = _loc3_.inheritingStyles) == UIComponent.STYLE_UNINITIALIZED)
  3169.             {
  3170.                _loc7_ = _loc2_;
  3171.             }
  3172.          }
  3173.          else if(isPopUp)
  3174.          {
  3175.             _loc7_ = Application.application.inheritingStyles;
  3176.          }
  3177.          else
  3178.          {
  3179.             _loc7_ = StyleManager.stylesRoot;
  3180.          }
  3181.          _loc5_ = (_loc4_ = getClassStyleDeclarations()).length;
  3182.          _loc6_ = 0;
  3183.          while(_loc6_ < _loc5_)
  3184.          {
  3185.             _loc7_ = (_loc8_ = _loc4_[_loc6_]).addStyleToProtoChain(_loc7_,this);
  3186.             _loc2_ = _loc8_.addStyleToProtoChain(_loc2_,this);
  3187.             if(_loc8_.effects)
  3188.             {
  3189.                registerEffects(_loc8_.effects);
  3190.             }
  3191.             _loc6_++;
  3192.          }
  3193.          if(_loc1_)
  3194.          {
  3195.             _loc7_ = _loc1_.addStyleToProtoChain(_loc7_,this);
  3196.             _loc2_ = _loc1_.addStyleToProtoChain(_loc2_,this);
  3197.             if(_loc1_.effects)
  3198.             {
  3199.                registerEffects(_loc1_.effects);
  3200.             }
  3201.          }
  3202.          inheritingStyles = !!_styleDeclaration ? _styleDeclaration.addStyleToProtoChain(_loc7_,this) : _loc7_;
  3203.          nonInheritingStyles = !!_styleDeclaration ? _styleDeclaration.addStyleToProtoChain(_loc2_,this) : _loc2_;
  3204.       }
  3205.       
  3206.       public function get repeaterIndices() : Array
  3207.       {
  3208.          return !!_repeaterIndices ? _repeaterIndices.slice() : [];
  3209.       }
  3210.       
  3211.       private function creationCompleteHandler(param1:FlexEvent) : void
  3212.       {
  3213.          if(_currentStateChanged)
  3214.          {
  3215.             _currentStateChanged = false;
  3216.             commitCurrentState();
  3217.             validateNow();
  3218.          }
  3219.          removeEventListener(FlexEvent.CREATION_COMPLETE,creationCompleteHandler);
  3220.       }
  3221.       
  3222.       override public function setChildIndex(param1:DisplayObject, param2:int) : void
  3223.       {
  3224.          if(mx_internal::overlayReferenceCount && param1 != mx_internal::overlay)
  3225.          {
  3226.             param2 = Math.min(param2,Math.max(0,super.numChildren - 2));
  3227.          }
  3228.          super.setChildIndex(param1,param2);
  3229.       }
  3230.       
  3231.       public function set measuredHeight(param1:Number) : void
  3232.       {
  3233.          _measuredHeight = param1;
  3234.       }
  3235.       
  3236.       protected function createChildren() : void
  3237.       {
  3238.       }
  3239.       
  3240.       public function regenerateStyleCache(param1:Boolean) : void
  3241.       {
  3242.          var _loc2_:IChildList = null;
  3243.          var _loc3_:int = 0;
  3244.          var _loc4_:int = 0;
  3245.          var _loc5_:DisplayObject = null;
  3246.          initProtoChain();
  3247.          _loc2_ = this is IRawChildrenContainer ? IRawChildrenContainer(this).rawChildren : IChildList(this);
  3248.          _loc3_ = _loc2_.numChildren;
  3249.          _loc4_ = 0;
  3250.          while(_loc4_ < _loc3_)
  3251.          {
  3252.             if((_loc5_ = _loc2_.getChildAt(_loc4_)) is IStyleClient)
  3253.             {
  3254.                if(IStyleClient(_loc5_).inheritingStyles != UIComponent.STYLE_UNINITIALIZED)
  3255.                {
  3256.                   IStyleClient(_loc5_).regenerateStyleCache(param1);
  3257.                }
  3258.             }
  3259.             else if(_loc5_ is UITextField)
  3260.             {
  3261.                if(UITextField(_loc5_).inheritingStyles)
  3262.                {
  3263.                   StyleProtoChain.initTextField(UITextField(_loc5_));
  3264.                }
  3265.             }
  3266.             _loc4_++;
  3267.          }
  3268.       }
  3269.       
  3270.       public function get updateCompletePendingFlag() : Boolean
  3271.       {
  3272.          return _updateCompletePendingFlag;
  3273.       }
  3274.       
  3275.       protected function focusOutHandler(param1:FocusEvent) : void
  3276.       {
  3277.          if(isOurFocus(DisplayObject(param1.target)))
  3278.          {
  3279.             drawFocus(false);
  3280.          }
  3281.       }
  3282.       
  3283.       public function contentToLocal(param1:Point) : Point
  3284.       {
  3285.          return param1;
  3286.       }
  3287.       
  3288.       public function getFocus() : InteractiveObject
  3289.       {
  3290.          var _loc1_:ISystemManager = null;
  3291.          _loc1_ = systemManager;
  3292.          if(!_loc1_)
  3293.          {
  3294.             return null;
  3295.          }
  3296.          if(UIComponentGlobals.nextFocusObject)
  3297.          {
  3298.             return UIComponentGlobals.nextFocusObject;
  3299.          }
  3300.          return _loc1_.stage.focus;
  3301.       }
  3302.       
  3303.       public function endEffectsStarted() : void
  3304.       {
  3305.          var _loc1_:int = 0;
  3306.          var _loc2_:int = 0;
  3307.          _loc1_ = mx_internal::_effectsStarted.length;
  3308.          _loc2_ = 0;
  3309.          while(_loc2_ < _loc1_)
  3310.          {
  3311.             mx_internal::_effectsStarted[_loc2_].end();
  3312.             _loc2_++;
  3313.          }
  3314.       }
  3315.       
  3316.       protected function get unscaledHeight() : Number
  3317.       {
  3318.          return height / Math.abs(scaleY);
  3319.       }
  3320.       
  3321.       [Bindable("enabledChanged")]
  3322.       public function get enabled() : Boolean
  3323.       {
  3324.          return _enabled;
  3325.       }
  3326.       
  3327.       override public function set cacheAsBitmap(param1:Boolean) : void
  3328.       {
  3329.          super.cacheAsBitmap = param1;
  3330.          cacheAsBitmapCount = !!param1 ? 1 : 0;
  3331.       }
  3332.       
  3333.       public function get focusEnabled() : Boolean
  3334.       {
  3335.          return _focusEnabled;
  3336.       }
  3337.       
  3338.       mx_internal function removeOverlay() : void
  3339.       {
  3340.          if(mx_internal::overlayReferenceCount > 0 && --overlayReferenceCount == 0 && mx_internal::overlay)
  3341.          {
  3342.             removeEventListener("resize",overlay_resizeHandler);
  3343.             if(super.getChildByName("overlay"))
  3344.             {
  3345.                $removeChild(mx_internal::overlay);
  3346.             }
  3347.             overlay = null;
  3348.          }
  3349.       }
  3350.       
  3351.       public function set cacheHeuristic(param1:Boolean) : void
  3352.       {
  3353.          if(_cachePolicy == UIComponentCachePolicy.AUTO)
  3354.          {
  3355.             if(param1)
  3356.             {
  3357.                ++cacheAsBitmapCount;
  3358.             }
  3359.             else if(cacheAsBitmapCount != 0)
  3360.             {
  3361.                --cacheAsBitmapCount;
  3362.             }
  3363.             super.cacheAsBitmap = cacheAsBitmapCount != 0;
  3364.          }
  3365.       }
  3366.       
  3367.       public function get cachePolicy() : String
  3368.       {
  3369.          return _cachePolicy;
  3370.       }
  3371.       
  3372.       public function set maxHeight(param1:Number) : void
  3373.       {
  3374.          if(explicitMaxHeight == param1)
  3375.          {
  3376.             return;
  3377.          }
  3378.          explicitMaxHeight = param1;
  3379.       }
  3380.       
  3381.       public function set focusManager(param1:IFocusManager) : void
  3382.       {
  3383.          _focusManager = param1;
  3384.       }
  3385.       
  3386.       public function clearStyle(param1:String) : void
  3387.       {
  3388.          setStyle(param1,undefined);
  3389.       }
  3390.       
  3391.       public function get descriptor() : UIComponentDescriptor
  3392.       {
  3393.          return mx_internal::_descriptor;
  3394.       }
  3395.       
  3396.       public function set nonInheritingStyles(param1:Object) : void
  3397.       {
  3398.          _nonInheritingStyles = param1;
  3399.       }
  3400.       
  3401.       public function set automationDelegate(param1:Object) : void
  3402.       {
  3403.          _automationDelegate = param1 as IAutomationObject;
  3404.       }
  3405.       
  3406.       public function get measuredMinWidth() : Number
  3407.       {
  3408.          return _measuredMinWidth;
  3409.       }
  3410.       
  3411.       public function createReferenceOnParentDocument(param1:IFlexDisplayObject) : void
  3412.       {
  3413.          var _loc2_:Array = null;
  3414.          var _loc3_:Object = null;
  3415.          var _loc4_:int = 0;
  3416.          var _loc5_:int = 0;
  3417.          var _loc6_:PropertyChangeEvent = null;
  3418.          var _loc7_:Object = null;
  3419.          if(id && id != "")
  3420.          {
  3421.             _loc2_ = _instanceIndices;
  3422.             if(!_loc2_)
  3423.             {
  3424.                param1[id] = this;
  3425.             }
  3426.             else
  3427.             {
  3428.                _loc3_ = param1[id];
  3429.                if(!(_loc3_ is Array))
  3430.                {
  3431.                   _loc3_ = param1[id] = [];
  3432.                }
  3433.                _loc4_ = _loc2_.length;
  3434.                _loc5_ = 0;
  3435.                while(_loc5_ < _loc4_ - 1)
  3436.                {
  3437.                   if(!((_loc7_ = _loc3_[_loc2_[_loc5_]]) is Array))
  3438.                   {
  3439.                      _loc7_ = _loc3_[_loc2_[_loc5_]] = [];
  3440.                   }
  3441.                   _loc3_ = _loc7_;
  3442.                   _loc5_++;
  3443.                }
  3444.                _loc3_[_loc2_[_loc4_ - 1]] = this;
  3445.                _loc6_ = PropertyChangeEvent.createUpdateEvent(param1,id,param1[id],param1[id]);
  3446.                param1.dispatchEvent(_loc6_);
  3447.             }
  3448.          }
  3449.       }
  3450.       
  3451.       public function set isPopUp(param1:Boolean) : void
  3452.       {
  3453.          _isPopUp = param1;
  3454.       }
  3455.       
  3456.       override public function set width(param1:Number) : void
  3457.       {
  3458.          var _loc2_:IInvalidating = null;
  3459.          if(explicitWidth != param1)
  3460.          {
  3461.             explicitWidth = param1;
  3462.             invalidateSize();
  3463.          }
  3464.          if(mx_internal::_width != param1)
  3465.          {
  3466.             invalidateProperties();
  3467.             invalidateDisplayList();
  3468.             _loc2_ = parent as IInvalidating;
  3469.             if(_loc2_ && includeInLayout)
  3470.             {
  3471.                _loc2_.invalidateSize();
  3472.                _loc2_.invalidateDisplayList();
  3473.             }
  3474.             _width = param1;
  3475.             dispatchEvent(new Event("widthChanged"));
  3476.          }
  3477.       }
  3478.       
  3479.       public function get measuredHeight() : Number
  3480.       {
  3481.          return _measuredHeight;
  3482.       }
  3483.       
  3484.       public function get repeater() : IRepeater
  3485.       {
  3486.          return !!_repeaters ? _repeaters[_repeaters.length - 1] : null;
  3487.       }
  3488.       
  3489.       public function initialize() : void
  3490.       {
  3491.          if(initialized)
  3492.          {
  3493.             return;
  3494.          }
  3495.          dispatchEvent(new FlexEvent(FlexEvent.PREINITIALIZE));
  3496.          createChildren();
  3497.          childrenCreated();
  3498.          initializeAccessibility();
  3499.          initializationComplete();
  3500.       }
  3501.       
  3502.       public function set percentHeight(param1:Number) : void
  3503.       {
  3504.          var _loc2_:IInvalidating = null;
  3505.          if(_percentHeight == param1)
  3506.          {
  3507.             return;
  3508.          }
  3509.          if(!isNaN(param1))
  3510.          {
  3511.             _explicitHeight = NaN;
  3512.          }
  3513.          _percentHeight = param1;
  3514.          _loc2_ = parent as IInvalidating;
  3515.          if(_loc2_)
  3516.          {
  3517.             _loc2_.invalidateSize();
  3518.             _loc2_.invalidateDisplayList();
  3519.          }
  3520.       }
  3521.       
  3522.       mx_internal final function set $visible(param1:Boolean) : void
  3523.       {
  3524.          super.visible = param1;
  3525.       }
  3526.       
  3527.       protected function initializeAccessibility() : void
  3528.       {
  3529.          if(UIComponent.createAccessibilityImplementation != null)
  3530.          {
  3531.             UIComponent.createAccessibilityImplementation(this);
  3532.          }
  3533.       }
  3534.       
  3535.       private function findCommonBaseState(param1:String, param2:String) : String
  3536.       {
  3537.          var _loc3_:State = null;
  3538.          var _loc4_:State = null;
  3539.          var _loc5_:Array = null;
  3540.          var _loc6_:Array = null;
  3541.          var _loc7_:String = null;
  3542.          _loc3_ = getState(param1);
  3543.          _loc4_ = getState(param2);
  3544.          if(!_loc3_ || !_loc4_)
  3545.          {
  3546.             return "";
  3547.          }
  3548.          if(isBaseState(_loc3_.basedOn) || isBaseState(_loc4_.basedOn))
  3549.          {
  3550.             return "";
  3551.          }
  3552.          _loc5_ = getBaseStates(_loc3_);
  3553.          _loc6_ = getBaseStates(_loc4_);
  3554.          _loc7_ = "";
  3555.          while(_loc5_[_loc5_.length] == _loc6_[_loc6_.length])
  3556.          {
  3557.             _loc7_ = _loc5_.pop();
  3558.             _loc6_.pop();
  3559.             if(!_loc5_.length || !_loc6_.length)
  3560.             {
  3561.                break;
  3562.             }
  3563.          }
  3564.          return _loc7_;
  3565.       }
  3566.       
  3567.       mx_internal function childRemoved(param1:DisplayObject) : void
  3568.       {
  3569.          if(param1 is IUIComponent)
  3570.          {
  3571.             if(IUIComponent(param1).document != param1)
  3572.             {
  3573.                IUIComponent(param1).document = null;
  3574.             }
  3575.             IUIComponent(param1).parentChanged(null);
  3576.          }
  3577.       }
  3578.       
  3579.       mx_internal final function $removeChildAt(param1:int) : DisplayObject
  3580.       {
  3581.          return super.removeChildAt(param1);
  3582.       }
  3583.       
  3584.       [Bindable("explicitMaxHeightChanged")]
  3585.       public function get maxHeight() : Number
  3586.       {
  3587.          return !isNaN(explicitMaxHeight) ? Number(explicitMaxHeight) : Number(DEFAULT_MAX_HEIGHT);
  3588.       }
  3589.       
  3590.       public function get focusManager() : IFocusManager
  3591.       {
  3592.          var _loc1_:DisplayObject = null;
  3593.          if(_focusManager)
  3594.          {
  3595.             return _focusManager;
  3596.          }
  3597.          _loc1_ = parent;
  3598.          while(_loc1_)
  3599.          {
  3600.             if(_loc1_ is IFocusManagerContainer)
  3601.             {
  3602.                return IFocusManagerContainer(_loc1_).focusManager;
  3603.             }
  3604.             _loc1_ = _loc1_.parent;
  3605.          }
  3606.          return null;
  3607.       }
  3608.       
  3609.       public function set styleName(param1:Object) : void
  3610.       {
  3611.          if(_styleName === param1)
  3612.          {
  3613.             return;
  3614.          }
  3615.          _styleName = param1;
  3616.          if(inheritingStyles == UIComponent.STYLE_UNINITIALIZED)
  3617.          {
  3618.             return;
  3619.          }
  3620.          regenerateStyleCache(true);
  3621.          initThemeColor();
  3622.          styleChanged("styleName");
  3623.          notifyStyleChangeInChildren("styleName",true);
  3624.       }
  3625.       
  3626.       public function get automationDelegate() : Object
  3627.       {
  3628.          return _automationDelegate;
  3629.       }
  3630.       
  3631.       public function set explicitMaxHeight(param1:Number) : void
  3632.       {
  3633.          var _loc2_:IInvalidating = null;
  3634.          if(mx_internal::_explicitMaxHeight == param1)
  3635.          {
  3636.             return;
  3637.          }
  3638.          _explicitMaxHeight = param1;
  3639.          invalidateSize();
  3640.          _loc2_ = parent as IInvalidating;
  3641.          if(_loc2_)
  3642.          {
  3643.             _loc2_.invalidateSize();
  3644.             _loc2_.invalidateDisplayList();
  3645.          }
  3646.          dispatchEvent(new Event("explicitMaxHeightChanged"));
  3647.       }
  3648.       
  3649.       mx_internal function cancelAllCallLaters() : void
  3650.       {
  3651.          var _loc1_:ISystemManager = null;
  3652.          _loc1_ = systemManager;
  3653.          if(_loc1_ && _loc1_.stage)
  3654.          {
  3655.             if(listeningForRender)
  3656.             {
  3657.                _loc1_.stage.removeEventListener(Event.RENDER,callLaterDispatcher);
  3658.                _loc1_.stage.removeEventListener(Event.ENTER_FRAME,callLaterDispatcher);
  3659.                listeningForRender = false;
  3660.             }
  3661.          }
  3662.          methodQueue.splice(0);
  3663.       }
  3664.       
  3665.       private function updateCompleteHandler(param1:Event) : void
  3666.       {
  3667.          UIComponentGlobals.layoutManager.removeEventListener(FlexEvent.UPDATE_COMPLETE,updateCompleteHandler);
  3668.          processEffectFinished(_endingEffectInstances);
  3669.          _endingEffectInstances = [];
  3670.       }
  3671.       
  3672.       public function styleChanged(param1:String) : void
  3673.       {
  3674.          if(!param1 || param1 == "styleName" || StyleManager.isSizeInvalidatingStyle(param1))
  3675.          {
  3676.             invalidateSize();
  3677.          }
  3678.          if(!param1 || param1 == "styleName" || param1 == "themeColor")
  3679.          {
  3680.             initThemeColor();
  3681.          }
  3682.          invalidateDisplayList();
  3683.          if(parent is IInvalidating)
  3684.          {
  3685.             if(StyleManager.isParentSizeInvalidatingStyle(param1))
  3686.             {
  3687.                IInvalidating(parent).invalidateSize();
  3688.             }
  3689.             if(StyleManager.isParentDisplayListInvalidatingStyle(param1))
  3690.             {
  3691.                IInvalidating(parent).invalidateDisplayList();
  3692.             }
  3693.          }
  3694.       }
  3695.       
  3696.       mx_internal final function get $visible() : Boolean
  3697.       {
  3698.          return super.visible;
  3699.       }
  3700.       
  3701.       public function drawRoundRect(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null, param6:Object = null, param7:Object = null, param8:Object = null, param9:String = null, param10:Array = null, param11:Object = null) : void
  3702.       {
  3703.          var _loc12_:Graphics = null;
  3704.          var _loc13_:Number = NaN;
  3705.          var _loc14_:Array = null;
  3706.          var _loc15_:Matrix = null;
  3707.          var _loc16_:Object = null;
  3708.          _loc12_ = graphics;
  3709.          if(!param3 || !param4)
  3710.          {
  3711.             return;
  3712.          }
  3713.          if(param6 !== null)
  3714.          {
  3715.             if(param6 is Array)
  3716.             {
  3717.                if(param7 is Array)
  3718.                {
  3719.                   _loc14_ = param7 as Array;
  3720.                }
  3721.                else
  3722.                {
  3723.                   _loc14_ = [param7,param7];
  3724.                }
  3725.                if(!param10)
  3726.                {
  3727.                   param10 = [0,255];
  3728.                }
  3729.                _loc15_ = null;
  3730.                if(param8)
  3731.                {
  3732.                   if(param8 is Matrix)
  3733.                   {
  3734.                      _loc15_ = Matrix(param8);
  3735.                   }
  3736.                   else
  3737.                   {
  3738.                      _loc15_ = new Matrix();
  3739.                      if(param8 is Number)
  3740.                      {
  3741.                         _loc15_.createGradientBox(param3,param4,Number(param8) * Math.PI / 180,param1,param2);
  3742.                      }
  3743.                      else
  3744.                      {
  3745.                         _loc15_.createGradientBox(param8.w,param8.h,param8.r,param8.x,param8.y);
  3746.                      }
  3747.                   }
  3748.                }
  3749.                if(param9 == GradientType.RADIAL)
  3750.                {
  3751.                   _loc12_.beginGradientFill(GradientType.RADIAL,param6 as Array,_loc14_,param10,_loc15_);
  3752.                }
  3753.                else
  3754.                {
  3755.                   _loc12_.beginGradientFill(GradientType.LINEAR,param6 as Array,_loc14_,param10,_loc15_);
  3756.                }
  3757.             }
  3758.             else
  3759.             {
  3760.                _loc12_.beginFill(Number(param6),Number(param7));
  3761.             }
  3762.          }
  3763.          if(!param5)
  3764.          {
  3765.             _loc12_.drawRect(param1,param2,param3,param4);
  3766.          }
  3767.          else if(param5 is Number)
  3768.          {
  3769.             _loc13_ = Number(param5) * 2;
  3770.             _loc12_.drawRoundRect(param1,param2,param3,param4,_loc13_,_loc13_);
  3771.          }
  3772.          else
  3773.          {
  3774.             GraphicsUtil.drawRoundRectComplex(_loc12_,param1,param2,param3,param4,param5.tl,param5.tr,param5.bl,param5.br);
  3775.          }
  3776.          if(param11)
  3777.          {
  3778.             if((_loc16_ = param11.r) is Number)
  3779.             {
  3780.                _loc13_ = Number(_loc16_) * 2;
  3781.                _loc12_.drawRoundRect(param11.x,param11.y,param11.w,param11.h,_loc13_,_loc13_);
  3782.             }
  3783.             else
  3784.             {
  3785.                GraphicsUtil.drawRoundRectComplex(_loc12_,param11.x,param11.y,param11.w,param11.h,_loc16_.tl,_loc16_.tr,_loc16_.bl,_loc16_.br);
  3786.             }
  3787.          }
  3788.          if(param6 !== null)
  3789.          {
  3790.             _loc12_.endFill();
  3791.          }
  3792.       }
  3793.       
  3794.       public function move(param1:Number, param2:Number) : void
  3795.       {
  3796.          var _loc3_:Boolean = false;
  3797.          _loc3_ = false;
  3798.          if(param1 != super.x)
  3799.          {
  3800.             super.x = param1;
  3801.             dispatchEvent(new Event("xChanged"));
  3802.             _loc3_ = true;
  3803.          }
  3804.          if(param2 != super.y)
  3805.          {
  3806.             super.y = param2;
  3807.             dispatchEvent(new Event("yChanged"));
  3808.             _loc3_ = true;
  3809.          }
  3810.          if(_loc3_)
  3811.          {
  3812.             dispatchMoveEvent();
  3813.          }
  3814.       }
  3815.       
  3816.       public function set toolTip(param1:String) : void
  3817.       {
  3818.          ToolTipManager.registerToolTip(this,param1);
  3819.          _toolTip = param1;
  3820.          dispatchEvent(new Event("toolTipChanged"));
  3821.       }
  3822.       
  3823.       public function set repeaters(param1:Array) : void
  3824.       {
  3825.          _repeaters = param1;
  3826.       }
  3827.       
  3828.       [Bindable("explicitMaxHeightChanged")]
  3829.       public function get explicitMaxHeight() : Number
  3830.       {
  3831.          return mx_internal::_explicitMaxHeight;
  3832.       }
  3833.       
  3834.       public function get styleName() : Object
  3835.       {
  3836.          return _styleName;
  3837.       }
  3838.       
  3839.       private function loadResources() : void
  3840.       {
  3841.          resourceStateUndefined = packageResources.getString("stateUndefined");
  3842.       }
  3843.       
  3844.       public function set explicitWidth(param1:Number) : void
  3845.       {
  3846.          var _loc2_:IInvalidating = null;
  3847.          if(_explicitWidth == param1)
  3848.          {
  3849.             return;
  3850.          }
  3851.          if(!isNaN(param1))
  3852.          {
  3853.             _percentWidth = NaN;
  3854.          }
  3855.          _explicitWidth = param1;
  3856.          invalidateSize();
  3857.          _loc2_ = parent as IInvalidating;
  3858.          if(_loc2_ && includeInLayout)
  3859.          {
  3860.             _loc2_.invalidateSize();
  3861.             _loc2_.invalidateDisplayList();
  3862.          }
  3863.          dispatchEvent(new Event("explicitWidthChanged"));
  3864.       }
  3865.       
  3866.       [Bindable("initialize")]
  3867.       public function get parentDocument() : Object
  3868.       {
  3869.          var _loc1_:IUIComponent = null;
  3870.          var _loc2_:ISystemManager = null;
  3871.          if(document == this)
  3872.          {
  3873.             _loc1_ = parent as IUIComponent;
  3874.             if(_loc1_)
  3875.             {
  3876.                return _loc1_.document;
  3877.             }
  3878.             _loc2_ = parent as ISystemManager;
  3879.             if(_loc2_)
  3880.             {
  3881.                return _loc2_.document;
  3882.             }
  3883.             return null;
  3884.          }
  3885.          return document;
  3886.       }
  3887.       
  3888.       public function set measuredMinHeight(param1:Number) : void
  3889.       {
  3890.          _measuredMinHeight = param1;
  3891.       }
  3892.       
  3893.       protected function childrenCreated() : void
  3894.       {
  3895.          invalidateProperties();
  3896.          invalidateSize();
  3897.          invalidateDisplayList();
  3898.       }
  3899.       
  3900.       private function setBorderColorForErrorString() : void
  3901.       {
  3902.          var _loc1_:IFocusManager = null;
  3903.          var _loc2_:DisplayObject = null;
  3904.          if(!_errorString || _errorString.length == 0)
  3905.          {
  3906.             if(!isNaN(mx_internal::origBorderColor))
  3907.             {
  3908.                setStyle("borderColor",mx_internal::origBorderColor);
  3909.                saveBorderColor = true;
  3910.             }
  3911.          }
  3912.          else
  3913.          {
  3914.             if(mx_internal::saveBorderColor)
  3915.             {
  3916.                saveBorderColor = false;
  3917.                origBorderColor = getStyle("borderColor");
  3918.             }
  3919.             setStyle("borderColor",getStyle("errorColor"));
  3920.          }
  3921.          styleChanged("themeColor");
  3922.          _loc1_ = focusManager;
  3923.          _loc2_ = !!_loc1_ ? DisplayObject(_loc1_.getFocus()) : null;
  3924.          if(_loc1_ && _loc1_.showFocusIndicator && _loc2_ == this)
  3925.          {
  3926.             drawFocus(true);
  3927.          }
  3928.       }
  3929.       
  3930.       public function measureText(param1:String) : TextLineMetrics
  3931.       {
  3932.          return determineTextFormatFromStyles().measureText(param1);
  3933.       }
  3934.       
  3935.       [Bindable("explicitWidthChanged")]
  3936.       public function get explicitWidth() : Number
  3937.       {
  3938.          return _explicitWidth;
  3939.       }
  3940.       
  3941.       public function invalidateSize() : void
  3942.       {
  3943.          if(!mx_internal::invalidateSizeFlag)
  3944.          {
  3945.             invalidateSizeFlag = true;
  3946.             if(parent && UIComponentGlobals.layoutManager)
  3947.             {
  3948.                UIComponentGlobals.layoutManager.invalidateSize(this);
  3949.             }
  3950.          }
  3951.       }
  3952.       
  3953.       override public function set filters(param1:Array) : void
  3954.       {
  3955.          var _loc2_:int = 0;
  3956.          var _loc3_:int = 0;
  3957.          var _loc4_:IEventDispatcher = null;
  3958.          if(_filters)
  3959.          {
  3960.             _loc2_ = _filters.length;
  3961.             _loc3_ = 0;
  3962.             while(_loc3_ < _loc2_)
  3963.             {
  3964.                if(_loc4_ = _filters[_loc3_] as IEventDispatcher)
  3965.                {
  3966.                   _loc4_.removeEventListener("change",filterChangeHandler);
  3967.                }
  3968.                _loc3_++;
  3969.             }
  3970.          }
  3971.          _filters = param1;
  3972.          if(_filters)
  3973.          {
  3974.             _loc2_ = _filters.length;
  3975.             _loc3_ = 0;
  3976.             while(_loc3_ < _loc2_)
  3977.             {
  3978.                if(_loc4_ = _filters[_loc3_] as IEventDispatcher)
  3979.                {
  3980.                   _loc4_.addEventListener("change",filterChangeHandler);
  3981.                }
  3982.                _loc3_++;
  3983.             }
  3984.          }
  3985.          super.filters = _filters;
  3986.       }
  3987.       
  3988.       protected function updateDisplayList(param1:Number, param2:Number) : void
  3989.       {
  3990.       }
  3991.       
  3992.       override public function get filters() : Array
  3993.       {
  3994.          return !!_filters ? _filters : super.filters;
  3995.       }
  3996.    }
  3997. }
  3998.  
  3999. class MethodQueueElement
  4000. {
  4001.     
  4002.    
  4003.    public var method:Function;
  4004.    
  4005.    public var args:Array;
  4006.    
  4007.    function MethodQueueElement(param1:Function, param2:Array = null)
  4008.    {
  4009.       super();
  4010.       this.method = param1;
  4011.       this.args = param2;
  4012.    }
  4013. }
  4014.