You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2019/12/23 06:52:45 UTC

[royale-asjs] 07/09: need to force layouts down the tree from Form

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

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

commit fff234a0704cce23680467564f95385ea0f129b1
Author: Alex Harui <ah...@apache.org>
AuthorDate: Sun Dec 22 22:08:48 2019 -0800

    need to force layouts down the tree from Form
---
 .../royale/spark/components/supportClasses/SkinnableComponent.as | 7 +++++++
 .../SparkRoyale/src/main/royale/spark/layouts/FormLayout.as      | 9 ++++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableComponent.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableComponent.as
index e0c4153..5875441 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableComponent.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableComponent.as
@@ -142,8 +142,15 @@ public class SkinnableComponent extends UIComponent
      */
     public function SkinnableComponent()
     {
+        addEventListener("layoutNeeded", layoutSkinNeeded);
     }
 	
+    private function layoutSkinNeeded(event:Event):void
+    {
+        if (skin)
+            skin.dispatchEvent(new Event("layoutNeeded"));
+    }
+    
     //--------------------------------------------------------------------------
     //  Properties
     //--------------------------------------------------------------------------
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/FormLayout.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/FormLayout.as
index d94d0c6..c91a04d 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/FormLayout.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/FormLayout.as
@@ -27,7 +27,9 @@ package spark.layouts
 	import spark.components.supportClasses.GroupBase;
 	import spark.components.supportClasses.SkinnableComponent;
 	import spark.layouts.supportClasses.LayoutBase;
-	
+
+    import org.apache.royale.events.Event;
+    
 	use namespace mx_internal;
 	
 	/**
@@ -294,6 +296,11 @@ package spark.layouts
 				// Recalculate contentWidth; contentHeight already includes padding.
 				var contentWidth:Number = calculateColumnWidthsSum(columnMaxWidths);
 				layoutTarget.setContentSize(contentWidth + hPadding, layoutTarget.contentHeight);
+                
+                for each (formItem in formItems)
+                {
+                    formItem.dispatchEvent(new Event("layoutNeeded"));
+                }
 			}
 		}