     //  Class methods
     //
     //--------------------------------------------------------------------------
+    
+    /**
+     *  Commit alpha values for the skin when in a disabled state.
+     * 
+     *  @see mx.core.UIComponent#enabled
+     */
+    protected function commitDisabled():void
+    {
+        alpha = hostComponent.enabled ? 1 : 0.5;
+    }
     
     /**
      *  The current skin part that displays the icon.

    /**
     *  @private 
     */ 
    override protected function commitCurrentState():void
    {
        super.commitCurrentState();
        
        commitDisabled(currentState.indexOf("disabled") >= 0);
    }
    
    /**
     *  @private 
     */ 
    protected function commitDisabled(isDisabled:Boolean):void
    {
        alpha = isDisabled ? 0.5 : 1;
    }
    
    /**
     *  @private 
     */ 
    override protected function createChildren():void
    {                   
        labelDisplay = StyleableTextField(createInFontContext(StyleableTextField));
        labelDisplay.styleName = this;
        

            
            if (textWidth > 0)
            {
                // label width is constrained to left and right edges
                labelWidth = Math.max(viewWidth - layoutPaddingLeft - layoutPaddingRight, 0);
                
                // label height is constrained to available height after icon, padding and gap heights
                labelHeight = Math.max(viewHeight - iconHeight - layoutPaddingTop - layoutPaddingBottom - verticalGap, 0);
                labelHeight = Math.min(labelHeight, textHeight);
            }
            else
            {
