http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as
new file mode 100644
index 0000000..7366677
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as
@@ -0,0 +1,244 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       import org.apache.flex.collections.ArrayList;
+       import org.apache.flex.core.IRollOverModel;
+       import org.apache.flex.core.ISelectionModel;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+                       
+    /**
+     *  The ArrayListSelectionModel class is a selection model for
+     *  a dataProvider that is an ArrayList. It assumes that items
+     *  can be fetched from the dataProvider using 
dataProvider.getItemAt(index).
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+       public class ArrayListSelectionModel extends EventDispatcher implements 
ISelectionModel, IRollOverModel
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function ArrayListSelectionModel()
+               {
+               }
+
+               private var _strand:IStrand;
+               
+        /**
+         *  @copy org.apache.flex.core.IBead#strand
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function set strand(value:IStrand):void
+               {
+                       _strand = value;
+               }
+               
+               private var _dataProvider:ArrayList;
+        
+        /**
+         *  @copy org.apache.flex.core.ISelectionModel#dataProvider
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get dataProvider():Object
+               {
+                       return _dataProvider;
+               }
+
+        /**
+         *  @private
+         */
+               public function set dataProvider(value:Object):void
+               {
+            if (value === _dataProvider) return;
+            
+            _dataProvider = value as ArrayList;
+            if (_selectedIndex != -1)
+                _selectedItem = (_dataProvider == null || _selectedIndex >= 
_dataProvider.length) ? null : 
+                    _dataProvider.getItemAt(_selectedIndex);
+                       dispatchEvent(new Event("dataProviderChanged"));
+               }
+
+               private var _selectedIndex:int = -1;
+               private var _rollOverIndex:int = -1;
+               private var _labelField:String = null;
+               
+        /**
+         *  @copy org.apache.flex.core.ISelectionModel#labelField
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get labelField():String
+               {
+                       return _labelField;
+               }
+
+        /**
+         *  @private
+         */
+               public function set labelField(value:String):void
+               {
+                       if (value != _labelField) {
+                               _labelField = value;
+                               dispatchEvent(new Event("labelFieldChanged"));
+                       }
+               }
+               
+        /**
+         *  @copy org.apache.flex.core.ISelectionModel#selectedIndex
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get selectedIndex():int
+               {
+                       return _selectedIndex;
+               }
+
+        /**
+         *  @private
+         */
+               public function set selectedIndex(value:int):void
+               {
+            if (value === _selectedIndex) return;
+            
+                       _selectedIndex = value;
+                       _selectedItem = (value == -1 || _dataProvider == null) 
? null : (value < _dataProvider.length) ? _dataProvider.getItemAt(value) : null;
+                       dispatchEvent(new Event("selectedIndexChanged"));       
                
+               }
+               
+        /**
+         *  @copy org.apache.flex.core.IRollOverModel#rollOverIndex
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get rollOverIndex():int
+               {
+                       return _rollOverIndex;
+               }
+
+        /**
+         *  @private
+         */
+               public function set rollOverIndex(value:int):void
+               {
+                       if (value != _rollOverIndex) {
+                               _rollOverIndex = value;
+                               dispatchEvent(new 
Event("rollOverIndexChanged"));
+                       }
+               }
+               
+               private var _selectedItem:Object;
+               
+        /**
+         *  @copy org.apache.flex.core.ISelectionModel#selectedItem
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get selectedItem():Object
+               {
+                       return _selectedItem;
+               }
+
+        /**
+         *  @private
+         */
+               public function set selectedItem(value:Object):void
+               {
+            if (value === _selectedItem) return;
+            
+                       _selectedItem = value;  
+                       var n:int = _dataProvider.length;
+                       for (var i:int = 0; i < n; i++)
+                       {
+                               if (_dataProvider.getItemAt(i) == value)
+                               {
+                                       _selectedIndex = i;
+                                       break;
+                               }
+                       }
+                       dispatchEvent(new Event("selectedItemChanged"));        
                
+                       dispatchEvent(new Event("selectedIndexChanged"));
+               }
+               
+               private var _selectedString:String;
+               
+        /**
+         *  An alternative to selectedItem for strongly typing the
+         *  the selectedItem if the Array is an Array of Strings.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get selectedString():String
+               {
+                       return String(_selectedItem);
+               }
+
+        /**
+         *  @private
+         */
+               public function set selectedString(value:String):void
+               {
+                       _selectedString = value;
+                       var n:int = _dataProvider.length;
+                       for (var i:int = 0; i < n; i++)
+                       {
+                               if (String(_dataProvider.getItemAt(i)) == value)
+                               {
+                                       _selectedIndex = i;
+                                       break;
+                               }
+                       }
+                       dispatchEvent(new Event("selectedItemChanged"));        
                
+                       dispatchEvent(new Event("selectedIndexChanged"));       
                
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as
new file mode 100644
index 0000000..a6c0a31
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as
@@ -0,0 +1,243 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       import org.apache.flex.core.IRollOverModel;
+       import org.apache.flex.core.ISelectionModel;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+                       
+    /**
+     *  The ArraySelectionModel class is a selection model for
+     *  a dataProvider that is an array. It assumes that items
+     *  can be fetched from the dataProvider
+     *  dataProvider[index].  Other selection models
+     *  would support other kinds of data providers.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+       public class ArraySelectionModel extends EventDispatcher implements 
ISelectionModel, IRollOverModel
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function ArraySelectionModel()
+               {
+               }
+
+               private var _strand:IStrand;
+               
+        /**
+         *  @copy org.apache.flex.core.IBead#strand
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function set strand(value:IStrand):void
+               {
+                       _strand = value;
+               }
+               
+               private var _dataProvider:Object;
+        
+        /**
+         *  @copy org.apache.flex.core.ISelectionModel#dataProvider
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get dataProvider():Object
+               {
+                       return _dataProvider;
+               }
+
+        /**
+         *  @private
+         */
+               public function set dataProvider(value:Object):void
+               {
+            if (value === _dataProvider) return;
+            
+            _dataProvider = value;
+            if (_selectedIndex != -1)
+                _selectedItem = (_dataProvider == null || _selectedIndex >= 
_dataProvider.length) ? null : 
+                    _dataProvider[_selectedIndex];
+                       dispatchEvent(new Event("dataProviderChanged"));
+               }
+
+               private var _selectedIndex:int = -1;
+               private var _rollOverIndex:int = -1;
+               private var _labelField:String = null;
+               
+        /**
+         *  @copy org.apache.flex.core.ISelectionModel#labelField
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get labelField():String
+               {
+                       return _labelField;
+               }
+
+        /**
+         *  @private
+         */
+               public function set labelField(value:String):void
+               {
+                       if (value != _labelField) {
+                               _labelField = value;
+                               dispatchEvent(new Event("labelFieldChanged"));
+                       }
+               }
+               
+        /**
+         *  @copy org.apache.flex.core.ISelectionModel#selectedIndex
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get selectedIndex():int
+               {
+                       return _selectedIndex;
+               }
+
+        /**
+         *  @private
+         */
+               public function set selectedIndex(value:int):void
+               {
+            if (value === _selectedIndex) return;
+            
+                       _selectedIndex = value;
+                       _selectedItem = (value == -1 || _dataProvider == null) 
? null : (value < _dataProvider.length) ? _dataProvider[value] : null;
+                       dispatchEvent(new Event("selectedIndexChanged"));       
                
+               }
+               
+        /**
+         *  @copy org.apache.flex.core.IRollOverModel#rollOverIndex
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get rollOverIndex():int
+               {
+                       return _rollOverIndex;
+               }
+
+        /**
+         *  @private
+         */
+               public function set rollOverIndex(value:int):void
+               {
+                       _rollOverIndex = value;
+                       dispatchEvent(new Event("rollOverIndexChanged"));       
                
+               }
+               
+               private var _selectedItem:Object;
+               
+        /**
+         *  @copy org.apache.flex.core.ISelectionModel#selectedItem
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get selectedItem():Object
+               {
+                       return _selectedItem;
+               }
+
+        /**
+         *  @private
+         */
+               public function set selectedItem(value:Object):void
+               {
+            if (value === _selectedItem) return;
+            
+                       _selectedItem = value;  
+                       var n:int = _dataProvider.length;
+                       for (var i:int = 0; i < n; i++)
+                       {
+                               if (_dataProvider[i] == value)
+                               {
+                                       _selectedIndex = i;
+                                       break;
+                               }
+                       }
+                       dispatchEvent(new Event("selectedItemChanged"));        
                
+                       dispatchEvent(new Event("selectedIndexChanged"));
+               }
+               
+               private var _selectedString:String;
+               
+        /**
+         *  An alternative to selectedItem for strongly typing the
+         *  the selectedItem if the Array is an Array of Strings.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get selectedString():String
+               {
+                       return String(_selectedItem);
+               }
+
+        /**
+         *  @private
+         */
+               public function set selectedString(value:String):void
+               {
+                       _selectedString = value;
+                       var n:int = _dataProvider.length;
+                       for (var i:int = 0; i < n; i++)
+                       {
+                               if (String(_dataProvider[i]) == value)
+                               {
+                                       _selectedIndex = i;
+                                       break;
+                               }
+                       }
+                       dispatchEvent(new Event("selectedItemChanged"));        
                
+                       dispatchEvent(new Event("selectedIndexChanged"));       
                
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ComboBoxModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ComboBoxModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ComboBoxModel.as
new file mode 100644
index 0000000..35a60a8
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ComboBoxModel.as
@@ -0,0 +1,100 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       import org.apache.flex.core.IBead;
+       import org.apache.flex.core.IComboBoxModel;
+       import org.apache.flex.events.Event;
+                       
+       /**
+        *  The ComboBoxModel class bead extends 
org.apache.flex.html.beads.models.ArraySelectionModel 
+        *  and adds the text being displayed by the 
org.apache.flex.html.ComboBox's input field.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class ComboBoxModel extends ArraySelectionModel implements 
IBead, IComboBoxModel
+       {
+               /**
+                *  constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function ComboBoxModel()
+               {
+               }
+
+               private var _text:String;
+               
+               /**
+                *  The string to display in the org.apache.flex.html.ComboBox 
input field.
+                * 
+                *  @copy org.apache.flex.core.IComboBoxModel#text
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get text():String
+               {
+                       return _text;
+               }
+               
+               public function set text(value:String):void
+               {
+                       if (value != _text)
+                       {
+                               _text = value;
+                               dispatchEvent(new Event("textChange"));
+                       }
+               }
+               
+               private var _html:String;
+               
+               /**
+                *  The HTML string to display in the 
org.apache.flex.html.ComboBox input field.
+                * 
+                *  @copy org.apache.flex.core.IComboBoxModel#html
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get html():String
+               {
+                       return _html;
+               }
+               
+               public function set html(value:String):void
+               {
+                       if (value != _html)
+                       {
+                               _html = value;
+                               dispatchEvent(new Event("htmlChange"));
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridModel.as
new file mode 100644
index 0000000..531edac
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridModel.as
@@ -0,0 +1,71 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       import org.apache.flex.core.IDataGridModel;
+       import org.apache.flex.events.Event;
+       
+       /**
+        *  The DataGridModel class bead extends 
org.apache.flex.html.beads.models.ArrayListSelectionModel 
+        *  to facilitate using an ArrayList as the dataProvider for the 
DataGrid.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class DataGridModel extends ArrayListSelectionModel implements 
IDataGridModel
+       {
+               /**
+                *  constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function DataGridModel()
+               {
+                       super();
+               }
+               
+               private var _columns:Array;
+               
+               /**
+                *  The array of 
org.apache.flex.html.supportClasses.DataGridColumns used to 
+                *  define each column of the org.apache.flex.html.DataGrid.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get columns():Array
+               {
+                       return _columns;
+               }
+               public function set columns(value:Array):void
+               {
+                       if (_columns != value) {
+                               _columns = value;
+                               dispatchEvent( new Event("columnsChanged"));
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridPresentationModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridPresentationModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridPresentationModel.as
new file mode 100644
index 0000000..0a00edb
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridPresentationModel.as
@@ -0,0 +1,88 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       import org.apache.flex.core.IDataGridPresentationModel;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.events.Event;
+       
+       /**
+        *  The DataGridPresentationModel class contains the data to label the 
columns
+        *  of the org.apache.flex.html.DataGrid along with the height of the 
rows. 
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class DataGridPresentationModel extends ListPresentationModel 
implements IDataGridPresentationModel
+       {
+               /**
+                *  constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function DataGridPresentationModel()
+               {
+                       super();
+                       
+                       separatorThickness = 1;
+               }
+               
+               private var _columnLabels:Array;
+               
+               /**
+                *  The labels for each column.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get columnLabels():Array
+               {
+                       return _columnLabels;
+               }
+               public function set columnLabels(value:Array):void
+               {
+                       if (value != _columnLabels) {
+                               _columnLabels = value;
+                               dispatchEvent(new Event("columnsChanged"));
+                       }
+               }
+               
+               private var _strand:IStrand;
+               
+               /**
+                *  @copy org.apache.flex.core.IBead#strand
+                *  
+                *  @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;
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
new file mode 100644
index 0000000..4b6fc18
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
@@ -0,0 +1,189 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{      
+       import org.apache.flex.core.IDateChooserModel;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+       
+       /**
+        *  The DateChooserModel is a bead class that manages the data for a 
DataChooser. 
+        *  This includes arrays of names for the months and days of the week 
as well the
+        *  currently selected date.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class DateChooserModel extends EventDispatcher implements 
IDateChooserModel
+       {
+               public function DateChooserModel()
+               {
+                       // default displayed year and month to "today"
+                       var today:Date = new Date();
+                       displayedYear = today.getFullYear();
+                       displayedMonth = today.getMonth();
+               }
+               
+               private var _strand:IStrand;
+               
+               /**
+                *  @copy org.apache.flex.core.IBead#strand
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function set strand(value:IStrand):void
+               {
+                       _strand = value;
+               }
+               
+               private var _dayNames:Array   = 
["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
+               private var _monthNames:Array = 
["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
+               private var _displayedYear:Number;
+               private var _displayedMonth:Number;
+               private var _firstDayOfWeek:Number = 0;
+               private var _selectedDate:Date;
+               
+               /**
+                *  An array of strings used to name the days of the week with 
Sunday being the
+                *  first element of the array.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get dayNames():Array
+               {
+                       return _dayNames;
+               }
+               public function set dayNames(value:Array):void
+               {
+                       _dayNames = value;
+                       dispatchEvent( new Event("dayNamesChanged") );
+               }
+               
+               /**
+                *  An array of strings used to name the months of the year 
with January being
+                *  the first element of the array.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get monthNames():Array
+               {
+                       return _monthNames;
+               }
+               public function set monthNames(value:Array):void
+               {
+                       _monthNames = value;
+                       dispatchEvent( new Event("monthNames") );
+               }
+               
+               /**
+                *  The year currently displayed by the DateChooser.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get displayedYear():Number
+               {
+                       return _displayedYear;
+               }
+               public function set displayedYear(value:Number):void
+               {
+                       if (value != _displayedYear) {
+                               _displayedYear = value;
+                               dispatchEvent( new 
Event("displayedYearChanged") );
+                       }
+               }
+               
+               /**
+                *  The month currently displayed by the DateChooser.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get displayedMonth():Number
+               {
+                       return _displayedMonth;
+               }
+               public function set displayedMonth(value:Number):void
+               {
+                       if (_displayedMonth != value) {
+                               _displayedMonth = value;
+                               dispatchEvent( new 
Event("displayedMonthChanged") );
+                       }
+               }
+               
+               /**
+                *  The index of the first day of the week, Sunday = 0.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get firstDayOfWeek():Number
+               {
+                       return _firstDayOfWeek;
+               }
+               public function set firstDayOfWeek(value:Number):void
+               {
+                       if (value != _firstDayOfWeek) {
+                               _firstDayOfWeek = value;
+                               dispatchEvent( new 
Event("firstDayOfWeekChanged") );
+                       }
+               }
+               
+               /**
+                *  The currently selected date or null if no date has been 
selected.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get selectedDate():Date
+               {
+                       return _selectedDate;
+               }
+               public function set selectedDate(value:Date):void
+               {
+                       if (value != _selectedDate) {
+                               _selectedDate = value;
+                               dispatchEvent( new Event("selectedDateChanged") 
);
+                               
+                               displayedMonth = value.getMonth();
+                               displayedYear  = value.getFullYear();
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageAndTextModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageAndTextModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageAndTextModel.as
new file mode 100644
index 0000000..01dd3e9
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageAndTextModel.as
@@ -0,0 +1,77 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{      
+       import org.apache.flex.core.IBead;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.core.ITextModel;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+       import org.apache.flex.events.IEventDispatcher;
+               
+    /**
+     *  The ImageAndTextModel class is associates and image
+     *  with some text. 
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+       public class ImageAndTextModel extends TextModel
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function ImageAndTextModel()
+               {
+               }
+               
+
+        private var _image:String;
+        
+        /**
+         *  The URL of an icon to use in the button
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get image():String
+        {
+            return _image;
+        }
+        
+        /**
+         *  @private
+         */
+        public function set image(value:String):void
+        {
+            _image = value;
+            dispatchEvent(new Event("imageChange"));
+        }
+        
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
new file mode 100644
index 0000000..7742c2b
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
@@ -0,0 +1,89 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       import org.apache.flex.core.IImageModel;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+       
+       /**
+        *  The ImageModel class bead defines the data associated with an 
org.apache.flex.html.Image
+        *  component, namely the source of the image.
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class ImageModel extends EventDispatcher implements IImageModel
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function ImageModel()
+               {
+                       super();
+               }
+               
+               private var _strand:IStrand;
+               
+               /**
+                *  @copy org.apache.flex.core.IBead#strand
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function set strand(value:IStrand):void
+               {
+                       _strand = value;
+               }
+               
+               private var _source:String;
+               
+               /**
+                *  The source of the image.
+                * 
+                *  @copy org.apache.flex.core.IImageModel#source
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get source():String
+               {
+                       return _source;
+               }
+               public function set source(value:String):void
+               {
+                       if (value != _source) {
+                               _source = value;
+                               dispatchEvent( new Event("urlChanged") );
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ListPresentationModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ListPresentationModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ListPresentationModel.as
new file mode 100644
index 0000000..897d8d6
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ListPresentationModel.as
@@ -0,0 +1,107 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       import org.apache.flex.core.IListPresentationModel;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+       
+       /**
+        *  The ListPresentationModel holds values used by list controls for 
presenting
+        *  their user interfaces.
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class ListPresentationModel extends EventDispatcher implements 
IListPresentationModel
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function ListPresentationModel()
+               {
+                       super();
+               }
+               
+               private var _rowHeight:Number = 30;
+               
+               /**
+                *  The height of each row.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get rowHeight():Number
+               {
+                       return _rowHeight;
+               }
+               
+               public function set rowHeight(value:Number):void
+               {
+                       _rowHeight = value;
+                       dispatchEvent(new Event("rowHeightChanged"));
+               }
+               
+               private var _separatorThickness:Number = 0;
+               
+               /**
+                *  The distance between rows.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get separatorThickness():Number
+               {
+                       return _separatorThickness;
+               }
+               
+               public function set separatorThickness(value:Number):void
+               {
+                       _separatorThickness = value;
+                       dispatchEvent(new Event("separatorThicknessChanged"));
+               }
+               
+               private var _strand:IStrand;
+               
+               /**
+                *  @copy org.apache.flex.core.IBead#strand
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function set strand(value:IStrand):void
+               {
+                       _strand = value;
+               }
+       }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/PanelModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/PanelModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/PanelModel.as
new file mode 100644
index 0000000..5741fdd
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/PanelModel.as
@@ -0,0 +1,158 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       import org.apache.flex.core.IBead;
+       import org.apache.flex.core.IPanelModel;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+       
+       /**
+        *  The PanelModel bead class holds the values for a 
org.apache.flex.html.Panel, such as its
+        *  title.
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class PanelModel extends EventDispatcher implements IBead, 
IPanelModel
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function PanelModel()
+               {
+                       super();
+               }
+               
+               private var _strand:IStrand;
+               
+               /**
+                *  @copy org.apache.flex.core.IBead#strand
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function set strand(value:IStrand):void
+               {
+                       _strand = value;
+               }
+               
+        private var _controlBar:Array;
+        
+        /**
+         *  The items in the org.apache.flex.html.ControlBar. Setting this 
property automatically
+         *  causes the ControlBar to display if you are using a View bead that 
supports it.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get controlBar():Array
+        {
+            return _controlBar;
+        }
+        public function set controlBar(value:Array):void
+        {
+            _controlBar = value;
+        }
+
+        private var _title:String;
+               
+               /**
+                *  The title string for the org.apache.flex.html.Panel.
+                * 
+                *  @copy org.apache.flex.core.ITitleBarModel#title
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get title():String
+               {
+                       return _title;
+               }
+               public function set title(value:String):void
+               {
+                       if( value != _title ) {
+                               _title = value;
+                               dispatchEvent( new Event('titleChange') );
+                       }
+               }
+               
+               private var _htmlTitle:String;
+               
+               /**
+                *  The HTML string for the title.
+                * 
+                *  @copy org.apache.flex.core.ITitleBarModel#htmlTitle
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get htmlTitle():String
+               {
+                       return _htmlTitle;
+               }
+               public function set htmlTitle(value:String):void
+               {
+                       if( value != _htmlTitle ) {
+                               _htmlTitle = value;
+                               dispatchEvent( new Event('htmlTitleChange') );
+                       }
+               }
+               
+               private var _showCloseButton:Boolean = false;
+               
+               /**
+                *  Indicates whether or not there is a Close button for the 
org.apache.flex.html.Panel.
+                * 
+                *  @copy org.apache.flex.core.ITitleBarModel#showCloseButton
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get showCloseButton():Boolean
+               {
+                       return _showCloseButton;
+               }
+               public function set showCloseButton(value:Boolean):void
+               {
+                       if( value != _showCloseButton ) {
+                               _showCloseButton = value;
+                               dispatchEvent( new 
Event('showCloseButtonChange') );
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
new file mode 100644
index 0000000..5e46e41
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
@@ -0,0 +1,222 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       import org.apache.flex.core.IBead;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.core.IRangeModel;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+                       
+       /**
+        *  The RangeModel class bead defines a set of for a numeric range of 
values
+        *  which includes a minimum, maximum, and current value.
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class RangeModel extends EventDispatcher implements IBead, 
IRangeModel
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function RangeModel()
+               {
+               }
+               
+               private var _strand:IStrand;
+               
+               /**
+                *  @copy org.apache.flex.core.IBead#strand
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function set strand(value:IStrand):void
+               {
+                       _strand = value;
+               }
+
+               private var _maximum:Number = 100;
+               
+               /**
+                *  The maximum value for the range (defaults to 100).
+                * 
+                *  @copy org.apache.flex.core.IRangeModel#maximum
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get maximum():Number
+               {
+                       return _maximum;
+               }
+               
+               public function set maximum(value:Number):void
+               {
+                       if (value != _maximum)
+                       {
+                               _maximum = value;
+                               dispatchEvent(new Event("maximumChange"));
+                       }
+               }
+               
+               private var _minimum:Number = 0;
+               
+               /**
+                *  The minimum value for the range (defaults to 0).
+                * 
+                *  @copy org.apache.flex.core.IRangeModel#minimum
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get minimum():Number
+               {
+                       return _minimum;
+               }
+               
+               public function set minimum(value:Number):void
+               {
+                       if (value != _minimum)
+                       {
+                               _minimum = value;
+                               dispatchEvent(new Event("minimumChange"));
+                       }
+               }
+
+               private var _snapInterval:Number = 1;
+               
+               /**
+                *  The modulus value for the range. 
+                * 
+                *  @copy org.apache.flex.core.IRangeModel#snapInterval
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get snapInterval():Number
+               {
+                       return _snapInterval;
+               }
+               
+               public function set snapInterval(value:Number):void
+               {
+                       if (value != _snapInterval)
+                       {
+                               _snapInterval = value;
+                               dispatchEvent(new Event("snapIntervalChange"));
+                       }
+               }
+               
+               private var _stepSize:Number = 1;
+               
+               /**
+                *  The amount to adjust the value either up or down toward the 
edge of the range.
+                * 
+                *  @copy org.apache.flex.core.IRangeModel#stepSize
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get stepSize():Number
+               {
+                       return _stepSize;
+               }
+               
+               public function set stepSize(value:Number):void
+               {
+                       if (value != _stepSize)
+                       {
+                               _stepSize = value;
+                               dispatchEvent(new Event("stepSizeChange"));
+                       }
+               }
+               
+               private var _value:Number = 0;
+               
+               /**
+                *  The current value of the range, between the minimum and 
maximum values. Attempting
+                *  to set the value outside of the minimum-maximum range 
changes the value to still be
+                *  within the range. Note that the value is adjusted by the 
stepSize.
+                * 
+                *  @copy org.apache.flex.core.IRangeModel#value
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get value():Number
+               {
+                       return _value;
+               }
+               
+               public function set value(newValue:Number):void
+               {
+                       if (newValue != _value)
+                       {
+                               // value must lie within the boundaries of 
minimum & maximum
+                               // and be on a step interval, so the value is 
adjusted to 
+                               // what is coming in.
+                               newValue = Math.max(minimum, newValue - 
stepSize);
+                               newValue = Math.min(maximum, newValue + 
stepSize);
+                               _value = snap(newValue);
+                               dispatchEvent(new Event("valueChange"));
+                       }
+               }
+               
+               /**
+                * @private
+                */
+               protected function snap(value:Number):Number
+               {
+                       var si:Number = snapInterval;
+                       var n:Number = Math.round((value - minimum) / si) * si 
+ minimum;
+                       if (value > 0)
+                       {
+                               if (value - n < n + si - value)
+                                       return n;
+                               return n + si;
+                               
+                       }
+                       if (value - n > n + si - value)
+                               return n + si;
+                       return n;
+               }
+               
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ScrollBarModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ScrollBarModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ScrollBarModel.as
new file mode 100644
index 0000000..582df91
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ScrollBarModel.as
@@ -0,0 +1,98 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       
+       import org.apache.flex.core.IScrollBarModel;
+       import org.apache.flex.events.Event;
+               
+       /**
+        *  The ScrollBarModel class bead extends the 
org.apache.flex.html.beads.models.RangeModel 
+        *  and adds page size and page step sizes.
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class ScrollBarModel extends RangeModel implements 
IScrollBarModel
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function ScrollBarModel()
+               {
+               }
+               
+               private var _pageSize:Number;
+               
+               /**
+                *  The amount represented by the thumb control of the 
org.apache.flex.html.ScrollBar.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get pageSize():Number
+               {
+                       return _pageSize;
+               }
+               
+               public function set pageSize(value:Number):void
+               {
+                       if (value != _pageSize)
+                       {
+                               _pageSize = value;
+                               dispatchEvent(new Event("pageSizeChange"));
+                       }
+               }
+                               
+               private var _pageStepSize:Number;
+               
+               /**
+                *  The amount to adjust the org.apache.flex.html.ScrollBar if 
the scroll bar's 
+                *  track area is selected.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get pageStepSize():Number
+               {
+                       return _pageStepSize;
+               }
+               
+               public function set pageStepSize(value:Number):void
+               {
+                       if (value != _pageStepSize)
+                       {
+                               _pageStepSize = value;
+                               dispatchEvent(new Event("pageStepSizeChange"));
+                       }
+               }
+               
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/SingleLineBorderModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/SingleLineBorderModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/SingleLineBorderModel.as
new file mode 100644
index 0000000..99c3a0d
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/SingleLineBorderModel.as
@@ -0,0 +1,85 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       import flash.geom.Rectangle;
+       
+       import org.apache.flex.core.IBead;
+       import org.apache.flex.core.IBorderModel;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.events.EventDispatcher;
+               
+    /**
+     *  The SingleLineBorderModel class is a data model for
+     *  a single line border. This model is very simple,
+     *  it only stores the offsets from the edges of the
+     *  component.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+       public class SingleLineBorderModel extends EventDispatcher implements 
IBead, IBorderModel
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function SingleLineBorderModel()
+               {
+               }
+               
+               private var _strand:IStrand;
+               
+        /**
+         *  @copy org.apache.flex.core.IBead#strand
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function set strand(value:IStrand):void
+               {
+                       _strand = value;
+               }
+
+        static private var rect:Rectangle = new Rectangle(1, 1, 1, 1);
+        
+        /**
+         *  The offsets of the border from the edges of the
+         *  component.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get offsets():Rectangle
+        {
+            return rect;
+        }
+
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/StringSelectionModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/StringSelectionModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/StringSelectionModel.as
new file mode 100644
index 0000000..be3d7c8
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/StringSelectionModel.as
@@ -0,0 +1,221 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       
+       import org.apache.flex.core.ISelectionModel;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+               
+    /**
+     *  The StringSelectionModel class is a selection model for
+     *  selecting a single string from a vector of strings. 
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+       public class StringSelectionModel extends EventDispatcher implements 
ISelectionModel
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function StringSelectionModel()
+               {
+               }
+
+               private var _strand:IStrand;
+               
+        /**
+         *  @copy org.apache.flex.core.IBead#strand
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function set strand(value:IStrand):void
+               {
+                       _strand = value;
+               }
+               
+               private var _strings:Vector.<String>;
+
+        /**
+         *  The vector of strings.  This is the same
+         *  as the dataProvider property but is
+         *  strongly typed.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get strings():Vector.<String>
+               {
+                       return _strings;
+               }
+        
+        /**
+         *  @private
+         */
+               public function set strings(value:Vector.<String>):void
+               {
+                       _strings = value;
+                       dispatchEvent(new Event("dataProviderChanged"));
+               }
+
+        /**
+         *  The dataProvider, which is a
+         *  Vector.&lt;String&gt;.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get dataProvider():Object
+               {
+                       return _strings;
+               }
+
+        /**
+         *  @private
+         */
+               public function set dataProvider(value:Object):void
+               {
+                       _strings = value as Vector.<String>;
+                       dispatchEvent(new Event("dataProviderChanged"));
+               }
+
+               private var _selectedIndex:int = -1;
+               
+        /**
+         *  @copy org.apache.flex.core.ISelectionModel#selectedIndex
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get selectedIndex():int
+               {
+                       return _selectedIndex;
+               }
+
+        /**
+         *  @private
+         */
+               public function set selectedIndex(value:int):void
+               {
+                       _selectedIndex = value;
+                       _selectedString = (value == -1) ? null : (value < 
_strings.length) ? _strings[value] : null;
+                       dispatchEvent(new Event("selectedIndexChanged"));       
                
+               }
+               private var _selectedString:String;
+               
+        /**
+         *  @copy org.apache.flex.core.ISelectionModel#selectedItem
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get selectedItem():Object
+               {
+                       return _selectedString;
+               }
+        
+        /**
+         *  @private
+         */
+               public function set selectedItem(value:Object):void
+               {
+                       selectedString = String(value); 
+               }
+
+        /**
+         *  The selected string.  This is the same as the
+         *  selectedItem, but is strongly-typed.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get selectedString():String
+               {
+                       return _selectedString;
+               }
+        
+        /**
+         *  @private
+         */
+               public function set selectedString(value:String):void
+               {
+                       _selectedString = value;
+                       var n:int = _strings.length;
+                       for (var i:int = 0; i < n; i++)
+                       {
+                               if (_strings[i] == value)
+                               {
+                                       _selectedIndex = i;
+                                       break;
+                               }
+                       }
+                       dispatchEvent(new Event("selectedItemChanged"));        
                
+               }
+               
+               
+               private var _labelField:String;
+               
+        /**
+         *  The labelField, which is not used in this
+         *  implementation.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get labelField():String
+               {
+                       return _labelField;
+               }
+        
+        /**
+         *  @private
+         */
+               public function set labelField(value:String):void
+               {
+                       if (value != _labelField) {
+                               _labelField = value;
+                               dispatchEvent(new Event("labelFieldChanged"));
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TextModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TextModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TextModel.as
new file mode 100644
index 0000000..eaf2cf4
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TextModel.as
@@ -0,0 +1,125 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{      
+       import org.apache.flex.core.IBead;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.core.ITextModel;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+       import org.apache.flex.events.IEventDispatcher;
+               
+    /**
+     *  The TextModel class is most basic data model for a
+     *  component that displays text.  All FlexJS components
+     *  that display text should also support HTML, although
+     *  the Flash Player implementations may only support
+     *  a subset of HTML. 
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+       public class TextModel extends EventDispatcher implements IBead, 
ITextModel
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function TextModel()
+               {
+               }
+               
+               private var _strand:IStrand;
+               
+        /**
+         *  @copy org.apache.flex.core.IBead#strand
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function set strand(value:IStrand):void
+               {
+                       _strand = value;
+               }
+
+               private var _text:String;
+
+        /**
+         *  @copy org.apache.flex.core.ITextModel#text
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get text():String
+               {
+                       return _text;
+               }
+               
+        /**
+         *  @private
+         */
+               public function set text(value:String):void
+               {
+            if (value == null)
+                value = "";
+                       if (value != _text)
+                       {
+                               _text = value;
+                               dispatchEvent(new Event("textChange"));
+                       }
+               }
+               
+               private var _html:String;
+        
+        /**
+         *  @copy org.apache.flex.core.ITextModel#html
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get html():String
+               {
+                       return _html;
+               }
+               
+        /**
+         *  @private
+         */
+               public function set html(value:String):void
+               {
+                       if (value != _html)
+                       {
+                               _html = value;
+                               dispatchEvent(new Event("htmlChange"));
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TitleBarModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TitleBarModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TitleBarModel.as
new file mode 100644
index 0000000..d9f6ff2
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TitleBarModel.as
@@ -0,0 +1,136 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       import org.apache.flex.core.IBead;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.core.ITitleBarModel;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+       
+       /**
+        *  The TitleBarModel class bead holds the values for the 
org.apache.flex.html.TitleBar's 
+        *  properties.
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class TitleBarModel extends EventDispatcher implements IBead, 
ITitleBarModel
+       {
+               public function TitleBarModel()
+               {
+                       super();
+               }
+               
+               private var _strand:IStrand;
+               
+               /**
+                *  @copy org.apache.flex.core.IBead#strand
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function set strand(value:IStrand):void
+               {
+                       _strand = value;
+               }
+               
+               private var _title:String;
+               
+        [Bindable("titleChange")]
+               /**
+                *  The string title for the org.apache.flex.html.TitleBar.
+                * 
+                *  @copy org.apache.flex.core.ITitleBarModel#title
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get title():String
+               {
+                       return _title;
+               }
+               
+               public function set title(value:String):void
+               {
+                       if( value != _title ) {
+                               _title = value;
+                               dispatchEvent( new Event('titleChange') );
+                       }
+               }
+               
+               private var _htmlTitle:String;
+               
+        [Bindable("htmlTitleChange")]
+               /**
+                *  The HTML string for the title.
+                * 
+                *  @copy org.apache.flex.core.ITitleBarModel#htmlTitle
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get htmlTitle():String
+               {
+                       return _htmlTitle;
+               }
+               
+               public function set htmlTitle(value:String):void
+               {
+                       if( value != _htmlTitle ) {
+                               _htmlTitle = value;
+                               dispatchEvent( new Event('htmlTitleChange') );
+                       }
+               }
+               
+               private var _showCloseButton:Boolean = false;
+               
+        [Bindable("showCloseButtonChange")]
+               /**
+                *  Whether or not to show a close button.
+                * 
+                *  @copy org.apache.flex.core.ITitleBarModel#showCloseButton
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get showCloseButton():Boolean
+               {
+                       return _showCloseButton;
+               }
+               
+               public function set showCloseButton(value:Boolean):void
+               {
+                       if( value != _showCloseButton ) {
+                               _showCloseButton = value;
+                               dispatchEvent( new 
Event('showCloseButtonChange') );
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ToggleButtonModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ToggleButtonModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ToggleButtonModel.as
new file mode 100644
index 0000000..a4c1a91
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ToggleButtonModel.as
@@ -0,0 +1,145 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       import org.apache.flex.core.IBead;
+       import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.ITextModel;
+       import org.apache.flex.core.IToggleButtonModel;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+       
+       /**
+        *  The ToggleButtonModel class bead holds values for 
org.apache.flex.html.Buttons 
+        *  that have a state.
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class ToggleButtonModel extends EventDispatcher implements 
IBead, IToggleButtonModel, ITextModel
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function ToggleButtonModel()
+               {
+                       super();
+               }
+               
+               private var _strand:IStrand;
+               
+               /**
+                *  @copy org.apache.flex.core.IBead#strand
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function set strand(value:IStrand):void
+               {
+                       _strand = value;
+               }
+               
+               private var _text:String;
+               
+               /**
+                *  The text string for the org.apache.flex.html.Button's label.
+                * 
+                *  @copy org.apache.flex.core.IToggleButtonModel#text
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get text():String
+               {
+                       return _text;
+               }
+               
+               public function set text(value:String):void
+               {
+                       if (value != _text)
+                       {
+                               _text = value;
+                               dispatchEvent(new Event("textChange"));
+                       }
+               }
+               
+               private var _html:String;
+               
+               /**
+                *  The HTML string for the Button's label.
+                * 
+                *  @copy org.apache.flex.core.IToggleButtonModel#html
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get html():String
+               {
+                       return _html;
+               }
+               
+               public function set html(value:String):void
+               {
+                       if( value != html )
+                       {
+                               _html = value;
+                               dispatchEvent(new Event("htmlChange"));
+                       }
+               }
+               
+               private var _selected:Boolean;
+               
+               /**
+                *  Whether or not the org.apache.flex.html.Button is selected.
+                * 
+                *  @copy org.apache.flex.core.IToggleButtonModel#selected
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get selected():Boolean
+               {
+                       return _selected;
+               }
+               
+               public function set selected(value:Boolean):void
+               {
+                       if( value != _selected )
+                       {
+                               _selected = value;
+                               dispatchEvent(new Event("selectedChange"));
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ValueToggleButtonModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ValueToggleButtonModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ValueToggleButtonModel.as
new file mode 100644
index 0000000..27b0a95
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ValueToggleButtonModel.as
@@ -0,0 +1,123 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       
+       import org.apache.flex.core.IValueToggleButtonModel;
+       import org.apache.flex.events.Event;
+
+       /**
+        *  The ValueToggleButtonModel class bead extends the 
+        *  org.apache.flex.html.beads.models.ToggleButtonModel and adds
+        *  value intended to represent a collection of similar 
org.apache.flex.html.Buttons 
+        *  such as org.apache.flex.html.RadioButtons.
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class ValueToggleButtonModel extends ToggleButtonModel 
implements IValueToggleButtonModel
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function ValueToggleButtonModel()
+               {
+                       super();
+               }
+               
+               private var _value:Object;
+               
+               /**
+                *  The current value of the button collection.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get value():Object
+               {
+                       return _value;
+               }
+               
+               public function set value(newValue:Object):void
+               {
+                       if( newValue != _value )
+                       {
+                               _value = newValue;
+                               dispatchEvent(new Event("valueChange"));
+                       }
+               }
+               
+               private var _groupName:String;
+               
+               /**
+                *  The name of the collection has shared by all of the buttons 
in the collection.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get groupName():String
+               {
+                       return _groupName;
+               }
+               
+               public function set groupName(value:String):void
+               {
+                       if( value != _groupName )
+                       {
+                               _groupName = value;
+                               dispatchEvent(new Event("groupNameChange"));
+                       }
+               }
+               
+               private var _selectedValue:Object;
+               
+               /**
+                *  The value that is currently selected.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get selectedValue():Object
+               {
+                       return _selectedValue;
+               }
+               
+               public function set selectedValue(newValue:Object):void
+               {
+                       if( _selectedValue != newValue )
+                       {
+                               _selectedValue = newValue;
+                               dispatchEvent(new Event("selectedValueChange"));
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ViewportModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ViewportModel.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ViewportModel.as
new file mode 100644
index 0000000..c15c5d8
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ViewportModel.as
@@ -0,0 +1,72 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads.models
+{
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.core.IUIBase;
+       import org.apache.flex.core.IViewportModel;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+       import org.apache.flex.geom.Rectangle;
+       
+    /**
+     * @copy org.apache.flex.core.IViewportModel
+     */
+       public class ViewportModel extends EventDispatcher implements 
IViewportModel
+       {
+               public function ViewportModel()
+               {
+                       super();
+               }
+               
+        private var _borderMetrics:Rectangle;
+               private var _chromeMetrics:Rectangle;
+               
+               private var _strand:IStrand;
+               
+        /**
+         * @copy org.apache.flex.core.IViewportModel
+         */
+        public function get borderMetrics():Rectangle
+        {
+            return _borderMetrics;
+        }
+        public function set borderMetrics(value:Rectangle):void
+        {
+            _borderMetrics = value;
+        }
+        
+        /**
+         * @copy org.apache.flex.core.IViewportModel
+         */
+        public function get chromeMetrics():Rectangle
+        {
+            return _chromeMetrics;
+        }
+        public function set chromeMetrics(value:Rectangle):void
+        {
+            _chromeMetrics = value;
+        }
+        
+               public function set strand(value:IStrand):void
+               {
+                       _strand = value;
+               }
+       }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Border.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Border.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Border.as
new file mode 100644
index 0000000..f7277d0
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Border.as
@@ -0,0 +1,49 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.supportClasses
+{
+       import org.apache.flex.core.UIBase;
+       
+    /**
+     *  The Border class is a class used internally by many
+     *  controls to draw a border.  The border actually drawn
+     *  is dictated by the IBeadView in the CSS.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+       public class Border extends UIBase
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function Border()
+               {
+                       super();
+               }               
+        
+       }
+}

Reply via email to