Repository: flex-asjs
Updated Branches:
  refs/heads/develop 6ff7ea778 -> 33898b5b6


Minor change to help with nesting of containers. Added more asdoc to 
ContainerView.


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

Branch: refs/heads/develop
Commit: 33898b5b65f6ed13904ec0692f69ff0e37804235
Parents: 6ff7ea7
Author: Peter Ent <[email protected]>
Authored: Mon Jul 27 11:12:28 2015 -0400
Committer: Peter Ent <[email protected]>
Committed: Mon Jul 27 11:12:28 2015 -0400

----------------------------------------------------------------------
 .../org/apache/flex/html/beads/ContainerView.as | 153 ++++++++++++++++++-
 .../src/org/apache/flex/html/beads/PanelView.as |   1 -
 .../flex/html/beads/PanelWithControlBarView.as  |   2 -
 .../flex/mobile/beads/TabbedViewManagerView.as  |   4 +-
 4 files changed, 154 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/33898b5b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as 
b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
index cca5364..fc0c4aa 100644
--- 
a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
+++ 
b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
@@ -60,21 +60,56 @@ package org.apache.flex.html.beads
                {
                }
                
+               /**
+                * The sub-element used as the parent of the container's 
elements. This does not
+                * include the chrome elements.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                public function get contentView():IParentIUIBase
                {
                        return _contentArea;
                }
                
+               /**
+                * The view that can be resized.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                public function get resizableView():IUIBase
                {
                        return host;
                }
                
+               /**
+                * The viewport used to present the content and may display
+                * scroll bars (depending on the actual type of viewport).
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                public function get viewport():IViewport
                {
                        return _viewport;
                }
                
+               /**
+                * The data model used by the viewport to determine how it 
should
+                * present the content area.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                public function get viewportModel():IViewportModel
                {
                        return _viewportModel;
@@ -85,6 +120,14 @@ package org.apache.flex.html.beads
                private var _viewport:IViewport;
                private var _strand:IStrand;
                
+               /**
+                * Strand setter.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                override public function set strand(value:IStrand):void
                {
                        _strand = value;
@@ -101,6 +144,15 @@ package org.apache.flex.html.beads
                        host.addEventListener("initComplete", 
initCompleteHandler);
                }
                
+               /**
+                * Handles the initComplete event by completing the setup and 
kicking off the
+                * presentation of the Container.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                protected function initCompleteHandler(event:Event):void
                {
                        // if the host component is not being sized by 
percentage, go ahead and complete the setup.
@@ -116,6 +168,15 @@ package org.apache.flex.html.beads
                        }
                }
                
+               /**
+                * Handles the case where the size of the host is not 
immediately known, usually do
+                * to one of its dimensions being indicated as a percent size.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                protected function deferredSizeHandler(event:Event):void
                {
                        host.removeEventListener(event.type, 
deferredSizeHandler);
@@ -125,6 +186,15 @@ package org.apache.flex.html.beads
                        if (num > 0) performLayout(event);
                }
                
+               /**
+                * Called when the host is ready to complete its setup (usually 
after its size has been
+                * determined).
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                protected function completeSetup():void
                {
                        createViewport();
@@ -139,6 +209,15 @@ package org.apache.flex.html.beads
                        host.addEventListener("viewCreated", 
viewCreatedHandler);
                }
                
+               /**
+                * Creates the contentView or actual parent, of the items being 
contained. This
+                * is done for ActionScript to provide offsets for padding 
within the host.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                protected function createContentView():IParentIUIBase
                {
                        var area:ContainerContentArea = new 
ContainerContentArea();
@@ -146,6 +225,15 @@ package org.apache.flex.html.beads
                        return area;
                }
                
+               /**
+                * Handles the viewCreated event by performing the first layout 
if
+                * there are children already present (ie, from MXML).
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                protected function viewCreatedHandler(event:Event):void
                {
                        resizeViewport();
@@ -155,6 +243,15 @@ package org.apache.flex.html.beads
                        }
                }
                
+               /**
+                * Creates the Viewport (or ScrollableViewport) through which 
the content
+                * area is presented.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                protected function createViewport():void
                {
                        if (viewportModel == null) {
@@ -190,6 +287,16 @@ package org.apache.flex.html.beads
                        resizeViewport();
                }
                
+               /**
+                * Executes the layout associated with this container. Once the 
layout has been
+                * run, it may affect the size of the host or may cause the 
host to present scroll
+                * bars view its viewport.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                protected function performLayout(event:Event):void
                {
                        var host:UIBase = _strand as UIBase;
@@ -211,10 +318,26 @@ package org.apache.flex.html.beads
                        adjustSizeAfterLayout();
                }
                
+               /**
+                * @private
+                */
+               private var adjusting:Boolean = false;
+               
+               /**
+                * Adjusts the size of the host, or adds scrollbars to the 
viewport, after
+                * the layout has been run.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                protected function adjustSizeAfterLayout():void
                {
                        var host:UIBase = _strand as UIBase;
                        var metrics:UIMetrics = BeadMetrics.getMetrics(host);
+                       
+                       adjusting = true;
                                                
                        if (host.isWidthSizedToContent() && 
host.isHeightSizedToContent()) {                                    
                                
host.setWidthAndHeight(viewportModel.contentWidth+metrics.left+metrics.right, 
@@ -238,8 +361,19 @@ package org.apache.flex.html.beads
                                viewport.updateSize();
                                viewport.updateContentAreaSize();
                        }
+                       
+                       adjusting = false;
                }
                
+               /**
+                * Determines the size of the contentArea after the layout has 
been run. The
+                * size of the content area might be used to adjust the size of 
the host.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                protected function determineContentSizeFromChildren():void
                {
                        // pass through all of the children and determine the 
maxWidth and maxHeight
@@ -262,6 +396,14 @@ package org.apache.flex.html.beads
                        viewportModel.contentHeight = 
Math.max(maxHeight,contentView.height);
                }
                
+               /**
+                * Resizes the viewport opening in case the host has been 
resized.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                protected function resizeViewport():void
                {
                        // the viewport takes the entire space as there is no 
default chrome.
@@ -276,10 +418,19 @@ package org.apache.flex.html.beads
                        viewport.updateContentAreaSize();
                }
                
+               /**
+                * Handles dynamic changes to the host's size by running the 
layout once
+                * the viewport has been adjusted.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
                protected function resizeHandler(event:Event):void
                {
                        resizeViewport();
-                       if (event.target != this.resizableView) {
+                       if (!adjusting) {
                                performLayout(event);
                        }
                }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/33898b5b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/PanelView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/PanelView.as 
b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/PanelView.as
index ebfa27a..e4778ed 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/PanelView.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/PanelView.as
@@ -152,7 +152,6 @@ package org.apache.flex.html.beads
                        titleBar.x = 0;
                        titleBar.y = 0;
                        titleBar.width = host.width;
-                       titleBar.dispatchEvent( new Event("layoutNeeded") );
                        
                        // If the host is being sized by its content, the 
change in the contentArea
                        // causes the host's size to change

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/33898b5b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/PanelWithControlBarView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/PanelWithControlBarView.as
 
b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/PanelWithControlBarView.as
index ea66f6f..bb42ed8 100644
--- 
a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/PanelWithControlBarView.as
+++ 
b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/PanelWithControlBarView.as
@@ -177,12 +177,10 @@ package org.apache.flex.html.beads
                        titleBar.x = 0;
                        titleBar.y = 0;
                        titleBar.width = host.width;
-                       titleBar.dispatchEvent( new Event("layoutNeeded") );
                        
                        if (controlBar) {
                                controlBar.width = host.width;
                                controlBar.y = host.height - controlBar.height;
-                               controlBar.dispatchEvent( new 
Event("layoutNeeded") );
                        }
                        
                        // If the host is being sized by its content, the 
change in the contentArea

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/33898b5b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/TabbedViewManagerView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/TabbedViewManagerView.as
 
b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/TabbedViewManagerView.as
index 138bf3c..b6742d2 100644
--- 
a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/TabbedViewManagerView.as
+++ 
b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/TabbedViewManagerView.as
@@ -74,6 +74,7 @@ package org.apache.flex.mobile.beads
                        _strand = value as ManagerBase;
                        _strand.addEventListener("widthChanged", changeHandler);
                        _strand.addEventListener("heightChanged", 
changeHandler);
+                       _strand.addEventListener("sizeChanged", changeHandler);
                        
                        var model:ViewManagerModel = 
value.getBeadByType(IBeadModel) as ViewManagerModel;
                        model.addEventListener("viewsChanged", changeHandler);
@@ -94,7 +95,6 @@ package org.apache.flex.mobile.beads
                        
_tabBar.addEventListener("change",handleButtonBarChange);
                        
                        layoutReady = true;
-                       layoutChromeElements();                 
                }
                
                /**
@@ -124,7 +124,7 @@ package org.apache.flex.mobile.beads
                                _tabBar.x = 0;
                                _tabBar.y = _strand.height - _tabBar.height;
                                _tabBar.width = _strand.width;
-                               
+                                                               
                                contentAreaHeight -= _tabBar.height;
                                
                                model.tabBar = _tabBar;

Reply via email to