Updated Branches:
  refs/heads/develop 7c3d70818 -> cdcb49242

FLEX-33984: Moved the placement logic from the hostComponent to the skin. 
Removed some code no longer needed.


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/cdcb4924
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/cdcb4924
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/cdcb4924

Branch: refs/heads/develop
Commit: cdcb49242ae0d06645d3ebaf4f7e3c102b8f6506
Parents: 7c3d708
Author: Mark Kessler <kesslerconsult...@gmail.com>
Authored: Sun Dec 8 15:59:25 2013 -0500
Committer: Mark Kessler <kesslerconsult...@gmail.com>
Committed: Sun Dec 8 15:59:25 2013 -0500

----------------------------------------------------------------------
 .../spark/src/spark/components/CheckBox.as      | 188 -------------------
 .../src/spark/skins/spark/CheckBoxSkin.mxml     | 138 ++++++++++++++
 2 files changed, 138 insertions(+), 188 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/cdcb4924/frameworks/projects/spark/src/spark/components/CheckBox.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/CheckBox.as 
b/frameworks/projects/spark/src/spark/components/CheckBox.as
index 77dd23d..c72f6c8 100644
--- a/frameworks/projects/spark/src/spark/components/CheckBox.as
+++ b/frameworks/projects/spark/src/spark/components/CheckBox.as
@@ -24,9 +24,7 @@ import flash.events.Event;
 import flash.events.MouseEvent;
 
 import mx.core.mx_internal;
-import mx.core.UIComponent;
 
-import spark.components.supportClasses.LabelPlacement;
 import spark.components.supportClasses.ToggleButtonBase;
 
 use namespace mx_internal;
@@ -214,30 +212,6 @@ public class CheckBox extends ToggleButtonBase
 
     
//--------------------------------------------------------------------------
     //
-    //  Variables
-    //
-    
//--------------------------------------------------------------------------
-
-    //----------------------------------
-    //  checkDisplay
-    //----------------------------------
-
-    /**
-     *  The skin part that defines the CheckBox grouping.
-     *
-     *  @see spark.skins.spark.CheckBoxSkin#checkDisplay
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 11.8
-     *  @playerversion AIR 3.8
-     *  @productversion Flex 4.12
-     */
-    [SkinPart(required="false")]
-    public var checkDisplay:UIComponent;
-
-
-    
//--------------------------------------------------------------------------
-    //
     //  Properties
     //
     
//--------------------------------------------------------------------------
@@ -323,120 +297,6 @@ public class CheckBox extends ToggleButtonBase
 
     
//--------------------------------------------------------------------------
     //
-    //  Methods
-    //
-    
//--------------------------------------------------------------------------
-
-    /**
-     *  Sets the label placement in relation to the checkbox.
-     *  Requires the SkinParts <code>checkDisplay</code> and 
<code>labelDisplay</code>.  
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 11.8
-     *  @playerversion AIR 3.8
-     *  @productversion Flex 4.12
-     */
-    public function updateLabelPlacement():void
-    {
-        var labelDisplayAsUIComponent:UIComponent;
-
-
-        if (!checkDisplay || !labelDisplay)
-        {
-            return;
-        }
-
-        labelDisplayAsUIComponent = labelDisplay as UIComponent;
-
-
-        switch (String(getStyle("labelPlacement")).toLowerCase())
-        {
-            case LabelPlacement.BOTTOM:
-            {
-                //Adjust the labels position to the bottom.
-                labelDisplayAsUIComponent.horizontalCenter = 0;
-                labelDisplayAsUIComponent.verticalCenter = undefined;
-                labelDisplayAsUIComponent.top = checkDisplay.height + 
int(getStyle("gap"));
-                labelDisplayAsUIComponent.bottom = undefined;
-                labelDisplayAsUIComponent.left = undefined;
-                labelDisplayAsUIComponent.right = undefined;
-
-                //Adjust the checkboxes position to the top.
-                checkDisplay.horizontalCenter = 0;
-                checkDisplay.verticalCenter = undefined;
-                checkDisplay.top = 0;
-                checkDisplay.bottom = undefined;
-
-                break;
-            }
-
-            case LabelPlacement.LEFT:
-            {
-                //Adjust the labels position to left side.
-                labelDisplayAsUIComponent.horizontalCenter = undefined;
-                labelDisplayAsUIComponent.verticalCenter = 2;
-                labelDisplayAsUIComponent.top = undefined;
-                labelDisplayAsUIComponent.bottom = undefined;
-                labelDisplayAsUIComponent.left = undefined;
-                labelDisplayAsUIComponent.right = checkDisplay.width + 
int(getStyle("gap"));
-
-                //Adjust the checkboxes position to right side.
-                checkDisplay.horizontalCenter = undefined;
-                checkDisplay.verticalCenter = 0;
-                checkDisplay.left = undefined;
-                checkDisplay.right = 0;
-
-                break;
-            }
-
-            case LabelPlacement.RIGHT:
-            {
-                //Adjust the labels position to right side.
-                labelDisplayAsUIComponent.horizontalCenter = undefined;
-                labelDisplayAsUIComponent.verticalCenter = 2;
-                labelDisplayAsUIComponent.top = undefined;
-                labelDisplayAsUIComponent.bottom = undefined;
-                labelDisplayAsUIComponent.left = checkDisplay.width + 
int(getStyle("gap"));
-                labelDisplayAsUIComponent.right = undefined;
-
-                //Adjust the checkboxes position to left side.
-                checkDisplay.horizontalCenter = undefined;
-                checkDisplay.verticalCenter = 0;
-                checkDisplay.left = 0;
-                checkDisplay.right = undefined;
-
-                break;
-            }
-
-            case LabelPlacement.TOP:
-            {
-                //Adjust the labels position to the top.
-                labelDisplayAsUIComponent.horizontalCenter = 0;
-                labelDisplayAsUIComponent.verticalCenter = undefined;
-                labelDisplayAsUIComponent.top = undefined;
-                labelDisplayAsUIComponent.bottom = checkDisplay.height + 
int(getStyle("gap"));
-                labelDisplayAsUIComponent.left = undefined;
-                labelDisplayAsUIComponent.right = undefined;
-
-                //Adjust the checkboxes position to the bottom.
-                checkDisplay.horizontalCenter = 0;
-                checkDisplay.verticalCenter = undefined;
-                checkDisplay.top = undefined;
-                checkDisplay.bottom = 0;
-
-                break;
-            }
-
-            default:
-            {
-                break;
-            }
-        }
-    }
-
-
-    
//--------------------------------------------------------------------------
-    //
     //  Overridden methods
     //
     
//--------------------------------------------------------------------------
@@ -450,54 +310,6 @@ public class CheckBox extends ToggleButtonBase
             CheckBox.createAccessibilityImplementation(this);
     }
 
-
-    /**
-     *  @copy spark.components.supportClasses.SkinnableComponent#partAdded
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 11.8
-     *  @playerversion AIR 3.8
-     *  @productversion Flex 4.12
-    */
-    override protected function partAdded(partName:String, 
instance:Object):void
-    {
-        super.partAdded(partName, instance);
-
-        if (instance == checkDisplay)
-        {
-            updateLabelPlacement();
-
-            return;
-        }
-
-        if (instance == labelDisplay)
-        {
-            updateLabelPlacement();
-
-            return;
-        }
-    }
-
-
-    /**
-     *  @copy mx.core.UIComponent#styleChanged
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 11.8
-     *  @playerversion AIR 3.8
-     *  @productversion Flex 4.12
-     */
-    override public function styleChanged(styleProp:String):void
-    {
-        super.styleChanged(styleProp);
-
-        //Check if the style is null for mass style changes or if the 
labelPlacement/gap styles were changed.
-        if (styleProp == "labelPlacement" || styleProp == "gap" || styleProp 
=== null)
-        {
-            updateLabelPlacement();
-        }
-    }
-
 }
 
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/cdcb4924/frameworks/projects/spark/src/spark/skins/spark/CheckBoxSkin.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/skins/spark/CheckBoxSkin.mxml 
b/frameworks/projects/spark/src/spark/skins/spark/CheckBoxSkin.mxml
index aeec082..e6bf5b3 100644
--- a/frameworks/projects/spark/src/spark/skins/spark/CheckBoxSkin.mxml
+++ b/frameworks/projects/spark/src/spark/skins/spark/CheckBoxSkin.mxml
@@ -70,6 +70,9 @@
     
     <fx:Script>
         <![CDATA[
+            import spark.components.supportClasses.LabelPlacement;
+
+
             /** 
              * @private 
              */     
@@ -79,6 +82,141 @@
              * @private
              */
             override public function get focusSkinExclusions():Array { return 
focusExclusions;};
+
+
+            
//--------------------------------------------------------------------------
+            //
+            //  Overridden methods
+            //
+            
//--------------------------------------------------------------------------
+
+            /**
+             *  @copy mx.core.UIComponent#styleChanged
+             *
+             *  @langversion 3.0
+             *  @playerversion Flash 11.8
+             *  @playerversion AIR 3.8
+             *  @productversion Flex 4.12
+             */
+            override public function styleChanged(styleProp:String):void
+            {
+                super.styleChanged(styleProp);
+
+                //Check if the style is null for mass style changes or if the 
labelPlacement/gap styles were changed.
+                if (styleProp == "labelPlacement" || styleProp == "gap" || 
styleProp === null)
+                {
+                    updateLabelPlacement();
+                }
+            }
+
+            
+            
//--------------------------------------------------------------------------
+            //
+            //  Methods
+            //
+            
//--------------------------------------------------------------------------
+
+            /**
+             *  Sets the label placement in relation to the checkbox.
+             *  Requires the SkinParts <code>checkDisplay</code> and 
<code>labelDisplay</code>.  
+             *
+             *  @langversion 3.0
+             *  @playerversion Flash 11.8
+             *  @playerversion AIR 3.8
+             *  @productversion Flex 4.12
+             */
+            public function updateLabelPlacement():void
+            {
+                if (!checkDisplay || !labelDisplay)
+                {
+                    return;
+                }
+
+                switch (String(getStyle("labelPlacement")).toLowerCase())
+                {
+                    case LabelPlacement.BOTTOM:
+                    {
+                        //Adjust the labels position to the bottom.
+                        labelDisplay.horizontalCenter = 0;
+                        labelDisplay.verticalCenter = undefined;
+                        labelDisplay.top = checkDisplay.height + 
int(getStyle("gap"));
+                        labelDisplay.bottom = undefined;
+                        labelDisplay.left = undefined;
+                        labelDisplay.right = undefined;
+
+                        //Adjust the checkboxes position to the top.
+                        checkDisplay.horizontalCenter = 0;
+                        checkDisplay.verticalCenter = undefined;
+                        checkDisplay.top = 0;
+                        checkDisplay.bottom = undefined;
+
+                        break;
+                    }
+
+                    case LabelPlacement.LEFT:
+                    {
+                        //Adjust the labels position to left side.
+                        labelDisplay.horizontalCenter = undefined;
+                        labelDisplay.verticalCenter = 2;
+                        labelDisplay.top = undefined;
+                        labelDisplay.bottom = undefined;
+                        labelDisplay.left = undefined;
+                        labelDisplay.right = checkDisplay.width + 
int(getStyle("gap"));
+
+                        //Adjust the checkboxes position to right side.
+                        checkDisplay.horizontalCenter = undefined;
+                        checkDisplay.verticalCenter = 0;
+                        checkDisplay.left = undefined;
+                        checkDisplay.right = 0;
+
+                        break;
+                    }
+
+                    case LabelPlacement.RIGHT:
+                    {
+                        //Adjust the labels position to right side.
+                        labelDisplay.horizontalCenter = undefined;
+                        labelDisplay.verticalCenter = 2;
+                        labelDisplay.top = undefined;
+                        labelDisplay.bottom = undefined;
+                        labelDisplay.left = checkDisplay.width + 
int(getStyle("gap"));
+                        labelDisplay.right = undefined;
+
+                        //Adjust the checkboxes position to left side.
+                        checkDisplay.horizontalCenter = undefined;
+                        checkDisplay.verticalCenter = 0;
+                        checkDisplay.left = 0;
+                        checkDisplay.right = undefined;
+
+                        break;
+                    }
+
+                    case LabelPlacement.TOP:
+                    {
+                        //Adjust the labels position to the top.
+                        labelDisplay.horizontalCenter = 0;
+                        labelDisplay.verticalCenter = undefined;
+                        labelDisplay.top = undefined;
+                        labelDisplay.bottom = checkDisplay.height + 
int(getStyle("gap"));
+                        labelDisplay.left = undefined;
+                        labelDisplay.right = undefined;
+
+                        //Adjust the checkboxes position to the bottom.
+                        checkDisplay.horizontalCenter = 0;
+                        checkDisplay.verticalCenter = undefined;
+                        checkDisplay.top = undefined;
+                        checkDisplay.bottom = 0;
+
+                        break;
+                    }
+
+                    default:
+                    {
+                        break;
+                    }
+                }
+            }
+
         ]]>
     </fx:Script>
     

Reply via email to