Fixed DateChooser and DataContainer. Updates to some layouts.

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

Branch: refs/heads/tlf
Commit: f8a71b2eca2bfec4d5736328ddaa598ce51298a1
Parents: 679eccb
Author: Peter Ent <[email protected]>
Authored: Tue Mar 21 17:34:58 2017 -0400
Committer: Peter Ent <[email protected]>
Committed: Tue Mar 21 17:34:58 2017 -0400

----------------------------------------------------------------------
 .../flex/org/apache/flex/html/DataContainer.as  | 123 ++++++++++++++++---
 .../flex/org/apache/flex/html/DateChooser.as    |   4 +-
 .../apache/flex/html/beads/DataContainerView.as | 106 +++++++++-------
 .../apache/flex/html/beads/DateChooserView.as   | 120 ++++++++++--------
 .../flex/org/apache/flex/html/beads/ListView.as |  15 ---
 .../html/beads/layouts/HorizontalFlexLayout.as  |   3 +
 .../html/beads/layouts/VerticalFlexLayout.as    |   3 +
 .../html/supportClasses/DateChooserHeader.as    |  10 +-
 .../HTML/src/main/resources/defaults.css        |  13 +-
 9 files changed, 262 insertions(+), 135 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f8a71b2e/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
index 5d33d55..948a953 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
@@ -20,10 +20,14 @@ package org.apache.flex.html
 {
        import org.apache.flex.core.ContainerBaseStrandChildren;
        import org.apache.flex.core.IContentViewHost;
+       import org.apache.flex.core.IChild;
        import org.apache.flex.core.IDataProviderItemRendererMapper;
        import org.apache.flex.core.IFactory;
        import org.apache.flex.core.IItemRendererClassFactory;
-       import org.apache.flex.core.IItemRendererProvider;
+       import org.apache.flex.core.IItemRenderer;
+       import org.apache.flex.core.IItemRendererParent;
+       import org.apache.flex.core.ILayoutObject;
+       import org.apache.flex.core.IList;
        import org.apache.flex.core.IListPresentationModel;
        import org.apache.flex.core.IRollOverModel;
        import org.apache.flex.core.IDataProviderModel;
@@ -38,7 +42,11 @@ package org.apache.flex.html
     }
        import org.apache.flex.events.Event;
        import org.apache.flex.events.IEventDispatcher;
+       import org.apache.flex.events.ItemAddedEvent;
+       import org.apache.flex.events.ItemClickedEvent;
+       import org.apache.flex.events.ItemRemovedEvent;
        import org.apache.flex.html.beads.models.ListPresentationModel;
+       import org.apache.flex.html.supportClasses.DataItemRenderer;
        
        /**
         *  Indicates that the initialization of the list is complete.
@@ -51,7 +59,7 @@ package org.apache.flex.html
        [Event(name="initComplete", type="org.apache.flex.events.Event")]
        
        /**
-        *  The List class is a component that displays multiple data items. 
The List uses
+        *  The DataContainer class is a component that displays multiple data 
items. The DataContainer uses
         *  the following bead types:
         * 
         *  org.apache.flex.core.IBeadModel: the data model, which includes the 
dataProvider.
@@ -66,7 +74,7 @@ package org.apache.flex.html
         *  @playerversion AIR 2.6
         *  @productversion FlexJS 0.0
         */
-       public class DataContainer extends ListBase implements 
IItemRendererProvider
+       public class DataContainer extends ListBase implements IList, 
IItemRendererParent, ILayoutObject
        {
                /**
                 *  constructor.
@@ -116,6 +124,14 @@ package org.apache.flex.html
         {
             IDataProviderModel(model).dataProvider = value;
         }
+               
+               /**
+                * Returns the sub-component that parents all of the item 
renderers.
+                */
+               public function get dataGroup():IItemRendererParent
+               {
+                       return this;
+               }
 
                        
                /**
@@ -198,6 +214,90 @@ package org.apache.flex.html
                        return result;
                }
                
+               /*
+               * IItemRendererParent
+               */
+               
+               /**
+                * @copy 
org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
+                * @private
+                */
+               public function addItemRenderer(renderer:IItemRenderer):void
+               {                       
+                       addElement(renderer, true);
+                       
+                       var newEvent:ItemAddedEvent = new 
ItemAddedEvent("itemAdded");
+                       newEvent.item = renderer;
+                       
+                       dispatchEvent(newEvent);
+               }
+               
+               /**
+                * @copy 
org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
+                * @private
+                */
+               public function removeItemRenderer(renderer:IItemRenderer):void
+               {                               
+                       removeElement(renderer, true);
+                       
+                       var newEvent:ItemRemovedEvent = new 
ItemRemovedEvent("itemRemoved");
+                       newEvent.item = renderer;
+                       
+                       dispatchEvent(newEvent);
+               }
+               
+               /**
+                * @copy 
org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
+                * @private
+                */
+               public function removeAllItemRenderers():void
+               {                       
+                       while (numElements > 0) {
+                               var child:IChild = getElementAt(0);
+                               removeElement(child);
+                       }
+               }
+               
+               /**
+                *  @copy 
org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function getItemRendererForIndex(index:int):IItemRenderer
+               {                       
+                       if (index < 0 || index >= numElements) return null;
+                       return getElementAt(index) as IItemRenderer;
+               }
+               
+               /**
+                *  Refreshes the itemRenderers. Useful after a size change by 
the data group.
+                *  
+                *  @copy 
org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function updateAllItemRenderers():void
+               {                       
+                       var n:Number = numElements;
+                       for (var i:Number = 0; i < n; i++)
+                       {
+                               var renderer:DataItemRenderer = 
getItemRendererForIndex(i) as DataItemRenderer;
+                               if (renderer) {
+                                       renderer.setWidth(this.width,true);
+                                       renderer.adjustSize();
+                               }
+                       }
+               }
+               
+               /*
+               * UIBase
+               */
+               
                
                /**
                 * @private
@@ -234,22 +334,9 @@ package org.apache.flex.html
         override protected function createElement():WrappedHTMLElement
         {
             super.createElement();
-            className = 'List';
+            className = 'DataContainer';
             
             return element;
-        }        
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.html.beads.ListView 
-         * @flexjsignorecoercion org.apache.flex.html.supportClasses.DataGroup 
-         */
-        COMPILE::JS
-        override public function internalChildren():Array
-        {
-            var listView:ListView = getBeadByType(ListView) as ListView;
-            var dg:DataGroup = listView.dataGroup as DataGroup;
-            var renderers:Array = dg.internalChildren();
-            return renderers;
-        };
+        } 
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f8a71b2e/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
index 6bf910a..460cd33 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
@@ -19,7 +19,7 @@
 package org.apache.flex.html
 {
        import org.apache.flex.core.IDateChooserModel;
-       import org.apache.flex.core.UIBase;
+       import org.apache.flex.html.Group;
 
        /**
         * The change event is dispatched when the selectedDate is changed.
@@ -35,7 +35,7 @@ package org.apache.flex.html
         *  @playerversion AIR 2.6
         *  @productversion FlexJS 0.0
         */
-       public class DateChooser extends UIBase
+       public class DateChooser extends Group
        {
                /**
                 *  constructor.

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f8a71b2e/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
index 73986c0..5036b6b 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
@@ -24,12 +24,14 @@ package org.apache.flex.html.beads
        import org.apache.flex.core.IBeadLayout;
        import org.apache.flex.core.IBeadModel;
        import org.apache.flex.core.IBeadView;
+       import org.apache.flex.core.IList;
        import org.apache.flex.core.ISelectableItemRenderer;
        import org.apache.flex.core.IItemRenderer;
        import org.apache.flex.core.IItemRendererParent;
        import org.apache.flex.core.IParent;
     import org.apache.flex.core.IParentIUIBase;
        import org.apache.flex.core.IDataProviderModel;
+       import org.apache.flex.core.ISelectionModel;
        import org.apache.flex.core.IStrand;
     import org.apache.flex.core.IUIBase;
        import org.apache.flex.core.Strand;
@@ -44,76 +46,81 @@ package org.apache.flex.html.beads
        import org.apache.flex.html.supportClasses.ScrollBar;
 
        /**
-        *  The List class creates the visual elements of the 
org.apache.flex.html.List 
-        *  component. A List consists of the area to display the data (in the 
dataGroup), any 
-        *  scrollbars, and so forth.
+        *  The DataContainerView provides the visual elements for the 
DataContainer.
         *  
         *  @viewbead
         *  @langversion 3.0
         *  @playerversion Flash 10.2
         *  @playerversion AIR 2.6
-        *  @productversion FlexJS 0.0
+        *  @productversion FlexJS 0.8
         */
+       COMPILE::JS
        public class DataContainerView extends ContainerView implements 
IListView
        {
                public function DataContainerView()
                {
+                       super();
                }
-                                               
+               
                protected var listModel:IDataProviderModel;
                
-               private var _border:Border;
+               public function get dataGroup():IItemRendererParent
+               {
+                       return (_strand as IList).dataGroup;
+               }
+               
+               override protected function beadsAddedHandler(event:Event):void
+               {
+                       
+                       listModel = _strand.getBeadByType(IDataProviderModel) 
as IDataProviderModel;
+                       host.addEventListener("itemsCreated", 
itemsCreatedHandler);
+                       listModel.addEventListener("dataProviderChanged", 
dataProviderChangeHandler);
+                       
+                       super.beadsAddedHandler(event);
+               }
                
                /**
-                *  The border surrounding the org.apache.flex.html.List.
-                *
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion FlexJS 0.0
+                * @private
                 */
-        public function get border():Border
-        {
-            return _border;
-        }
+               protected function itemsCreatedHandler(event:Event):void
+               {
+                       performLayout(event);
+               }
                
                /**
-                *  The area holding the itemRenderers.
-                *
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion FlexJS 0.0
+                * @private
                 */
-               public function get dataGroup():IItemRendererParent
+               protected function dataProviderChangeHandler(event:Event):void
                {
-                       (contentView as UIBase).className = "ListDataGroup";
-                       return contentView as IItemRendererParent;
+                       performLayout(event);
                }
-                               
+       }
+       
+       COMPILE::SWF
+       public class DataContainerView extends ContainerView implements 
IListView
+       {
+               public function DataContainerView()
+               {
+                       super();
+               }
+                                               
+               protected var listModel:IDataProviderModel;
+               
                /**
                 * @private
                 */
-               override public function get resizableView():IUIBase
+               override public function get host():IUIBase
                {
                        return _strand as IUIBase;
                }
-        
-        /**
-         * @private
-         */
-        override public function get host():IUIBase
-        {
-            return _strand as IUIBase;
-        }
-                       
+               
                /**
                 *  @copy org.apache.flex.core.IBead#strand
                 *  
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion FlexJS 0.0
+                *  @productversion FlexJS 0.8
                 */
                override public function set strand(value:IStrand):void
                {
@@ -127,22 +134,38 @@ package org.apache.flex.html.beads
                        
                        // list is not interested in UI children, it wants to 
know when new items
                        // have been added or the dataProvider has changed.
-                       COMPILE::SWF {
                        host.removeEventListener("childrenAdded", 
childrenChangedHandler);
                        host.removeEventListener("childrenAdded", 
performLayout);
                        host.addEventListener("itemsCreated", 
itemsCreatedHandler);
-                       }
                        
                        listModel = _strand.getBeadByType(IDataProviderModel) 
as IDataProviderModel;
                        listModel.addEventListener("dataProviderChanged", 
dataProviderChangeHandler);
                }
                
-               protected var lastSelectedIndex:int = -1;
+               /**
+                *  The area holding the itemRenderers.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.8
+                */
+               public function get dataGroup():IItemRendererParent
+               {
+                       return (_strand as IList).dataGroup;
+               }
+                               
+               /**
+                * @private
+                */
+               override public function get resizableView():IUIBase
+               {
+                       return _strand as IUIBase;
+               }
                
                /**
                 * @private
                 */
-               COMPILE::SWF
                protected function itemsCreatedHandler(event:Event):void
                {
                        performLayout(event);
@@ -164,7 +187,6 @@ package org.apache.flex.html.beads
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-               COMPILE::SWF
                override protected function resizeHandler(event:Event):void
                {
                        super.resizeHandler(event);

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f8a71b2e/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
index d663a32..89877ab 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
@@ -23,13 +23,16 @@ package org.apache.flex.html.beads
        import org.apache.flex.core.IBeadModel;
        import org.apache.flex.core.IBeadView;
        import org.apache.flex.core.IStrand;
+       import org.apache.flex.core.SimpleCSSStyles;
        import org.apache.flex.core.UIBase;
        import org.apache.flex.core.ValuesManager;
        import org.apache.flex.events.Event;
        import org.apache.flex.events.IEventDispatcher;
        import org.apache.flex.html.Container;
+       import org.apache.flex.html.Group;
        import org.apache.flex.html.List;
        import org.apache.flex.html.TextButton;
+       import org.apache.flex.html.beads.GroupView;
        import org.apache.flex.html.beads.layouts.HorizontalLayout;
        import org.apache.flex.html.beads.layouts.TileLayout;
        import org.apache.flex.html.beads.models.DateChooserModel;
@@ -44,7 +47,7 @@ package org.apache.flex.html.beads
         * of the month.
         *  @viewbead    
         */
-       public class DateChooserView extends BeadViewBase implements IBeadView
+       public class DateChooserView extends GroupView implements IBeadView
        {
                /**
                 *  constructor
@@ -56,6 +59,7 @@ package org.apache.flex.html.beads
                 */
                public function DateChooserView()
                {
+                       super();
                }
                
                override public function set strand(value:IStrand):void
@@ -69,12 +73,8 @@ package org.apache.flex.html.beads
                        
model.addEventListener("displayedMonthChanged",handleModelChange);
                        
model.addEventListener("displayedYearChanged",handleModelChange);
                        
-                       var host:UIBase = value as UIBase;
-                       host.addEventListener("widthChanged", handleSizeChange);
-                       host.addEventListener("heightChanged", 
handleSizeChange);
-                       
                        createChildren();
-                       layoutContents();
+                       updateDisplay();
                }
                
                private var model:DateChooserModel;
@@ -82,6 +82,7 @@ package org.apache.flex.html.beads
                private var _prevMonthButton:DateHeaderButton;
                private var _nextMonthButton:DateHeaderButton;
                private var monthLabel:DateHeaderButton;
+               private var monthButtonsContainer:Group;
                private var dayNamesContainer:DateChooserHeader;
                private var daysContainer:DateChooserList;
                
@@ -116,79 +117,100 @@ package org.apache.flex.html.beads
                        return daysContainer;
                }
                
-               private function handleSizeChange(event:Event):void
-               {
-                       layoutContents();
-               }
-               
                
                /**
                 * @private
                 */
                private function createChildren():void
                {
+                       // HEADER BUTTONS
+                       
+                       monthButtonsContainer = new Group();
+                       monthButtonsContainer.id = "DateChooserMonthButtons";
+                       monthButtonsContainer.className = 
"DateChooserMonthButtons";
+                       monthButtonsContainer.style = new SimpleCSSStyles();
+                       monthButtonsContainer.style.flexGrow = 0;
+                       COMPILE::JS {
+                               
monthButtonsContainer.element.style["flex-grow"] = "0";
+                       }
+                       
                        _prevMonthButton = new DateHeaderButton();
                        _prevMonthButton.width = 40;
-                       _prevMonthButton.height = 20;
                        _prevMonthButton.text = "<";
-                       UIBase(_strand).addElement(_prevMonthButton);
+                       if (_prevMonthButton.style == null) {
+                               _prevMonthButton.style = new SimpleCSSStyles();
+                       }
+                       _prevMonthButton.style.flexGrow = 0;
+                       COMPILE::JS {
+                               _prevMonthButton.element.style["flex-grow"] = 
"0";
+                       }
+                       monthButtonsContainer.addElement(_prevMonthButton);
+                       
+                       monthLabel = new DateHeaderButton();
+                       monthLabel.text = "Month Here";
+                       if (monthLabel.style == null) {
+                               monthLabel.style = new SimpleCSSStyles();
+                       }
+                       monthLabel.style.flexGrow = 1;
+                       COMPILE::JS {
+                               monthLabel.element.style["flex-grow"] = "1";
+                       }
+                       monthButtonsContainer.addElement(monthLabel);
                        
                        _nextMonthButton = new DateHeaderButton();
                        _nextMonthButton.width = 40;
-                       _nextMonthButton.height = 20;
                        _nextMonthButton.text = ">";
-                       UIBase(_strand).addElement(_nextMonthButton);
+                       if (_nextMonthButton.style == null) {
+                               _nextMonthButton.style = new SimpleCSSStyles();
+                       }
+                       COMPILE::JS {
+                               _nextMonthButton.element.style["flex-grow"] = 
"0";
+                       }
+                       _nextMonthButton.style.flexGrow = 0;
+                       monthButtonsContainer.addElement(_nextMonthButton);
                        
-                       monthLabel = new DateHeaderButton();
-                       monthLabel.text = "Month Here";
-                       monthLabel.width = 100;
-                       monthLabel.height = 20;
-                       UIBase(_strand).addElement(monthLabel);
+                       UIBase(_strand).addElement(monthButtonsContainer, 
false);
+                       
+                       // DAY NAMES
                        
                        dayNamesContainer = new DateChooserHeader();
+                       dayNamesContainer.id = "DateChooserDayNames";
+                       dayNamesContainer.percentWidth = 100;
+                       dayNamesContainer.style = new SimpleCSSStyles();
+                       dayNamesContainer.style.flexGrow = 0;
+                       COMPILE::JS {
+                               dayNamesContainer.element.style["flex-grow"] = 
"0";
+                       }
                        UIBase(_strand).addElement(dayNamesContainer, false);
                        
+                       // DAYS
+                       
                        daysContainer = new DateChooserList();
+                       daysContainer.id = "DateChooserList";
+                       daysContainer.percentWidth = 100;
+                       daysContainer.style = new SimpleCSSStyles();
+                       daysContainer.style.flexGrow = 1;
+                       COMPILE::JS {
+                               daysContainer.element.style["flex-grow"] = "1";
+                       }
                        UIBase(_strand).addElement(daysContainer, false);
                        
-                       IEventDispatcher(daysContainer).dispatchEvent( new 
Event("itemsCreated") );
                        
+                       IEventDispatcher(daysContainer).dispatchEvent( new 
Event("itemsCreated") );
                        model.addEventListener("selectedDateChanged", 
selectionChangeHandler);
                }
                
-               private function layoutContents():void
+               /**
+                * @private
+                */
+               private function updateDisplay():void
                {
-                       var sw:Number = UIBase(_strand).width;
-                       var sh:Number = UIBase(_strand).height;
-                       
-                       _prevMonthButton.x = 0;
-                       _prevMonthButton.y = 0;
-                       
-                       _nextMonthButton.x = sw - _nextMonthButton.width;
-                       _nextMonthButton.y = 0;
-                       
-                       monthLabel.x = _prevMonthButton.x + 
_prevMonthButton.width;
-                       monthLabel.y = 0;
-                       monthLabel.width = sw - _prevMonthButton.width - 
_nextMonthButton.width;
                        monthLabel.text = 
model.monthNames[model.displayedMonth] + " " +
                                String(model.displayedYear);
                        
-                       dayNamesContainer.x = 0;
-                       dayNamesContainer.y = monthLabel.y + monthLabel.height;
-                       dayNamesContainer.width = sw;
-                       dayNamesContainer.height = monthLabel.height;
-                       
                        dayNamesContainer.dataProvider = model.dayNames;
                        
-                       daysContainer.x = 0;
-                       daysContainer.y = dayNamesContainer.y + 
dayNamesContainer.height;
-                       daysContainer.width = sw;
-                       daysContainer.height = sh - monthLabel.height - 
dayNamesContainer.height;
-                       
                        daysContainer.dataProvider = model.days;
-                       
-                       IEventDispatcher(_strand).dispatchEvent( new 
Event("layoutNeeded") );
-                       IEventDispatcher(daysContainer).dispatchEvent( new 
Event("layoutNeeded") );
                }
                
                /**
@@ -196,7 +218,7 @@ package org.apache.flex.html.beads
                 */
                private function selectionChangeHandler(event:Event):void
                {
-                       layoutContents();
+                       updateDisplay();
                        
                        var index:Number = model.getIndexForSelectedDate();
                        daysContainer.selectedIndex = index;
@@ -207,7 +229,7 @@ package org.apache.flex.html.beads
                 */
                private function handleModelChange(event:Event):void
                {
-                       layoutContents();
+                       updateDisplay();
                }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f8a71b2e/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
index 6f7a1bc..f27d388 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
@@ -126,21 +126,6 @@ package org.apache.flex.html.beads
                }
                                                
                protected var listModel:ISelectionModel;
-               
-               private var _border:Border;
-               
-               /**
-                *  The border surrounding the org.apache.flex.html.List.
-                *
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion FlexJS 0.0
-                */
-        public function get border():Border
-        {
-            return _border;
-        }
         
         /**
          * @private

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f8a71b2e/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as
index 03a34a7..227a720 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as
@@ -140,6 +140,8 @@ package org.apache.flex.html.beads.layouts
                                var marginBottom:Object;
                                var margin:Object;
                                
+                               trace("HorizontalFlexLayout for 
"+UIBase(host).id+" with remainingWidth: "+remainingWidth);
+                               
                                // First pass determines the data about the 
child.
                                for(var i:int=0; i < n; i++)
                                {
@@ -173,6 +175,7 @@ package org.apache.flex.html.beads.layouts
                                                else if 
(!isNaN(ilc.percentWidth)) useWidth = contentView.width * 
(ilc.percentWidth/100.0);
                                                else useWidth = ilc.width;
                                        }
+                                       if (growValue == 0 && useWidth > 0) 
remainingWidth -= useWidth;
                                        
                                        margin = 
ValuesManager.valuesImpl.getValue(child, "margin");
                                        marginLeft = 
ValuesManager.valuesImpl.getValue(child, "margin-left");

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f8a71b2e/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
index f80ddf7..574b9b8 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
@@ -139,6 +139,8 @@ package org.apache.flex.html.beads.layouts
                                var marginBottom:Object;
                                var margin:Object;
                                
+                               trace("VerticalFlexLayout for 
"+UIBase(host).id+" with remainingHeight: "+remainingHeight);
+                               
                                // First pass determines the data about the 
child.
                                for(var i:int=0; i < n; i++)
                                {
@@ -172,6 +174,7 @@ package org.apache.flex.html.beads.layouts
                                                else if 
(!isNaN(ilc.percentHeight)) useHeight = contentView.height * 
(ilc.percentHeight/100.0);
                                                else useHeight = ilc.height;
                                        }
+                                       if (growValue == 0 && useHeight > 0) 
remainingHeight -= useHeight;
                                        
                                        margin = 
ValuesManager.valuesImpl.getValue(child, "margin");
                                        marginLeft = 
ValuesManager.valuesImpl.getValue(child, "margin-left");

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f8a71b2e/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
index 775a140..0fde1c9 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
@@ -19,7 +19,7 @@
 package org.apache.flex.html.supportClasses
 {
        import org.apache.flex.html.DataContainer;
-       import org.apache.flex.html.beads.layouts.TileLayout;
+       import org.apache.flex.html.beads.layouts.HorizontalFlexLayout;
        
        /**
         *  The DateChooserHeader is the container for the days of the week 
labels
@@ -44,15 +44,14 @@ package org.apache.flex.html.supportClasses
                {
                        super();
                        
-                       tileLayout = new TileLayout();
-                       tileLayout.numColumns = 7;
-                       addBead(tileLayout);
+                       myLayout = new HorizontalFlexLayout();
+                       addBead(myLayout);
                }
                
                /**
                 * @private
                 */
-               private var tileLayout:TileLayout;
+               private var myLayout:HorizontalFlexLayout;
                
                /**
                 * @private
@@ -60,7 +59,6 @@ package org.apache.flex.html.supportClasses
                override public function set height(value:Number):void
                {
                        super.height = value;
-                       tileLayout.rowHeight = value;
                }
        }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f8a71b2e/frameworks/projects/HTML/src/main/resources/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/resources/defaults.css 
b/frameworks/projects/HTML/src/main/resources/defaults.css
index fecb548..81face4 100644
--- a/frameworks/projects/HTML/src/main/resources/defaults.css
+++ b/frameworks/projects/HTML/src/main/resources/defaults.css
@@ -214,10 +214,11 @@ DataGridColumnList {
 
 DateChooser {
        IBeadView:   
ClassReference("org.apache.flex.html.beads.DateChooserView");
-       IBeadModel:  
ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
+       IBeadModel:  
ClassReference("org.apache.flex.html.beads.models.DateChooserModel");           
           
+       IBeadLayout: 
ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");   
        IBeadController: 
ClassReference("org.apache.flex.html.beads.controllers.DateChooserMouseController");
        width:  280px;
-       height: 230px;
+       height: 240px;
 }
 
 DateChooserList {
@@ -231,13 +232,19 @@ DateChooserList {
 }
 
 DateChooserHeader {    
-       IItemRenderer: 
ClassReference("org.apache.flex.html.supportClasses.DayNameItemRenderer");      
         
+       IItemRenderer: 
ClassReference("org.apache.flex.html.supportClasses.DayNameItemRenderer");
+       height: 20px;
        border-style: solid;
        border-color: #000000;
        border-width: 1px;
        background-color: #FFFFFF;
 }
 
+.DateChooserMonthButtons {                             
+       IBeadLayout: 
ClassReference("org.apache.flex.html.beads.layouts.HorizontalFlexLayout"); 
+       height: 20px;
+}
+
 DateItemRenderer
 {
        IBeadController: 
ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");

Reply via email to