     //
     //--------------------------------------------------------------------------
     
+    private function get preferredWidth():Number
+    {
+        if (!isNaN(_explicitWidth))
+            return _explicitWidth;
+        if (!isNaN(_viewWidth))
+            return _viewWidth;
+        return super.width;
+    }
+
+    private function get preferredHeight():Number
+    {
+        if (!isNaN(_explicitHeight))
+            return _explicitHeight;
+        if (!isNaN(_viewHeight))
+            return _viewHeight;
+        return super.height;
+    }
+        
     /**
      *  @inheritDoc 
      */

     */
    override public function set width(value:Number):void
    {
        if (super.width == value)
            return;
        
        super.width = value;
        invalidateParentSizeAndDisplayList();
    }
    

     */
    public function getMaxBoundsHeight(postLayoutTransform:Boolean = true):Number
    {
        return getPreferredBoundsHeight(postLayoutTransform);
    }

    /**
