You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by pe...@apache.org on 2015/04/24 21:42:03 UTC

git commit: [flex-asjs] [refs/heads/develop] - Change to the way padding is handled. Introducing clientWidth and clientHeight. These values return the component's width (or height) plus their respective padding values. This keeps FlexJS ActionScript in l

Repository: flex-asjs
Updated Branches:
  refs/heads/develop 930e8bcd9 -> 9b7849d24


Change to the way padding is handled. Introducing clientWidth and clientHeight. These values return the component's width (or height) plus their respective padding values. This keeps FlexJS ActionScript in line with how HTML works. In other words, a component that has a "width" of 100 pixels and a padding of 10 pixels will have a clientWidth of 120 pixels.


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

Branch: refs/heads/develop
Commit: 9b7849d24527e840ff43b15dca6d9ea599171ad9
Parents: 930e8bc
Author: Peter Ent <pe...@apache.org>
Authored: Fri Apr 24 15:42:01 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Fri Apr 24 15:42:01 2015 -0400

----------------------------------------------------------------------
 .../Core/as/src/org/apache/flex/core/IUIBase.as | 22 +++++
 .../Core/as/src/org/apache/flex/core/UIBase.as  | 92 ++++++++++++++++++++
 .../as/src/org/apache/flex/core/UIButtonBase.as | 92 ++++++++++++++++++++
 .../org/apache/flex/html/beads/ContainerView.as | 39 ++++++++-
 .../flex/html/beads/SolidBackgroundBead.as      |  4 +-
 .../flex/html/beads/layouts/BasicLayout.as      |  4 +-
 .../flex/html/beads/layouts/HorizontalLayout.as |  8 +-
 .../flex/html/beads/layouts/VerticalLayout.as   |  8 +-
 .../supportClasses/TextFieldItemRenderer.as     | 92 ++++++++++++++++++++
 9 files changed, 345 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9b7849d2/frameworks/projects/Core/as/src/org/apache/flex/core/IUIBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/IUIBase.as b/frameworks/projects/Core/as/src/org/apache/flex/core/IUIBase.as
index b033edc..a34c3c2 100644
--- a/frameworks/projects/Core/as/src/org/apache/flex/core/IUIBase.as
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/IUIBase.as
@@ -107,6 +107,28 @@ package org.apache.flex.core
 		 */
 		function get height():Number;
 		function set height(value:Number):void;
+		
+		/**
+		 * The inner width of the component which is
+		 * the width plus left and right padding.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		function get clientWidth():Number;
+		
+		/**
+		 * The inner height of the component which is
+		 * the height plus top and bottom padding.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		function get clientHeight():Number;
         
         /**
          *  Whether the component is visible.

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9b7849d2/frameworks/projects/Core/as/src/org/apache/flex/core/UIBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/UIBase.as b/frameworks/projects/Core/as/src/org/apache/flex/core/UIBase.as
index 35c7f21..fc28ffc 100644
--- a/frameworks/projects/Core/as/src/org/apache/flex/core/UIBase.as
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/UIBase.as
@@ -287,6 +287,44 @@ package org.apache.flex.core
 			dispatchEvent(new Event("percentHeightChanged"));
 		}
 		
+		/**
+		 * Returns the inner width of the component which includes its padding but
+		 * not its margins. Basically, the width plus left and right padding.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+		 */
+		public function get clientWidth():Number
+		{
+			var padding:Object = determinePadding();
+			var pl:Number = 0;
+			var pr:Number = 0;
+			if (!isNaN(padding.paddingLeft)) pl = padding.paddingLeft;
+			if (!isNaN(padding.paddingRight)) pr = padding.paddingRight;
+			return width + pl + pr;
+		}
+		
+		/**
+		 * Returns the inner height of the component which includes its padding
+		 * but not its margins. Basically, the height plus top and bottom padding.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+		 */
+		public function get clientHeight():Number
+		{
+			var padding:Object = determinePadding();
+			var pt:Number = 0;
+			var pb:Number = 0;
+			if (!isNaN(padding.paddingTop)) pt = padding.paddingTop;
+			if (!isNaN(padding.paddingBottom)) pb = padding.paddingBottom;
+			return height + pt + pb;
+		}
+		
 		private var _width:Number;
 
         [Bindable("widthChanged")]
@@ -492,6 +530,60 @@ package org.apache.flex.core
         }
 		
 		/**
+		 *  Determines the top and left padding values, if any, as set by
+		 *  padding style values. This includes "padding" for all padding values
+		 *  as well as "padding-left" and "padding-top".
+		 * 
+		 *  Returns an object with paddingLeft and paddingTop properties.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		protected function determinePadding():Object
+		{
+			var paddingLeft:Object;
+			var paddingTop:Object;
+			var paddingRight:Object;
+			var paddingBottom:Object;
+			var padding:Object = ValuesManager.valuesImpl.getValue(this, "padding");
+			if (padding is Array)
+			{
+				if (padding.length == 1)
+					paddingLeft = paddingTop = padding[0];
+				else if (padding.length <= 3)
+				{
+					paddingLeft = padding[1];
+					paddingTop = padding[0];
+				}
+				else if (padding.length == 4)
+				{
+					paddingLeft = padding[3];
+					paddingTop = padding[0];					
+				}
+			}
+			else if (padding == null)
+			{
+				paddingLeft = ValuesManager.valuesImpl.getValue(this, "padding-left");
+				paddingTop = ValuesManager.valuesImpl.getValue(this, "padding-top");
+				paddingRight = ValuesManager.valuesImpl.getValue(this, "padding-right");
+				paddingBottom = ValuesManager.valuesImpl.getValue(this, "padding-bottom");
+			}
+			else
+			{
+				paddingLeft = paddingTop = padding;
+				paddingRight = paddingBottom = padding;
+			}
+			var pl:Number = Number(paddingLeft);
+			var pt:Number = Number(paddingTop);
+			var pr:Number = Number(paddingRight);
+			var pb:Number = Number(paddingBottom);
+			
+			return {paddingLeft:pl, paddingTop:pt, paddingRight:pr, paddingBottom:pb};
+		}
+		
+		/**
 		 * @private
 		 */
 		override public function set visible(value:Boolean):void

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9b7849d2/frameworks/projects/Core/as/src/org/apache/flex/core/UIButtonBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/UIButtonBase.as b/frameworks/projects/Core/as/src/org/apache/flex/core/UIButtonBase.as
index b8f3689..d3f0a25 100644
--- a/frameworks/projects/Core/as/src/org/apache/flex/core/UIButtonBase.as
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/UIButtonBase.as
@@ -246,6 +246,44 @@ package org.apache.flex.core
 			dispatchEvent(new Event("percentHeightChanged"));
 		}
 		
+		/**
+		 * Returns the inner width of the component which includes its padding but
+		 * not its margins. Basically, the width plus left and right padding.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get clientWidth():Number
+		{
+			var padding:Object = determinePadding();
+			var pl:Number = 0;
+			var pr:Number = 0;
+			if (!isNaN(padding.paddingLeft)) pl = padding.paddingLeft;
+			if (!isNaN(padding.paddingRight)) pr = padding.paddingRight;
+			return width + pl + pr;
+		}
+		
+		/**
+		 * Returns the inner height of the component which includes its padding
+		 * but not its margins. Basically, the height plus top and bottom padding.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get clientHeight():Number
+		{
+			var padding:Object = determinePadding();
+			var pt:Number = 0;
+			var pb:Number = 0;
+			if (!isNaN(padding.paddingTop)) pt = padding.paddingTop;
+			if (!isNaN(padding.paddingBottom)) pb = padding.paddingBottom;
+			return height + pt + pb;
+		}
+		
 		private var _width:Number;
         
         [PercentProxy("percentWidth")]
@@ -459,6 +497,60 @@ package org.apache.flex.core
         {
             return (isNaN(_explicitHeight) && isNaN(_percentHeight));
         }
+		
+		/**
+		 *  Determines the top and left padding values, if any, as set by
+		 *  padding style values. This includes "padding" for all padding values
+		 *  as well as "padding-left" and "padding-top".
+		 * 
+		 *  Returns an object with paddingLeft and paddingTop properties.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		protected function determinePadding():Object
+		{
+			var paddingLeft:Object;
+			var paddingTop:Object;
+			var paddingRight:Object;
+			var paddingBottom:Object;
+			var padding:Object = ValuesManager.valuesImpl.getValue(this, "padding");
+			if (padding is Array)
+			{
+				if (padding.length == 1)
+					paddingLeft = paddingTop = padding[0];
+				else if (padding.length <= 3)
+				{
+					paddingLeft = padding[1];
+					paddingTop = padding[0];
+				}
+				else if (padding.length == 4)
+				{
+					paddingLeft = padding[3];
+					paddingTop = padding[0];					
+				}
+			}
+			else if (padding == null)
+			{
+				paddingLeft = ValuesManager.valuesImpl.getValue(this, "padding-left");
+				paddingTop = ValuesManager.valuesImpl.getValue(this, "padding-top");
+				paddingRight = ValuesManager.valuesImpl.getValue(this, "padding-right");
+				paddingBottom = ValuesManager.valuesImpl.getValue(this, "padding-bottom");
+			}
+			else
+			{
+				paddingLeft = paddingTop = padding;
+				paddingRight = paddingBottom = padding;
+			}
+			var pl:Number = Number(paddingLeft);
+			var pt:Number = Number(paddingTop);
+			var pr:Number = Number(paddingRight);
+			var pb:Number = Number(paddingBottom);
+			
+			return {paddingLeft:pl, paddingTop:pt, paddingRight:pr, paddingBottom:pb};
+		}
         
         private var _model:IBeadModel;
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9b7849d2/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
index 9ca7bd2..59fb6f5 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
@@ -272,10 +272,11 @@ package org.apache.flex.html.beads
 		 */
 		protected function contentAreaNeeded():Boolean
 		{
-			var padding:Object = determinePadding();
-			
-			return (!isNaN(padding.paddingLeft) && padding.paddingLeft > 0 ||
-				    !isNaN(padding.paddingTop) && padding.paddingTop > 0);
+			return true;
+//			var padding:Object = determinePadding();
+//			
+//			return (!isNaN(padding.paddingLeft) && padding.paddingLeft > 0 ||
+//				    !isNaN(padding.paddingTop) && padding.paddingTop > 0);
 		}
 		
         /**
@@ -303,6 +304,36 @@ package org.apache.flex.html.beads
 		{
 			return _strand as IUIBase;
 		}
+		
+		/**
+		 *  @copy org.apache.flex.core.IBeadView#viewHeight
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		override public function get viewHeight():Number
+		{
+			// don't want to put $height in an interface
+			var vh:Number = contentView.height;
+			return vh;
+		}
+		
+		/**
+		 *  @copy org.apache.flex.core.IBeadView#viewWidth
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		override public function get viewWidth():Number
+		{
+			// don't want to put $width in an interface
+			var vw:Number = contentView.width;
+			return vw;
+		}
 				
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9b7849d2/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/SolidBackgroundBead.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/SolidBackgroundBead.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/SolidBackgroundBead.as
index 3d93a43..c62b59b 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/SolidBackgroundBead.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/SolidBackgroundBead.as
@@ -147,8 +147,8 @@ package org.apache.flex.html.beads
 		private function changeHandler(event:Event):void
 		{
             var g:Graphics = Sprite(host).graphics;
-            var w:Number = host.width;
-            var h:Number = host.height;
+            var w:Number = host.clientWidth;
+            var h:Number = host.clientHeight;
 			
 			var gd:IGraphicsDrawing = _strand.getBeadByType(IGraphicsDrawing) as IGraphicsDrawing;
 			if( this == gd ) g.clear();

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9b7849d2/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/BasicLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/BasicLayout.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/BasicLayout.as
index f0ff2a6..665e169 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/BasicLayout.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/BasicLayout.as
@@ -148,7 +148,7 @@ package org.apache.flex.html.beads.layouts
                             child.width = ww - right;
                     }
                     else
-                        child.x = w - right - child.width;
+                        child.x = w - right - child.clientWidth;
                 }
                 if (child is ILayoutChild)
                 {
@@ -166,7 +166,7 @@ package org.apache.flex.html.beads.layouts
                             child.height = hh - bottom;
                     }
                     else
-                        child.y = h - bottom - child.height;
+                        child.y = h - bottom - child.clientHeight;
                 }
                 child.dispatchEvent(new Event("sizeChanged"));
 			}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9b7849d2/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/HorizontalLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/HorizontalLayout.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/HorizontalLayout.as
index 8bbf420..0105e2b 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/HorizontalLayout.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/HorizontalLayout.as
@@ -178,7 +178,7 @@ package org.apache.flex.html.beads.layouts
 						mr = 0;
 				}
 				child.y = mt;
-				maxHeight = Math.max(maxHeight, ml + child.height + mr);
+				maxHeight = Math.max(maxHeight, ml + child.clientHeight + mr);
 				var xx:Number;
 				if (i == 0)
 					child.x = ml;
@@ -190,7 +190,7 @@ package org.apache.flex.html.beads.layouts
                     if (!isNaN(ilc.percentWidth))
                         ilc.setWidth(contentView.width * ilc.percentWidth / 100, true);
                 }
-				xx = child.x + child.width;
+				xx = child.x + child.clientWidth;
 				lastmr = mr;
 				var valign:Object = ValuesManager.valuesImpl.getValue(child, "vertical-align");
 				verticalMargins.push({ marginTop: mt, marginBottom: mb, valign: valign });
@@ -207,9 +207,9 @@ package org.apache.flex.html.beads.layouts
                         ilc.setHeight(contentView.height * ilc.percentHeight / 100, true);
                 }
 				if (obj.valign == "middle")
-					child.y = (maxHeight - child.height) / 2;
+					child.y = (maxHeight - child.clientHeight) / 2;
 				else if (valign == "bottom")
-					child.y = maxHeight - child.height - obj.marginBottom;
+					child.y = maxHeight - child.clientHeight - obj.marginBottom;
 				else
 					child.y = obj.marginTop;
                 child.dispatchEvent(new Event("sizeChanged"));

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9b7849d2/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/VerticalLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/VerticalLayout.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/VerticalLayout.as
index a8a5558..a9db932 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/VerticalLayout.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/VerticalLayout.as
@@ -173,7 +173,7 @@ package org.apache.flex.html.beads.layouts
                     if (!isNaN(ilc.percentHeight))
                         ilc.setHeight(contentView.height * ilc.percentHeight / 100, true);
                 }
-				yy = child.y + child.height;
+				yy = child.y + child.clientHeight;
 				lastmb = mb;
 				flexibleHorizontalMargins[i] = {};
 				if (marginLeft == "auto")
@@ -217,7 +217,7 @@ package org.apache.flex.html.beads.layouts
                     if (!isNaN(ilc.percentWidth))
                         ilc.setWidth(contentView.width * ilc.percentWidth / 100, true);
                 }
-				maxWidth = Math.max(maxWidth, ml + child.width + mr);
+				maxWidth = Math.max(maxWidth, ml + child.clientWidth + mr);
 			}
 			for (i = 0; i < n; i++)
 			{
@@ -227,9 +227,9 @@ package org.apache.flex.html.beads.layouts
                 {
 					var obj:Object = flexibleHorizontalMargins[i];
 					if (obj.marginLeft == "auto" && obj.marginRight == "auto")
-						child.x = maxWidth - child.width / 2;
+						child.x = maxWidth - child.clientWidth / 2;
 					else if (obj.marginLeft == "auto")
-						child.x = maxWidth - child.width - obj.marginRight;
+						child.x = maxWidth - child.clientWidth - obj.marginRight;
 				}
                 child.dispatchEvent(new Event("sizeChanged"));
 			}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9b7849d2/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
index b49bac1..469a17a 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
@@ -133,6 +133,98 @@ package org.apache.flex.html.supportClasses
         {
             return super.height;
         }
+		
+		/**
+		 * Returns the inner width of the component which includes its padding but
+		 * not its margins. Basically, the width plus left and right padding.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get clientWidth():Number
+		{
+			var padding:Object = determinePadding();
+			var pl:Number = 0;
+			var pr:Number = 0;
+			if (!isNaN(padding.paddingLeft)) pl = padding.paddingLeft;
+			if (!isNaN(padding.paddingRight)) pr = padding.paddingRight;
+			return width + pl + pr;
+		}
+		
+		/**
+		 * Returns the inner height of the component which includes its padding
+		 * but not its margins. Basically, the height plus top and bottom padding.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get clientHeight():Number
+		{
+			var padding:Object = determinePadding();
+			var pt:Number = 0;
+			var pb:Number = 0;
+			if (!isNaN(padding.paddingTop)) pt = padding.paddingTop;
+			if (!isNaN(padding.paddingBottom)) pb = padding.paddingBottom;
+			return height + pt + pb;
+		}
+		
+		/**
+		 *  Determines the top and left padding values, if any, as set by
+		 *  padding style values. This includes "padding" for all padding values
+		 *  as well as "padding-left" and "padding-top".
+		 * 
+		 *  Returns an object with paddingLeft and paddingTop properties.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		protected function determinePadding():Object
+		{
+			var paddingLeft:Object;
+			var paddingTop:Object;
+			var paddingRight:Object;
+			var paddingBottom:Object;
+			var padding:Object = ValuesManager.valuesImpl.getValue(this, "padding");
+			if (padding is Array)
+			{
+				if (padding.length == 1)
+					paddingLeft = paddingTop = padding[0];
+				else if (padding.length <= 3)
+				{
+					paddingLeft = padding[1];
+					paddingTop = padding[0];
+				}
+				else if (padding.length == 4)
+				{
+					paddingLeft = padding[3];
+					paddingTop = padding[0];					
+				}
+			}
+			else if (padding == null)
+			{
+				paddingLeft = ValuesManager.valuesImpl.getValue(this, "padding-left");
+				paddingTop = ValuesManager.valuesImpl.getValue(this, "padding-top");
+				paddingRight = ValuesManager.valuesImpl.getValue(this, "padding-right");
+				paddingBottom = ValuesManager.valuesImpl.getValue(this, "padding-bottom");
+			}
+			else
+			{
+				paddingLeft = paddingTop = padding;
+				paddingRight = paddingBottom = padding;
+			}
+			var pl:Number = Number(paddingLeft);
+			var pt:Number = Number(paddingTop);
+			var pr:Number = Number(paddingRight);
+			var pb:Number = Number(paddingBottom);
+			
+			return {paddingLeft:pl, paddingTop:pt, paddingRight:pr, paddingBottom:pb};
+		}
 
 		/**
 		 *  The String(data) for the itemRenderer instance.