You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2019/12/30 15:38:01 UTC

[royale-asjs] branch develop updated: PAYG: Remove from UIBase unset styles x and y by NaN in JS platform and pass to StyledUIBase that has this feature

This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new 7da2b37  PAYG: Remove from UIBase unset styles x and y by NaN in JS platform and pass to StyledUIBase that has this feature
7da2b37 is described below

commit 7da2b374ee4de9a258fc6c4cf50e11bb5026c48e
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Mon Dec 30 16:37:52 2019 +0100

    PAYG: Remove from UIBase unset styles x and y by NaN in JS platform and pass to StyledUIBase that has this feature
---
 .../royale/org/apache/royale/core/StyledUIBase.as  | 81 ++++++++++++++++++++++
 .../main/royale/org/apache/royale/core/UIBase.as   | 26 ++-----
 2 files changed, 87 insertions(+), 20 deletions(-)

diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/StyledUIBase.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/StyledUIBase.as
index 88a713f..0c8ff74 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/StyledUIBase.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/StyledUIBase.as
@@ -188,6 +188,9 @@ package org.apache.royale.core
         }
 
         /**
+         *  In Javascript platform for convenience we use NaN value to remove style, since Browsers
+         *  use defaults for unset style properties.
+         * 
          *  @private
          */
 		override public function set percentWidth(value:Number):void
@@ -212,6 +215,9 @@ package org.apache.royale.core
 		}
 
         /**
+         *  In Javascript platform for convenience we use NaN value to remove style, since Browsers
+         *  use defaults for unset style properties.
+         * 
          *  @private
          */
 		override public function set percentHeight(value:Number):void
@@ -237,6 +243,9 @@ package org.apache.royale.core
 		}
 
         /**
+         *  In Javascript platform for convenience we use NaN value to remove style, since Browsers
+         *  use defaults for unset style properties.
+         * 
          *  @copy org.apache.royale.core.ILayoutChild#setHeight
          *  
          *  @langversion 3.0
@@ -259,6 +268,9 @@ package org.apache.royale.core
         }
 
         /**
+         *  In Javascript platform for convenience we use NaN value to remove style, since Browsers
+         *  use defaults for unset style properties.
+         * 
          *  @copy org.apache.royale.core.ILayoutChild#setWidth
          *  
          *  @langversion 3.0
@@ -281,6 +293,9 @@ package org.apache.royale.core
         }
 
         /**
+         *  In Javascript platform for convenience we use NaN value to remove style, since Browsers
+         *  use defaults for unset style properties.
+         * 
          *  @copy org.apache.royale.core.ILayoutChild#setWidthAndHeight
          *  
          *  @langversion 3.0
@@ -312,5 +327,71 @@ package org.apache.royale.core
             }            
             dispatchEvent(new Event("sizeChanged"));
         }
+
+        /**
+         *  In Javascript platform for convenience we use NaN value to remove style, since Browsers
+         *  use defaults for unset style properties.
+         * 
+         *  @copy org.apache.royale.core.ILayoutChild#setX
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.0
+         *  @royaleignorecoercion HTMLElement
+         */
+        override public function setX(value:Number):void
+        {
+			COMPILE::SWF
+			{
+				super.x = value;					
+			}
+			COMPILE::JS
+			{
+				//positioner.style.position = 'absolute';
+                if(!isNaN(value))
+                {
+                    if (positioner.parentNode != positioner.offsetParent)
+                        value += (positioner.parentNode as HTMLElement).offsetLeft;
+                    positioner.style.left = value.toString() + 'px';
+                } else
+                {
+                    positioner.style.left = null;
+                }
+			}
+        }
+
+        /**
+         *  In Javascript platform for convenience we use NaN value to remove style, since Browsers
+         *  use defaults for unset style properties.
+         *  
+         *  @copy org.apache.royale.core.ILayoutChild#setY
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.0
+         *  @royaleignorecoercion HTMLElement
+         */
+        override public function setY(value:Number):void
+        {
+			COMPILE::SWF
+			{
+				super.y = value;					
+			}
+			COMPILE::JS
+			{
+				//positioner.style.position = 'absolute';
+                if(!isNaN(value))
+                {
+                    if (positioner.parentNode != positioner.offsetParent)
+                        value += (positioner.parentNode as HTMLElement).offsetTop;
+                    positioner.style.top = value.toString() + 'px';
+                } else
+                {
+                    positioner.style.top = null;
+                }
+			}
+        }
     }
 }
\ No newline at end of file
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as
index 92e5c84..512d8fc 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as
@@ -745,16 +745,9 @@ package org.apache.royale.core
 			COMPILE::JS
 			{
 				//positioner.style.position = 'absolute';
-                if(!isNaN(value))
-                {
-                    if (positioner.parentNode != positioner.offsetParent)
-                        value += (positioner.parentNode as HTMLElement).offsetLeft;
-                    positioner.style.left = value.toString() + 'px';
-                } else
-                {
-                    // is NaN remove style
-                    positioner.style.left = "initial";
-                }
+                if (positioner.parentNode != positioner.offsetParent)
+                    value += (positioner.parentNode as HTMLElement).offsetLeft;
+                positioner.style.left = value.toString() + 'px';
 			}
         }
         
@@ -821,16 +814,9 @@ package org.apache.royale.core
 			COMPILE::JS
 			{
 				//positioner.style.position = 'absolute';
-                if(!isNaN(value))
-                {
-                    if (positioner.parentNode != positioner.offsetParent)
-                        value += (positioner.parentNode as HTMLElement).offsetTop;
-                    positioner.style.top = value.toString() + 'px';
-                } else
-                {
-                    // is NaN remove style
-                    positioner.style.top = "initial";
-                }
+                if (positioner.parentNode != positioner.offsetParent)
+                    value += (positioner.parentNode as HTMLElement).offsetTop;
+                positioner.style.top = value.toString() + 'px';
 			}
         }