flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pio...@apache.org
Subject [19/50] [abbrv] git commit: [flex-asjs] [refs/heads/tlf] - try to be smarter about when to layout. FlexJSStore Panel TitleBar wasn't laying out at the right size because it would get a childResize when it was at is natural size, start laying out at that
Date Sun, 18 Jun 2017 12:36:30 GMT
try to be smarter about when to layout.  FlexJSStore Panel TitleBar wasn't laying out at the
right size because it would get a childResize when it was at is natural size, start laying
out at that natural size, then the parent Panel would try to layout TitleBar at correct width
in response to Titlebar layout but it was blocked since TitleBar was already in layout at
the wrong size


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

Branch: refs/heads/tlf
Commit: 40bdebae2d1003b71ace3d64770832a82f58bf4a
Parents: f81ae0b
Author: Alex Harui <aharui@apache.org>
Authored: Thu Jun 8 09:35:38 2017 -0700
Committer: Alex Harui <aharui@apache.org>
Committed: Thu Jun 8 10:20:57 2017 -0700

----------------------------------------------------------------------
 .../flex/org/apache/flex/core/LayoutBase.as     | 36 ++++++++++++++++++++
 1 file changed, 36 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/40bdebae/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
index 859add9..d575ee5 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
@@ -151,6 +151,42 @@ package org.apache.flex.core
 		 */
 		protected function childResizeHandler(event:Event):void
 		{
+			var viewBead:ILayoutHost;
+			
+			// don't layout in response to child size changes if sized by parent
+			// or explicitly sized
+			if (event.type == "widthChanged" && 
+				!(host.isWidthSizedToContent() || !isNaN(host.explicitWidth)))
+			{
+				// but do call this to update scrolling viewports
+				viewBead = (host as ILayoutParent).getLayoutHost();
+				viewBead.beforeLayout();
+				viewBead.afterLayout();
+				return;
+			}
+			// don't layout in response to child size changes if sized by parent
+			// or explicitly sized
+			if (event.type == "heightChanged" && 
+				!(host.isHeightSizedToContent() || !isNaN(host.explicitHeight)))
+			{
+				// but do call this to update scrolling viewports
+				viewBead = (host as ILayoutParent).getLayoutHost();
+				viewBead.beforeLayout();
+				viewBead.afterLayout();
+				return;
+			}
+			// don't layout in response to child size changes if sized by parent
+			// or explicitly sized
+			if (event.type == "sizeChanged" && 
+				!(host.isHeightSizedToContent() || !isNaN(host.explicitHeight)) &&
+				!(host.isWidthSizedToContent() || !isNaN(host.explicitWidth)))
+			{
+				// but do call this to update scrolling viewports
+				viewBead = (host as ILayoutParent).getLayoutHost();
+				viewBead.beforeLayout();
+				viewBead.afterLayout();
+				return;
+			}
 			performLayout();
 		}
 		


Mime
View raw message