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 <[email protected]>
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;
                        }
                }
-
        }
 }

Reply via email to