You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2015/05/21 19:45:10 UTC

[2/3] git commit: [flex-asjs] [refs/heads/develop] - have deferred content request a layout. Seems like a common enough case to bake in

have deferred content request a layout.  Seems like a common enough case to bake in


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

Branch: refs/heads/develop
Commit: ce95409790fa3f39ac5eef297aac8c8e2eb5e582
Parents: 0bdfe80
Author: Alex Harui <ah...@apache.org>
Authored: Tue May 19 13:01:34 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu May 21 10:44:50 2015 -0700

----------------------------------------------------------------------
 .../as/src/org/apache/flex/html/beads/ImageButtonView.as    | 9 +++++++++
 .../HTML/as/src/org/apache/flex/html/beads/ImageView.as     | 8 ++++++++
 .../apache/flex/html/supportClasses/ContainerContentArea.as | 8 ++++++++
 3 files changed, 25 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ce954097/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ImageButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ImageButtonView.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ImageButtonView.as
index 7210967..972c1de 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ImageButtonView.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ImageButtonView.as
@@ -32,6 +32,7 @@ package org.apache.flex.html.beads
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.UIButtonBase;
     import org.apache.flex.core.ValuesManager;
+    import org.apache.flex.events.Event;
 	
 	/**
 	 *  The ImageButtonView class provides an image-only view
@@ -111,12 +112,20 @@ package org.apache.flex.html.beads
 				loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { 
                     var host:UIButtonBase = UIButtonBase(_strand);
                     if (isNaN(host.explicitWidth) && isNaN(host.percentWidth))
+                    {
                         host.setWidth(loader.content.width);
+                        if (host.parent)
+                            host.parent.dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
+                    }
                     else
                         loader.content.width = host.width;
                     
                     if (isNaN(host.explicitHeight) && isNaN(host.percentHeight))
+                    {
                         host.setHeight(loader.content.height);
+                        if (host.parent)
+                            host.parent.dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
+                    }
                     else
                         loader.content.height = host.height;
                     updateHitArea();

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ce954097/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ImageView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ImageView.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ImageView.as
index 95ed077..8f66596 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ImageView.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ImageView.as
@@ -111,12 +111,20 @@ package org.apache.flex.html.beads
 			host.addChild(bitmap);
 			
             if (host.isWidthSizedToContent())
+            {
                 host.dispatchEvent(new Event("widthChanged"));
+                if (host.parent)
+                    host.parent.dispatchEvent(new Event("layoutNeeded"));
+            }
             else
                 bitmap.width = UIBase(_strand).width;
                 
             if (host.isHeightSizedToContent())
+            {
                 host.dispatchEvent(new Event("heightChanged"));
+                if (host.parent)
+                    host.parent.dispatchEvent(new Event("layoutNeeded"));
+            }
             else
                 bitmap.height = UIBase(_strand).height;
                 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ce954097/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ContainerContentArea.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ContainerContentArea.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ContainerContentArea.as
index 1095ad2..95b507c 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ContainerContentArea.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ContainerContentArea.as
@@ -19,6 +19,7 @@
 package org.apache.flex.html.supportClasses
 {
 	import org.apache.flex.core.UIBase;
+    import org.apache.flex.events.Event;
 	
     /**
      *  The ContainerContentArea class implements the actualParent for
@@ -43,6 +44,13 @@ package org.apache.flex.html.supportClasses
 		public function ContainerContentArea()
 		{
 			super();
+            addEventListener("layoutNeeded", forwardEventHandler);
 		}
+        
+        private function forwardEventHandler(event:Event):void
+        {
+            if (parent)
+                parent.dispatchEvent(event);
+        }
 	}
 }