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 2020/03/08 22:00:54 UTC

[royale-asjs] branch develop updated: jewel-layouts: change to ILayoutView since IParentIUIBase not handle all cases

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 90d956b  jewel-layouts: change to ILayoutView since IParentIUIBase not handle all cases
90d956b is described below

commit 90d956ba0212f32c7e64a413e6e2b3bed91d554f
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sun Mar 8 23:00:45 2020 +0100

    jewel-layouts: change to ILayoutView since IParentIUIBase not handle all cases
---
 .../jewel/beads/layouts/SimpleHorizontalLayout.as  | 36 +++++++++-------------
 .../jewel/beads/layouts/SimpleVerticalLayout.as    | 25 +++++++--------
 2 files changed, 27 insertions(+), 34 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/SimpleHorizontalLayout.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/SimpleHorizontalLayout.as
index e634bb8..b942c58 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/SimpleHorizontalLayout.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/SimpleHorizontalLayout.as
@@ -29,8 +29,8 @@ package org.apache.royale.jewel.beads.layouts
 	}
 	COMPILE::JS
 	{
-	import org.apache.royale.core.IParentIUIBase;
-	import org.apache.royale.core.WrappedHTMLElement;
+	import org.apache.royale.core.ILayoutView;
+	import org.apache.royale.core.UIBase;
 	}
 	import org.apache.royale.events.Event;
 	import org.apache.royale.jewel.beads.layouts.StyledLayoutBase;
@@ -199,27 +199,19 @@ package org.apache.royale.jewel.beads.layouts
 				 */
 
 				// We just need to make chids resize themselves (through `sizeChanged` event)
-				var contentView:IParentIUIBase = layoutView as IParentIUIBase;
-				try
-				{
-					var children:Array = contentView.internalChildren();
-					var i:int;
-					var n:int = children.length;
-					var child:WrappedHTMLElement
-					for (i = 0; i < n; i++)
-					{
-						child = children[i];
-						if(child && child.royale_wrapper)			
-							child.royale_wrapper.dispatchEvent('sizeChanged');
-						else
-							trace("child ? ", child)
-					}
-				}
-				catch (error:Error)
-				{
-					trace("layout couldn't notify 'sizeChanged' event for child:", _strand);	
-				}
+				var contentView:ILayoutView = layoutView;
+				var n:int = contentView.numElements;
+				var child:UIBase;
 
+				if (n == 0) return false;
+				
+				for(var i:int=0; i < n; i++) {
+					child = contentView.getElementAt(i) as UIBase;
+					if (!child)
+						continue;
+					child.dispatchEvent('sizeChanged');
+				}
+				
                 return true;
             }
 		}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/SimpleVerticalLayout.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/SimpleVerticalLayout.as
index a5bdc41..3285b44 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/SimpleVerticalLayout.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/SimpleVerticalLayout.as
@@ -29,8 +29,8 @@ package org.apache.royale.jewel.beads.layouts
 	}
 	COMPILE::JS
 	{
-	import org.apache.royale.core.IParentIUIBase;
-	import org.apache.royale.core.WrappedHTMLElement;
+	import org.apache.royale.core.ILayoutView;
+	import org.apache.royale.core.UIBase;
 	}
 	import org.apache.royale.events.Event;
 	import org.apache.royale.jewel.beads.layouts.StyledLayoutBase;
@@ -200,20 +200,21 @@ package org.apache.royale.jewel.beads.layouts
 				 */
 
 				// We just need to make chids resize themselves (through `sizeChanged` event)
-				var contentView:IParentIUIBase = layoutView as IParentIUIBase;
-				var children:Array = contentView.internalChildren();
-				var i:int;
-				var n:int = children.length;
-				var child:WrappedHTMLElement
-				for (i = 0; i < n; i++)
-				{
-					child = children[i];					
-					child.royale_wrapper.dispatchEvent('sizeChanged');
+				var contentView:ILayoutView = layoutView;
+				var n:int = contentView.numElements;
+				var child:UIBase;
+
+				if (n == 0) return false;
+				
+				for(var i:int=0; i < n; i++) {
+					child = contentView.getElementAt(i) as UIBase;
+					if (!child)
+						continue;
+					child.dispatchEvent('sizeChanged');
 				}
 
 				return true;
 			}
 		}
-
 	}
 }