http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ImageAndTextModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ImageAndTextModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ImageAndTextModel.as
new file mode 100644
index 0000000..01dd3e9
--- /dev/null
+++ 
b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
new file mode 100644
index 0000000..7742c2b
--- /dev/null
+++ 
b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ListPresentationModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ListPresentationModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ListPresentationModel.as
new file mode 100644
index 0000000..8a372ac
--- /dev/null
+++ 
b/frameworks/projects/Basic/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;
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/PanelModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/PanelModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/PanelModel.as
new file mode 100644
index 0000000..5741fdd
--- /dev/null
+++ 
b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
new file mode 100644
index 0000000..5e46e41
--- /dev/null
+++ 
b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModelExtended.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModelExtended.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModelExtended.as
new file mode 100644
index 0000000..ebbc4f3
--- /dev/null
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModelExtended.as
@@ -0,0 +1,101 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.events.Event;
+       import org.apache.flex.html.beads.models.RangeModel;
+
+       /**
+        *  The RangeModelExtended bead expands on the RangeModel and adds a 
function to
+        *  display a value from the model.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class RangeModelExtended extends RangeModel
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function RangeModelExtended()
+               {
+                       super();
+               }
+
+               private var _value:Number = 0;
+               
+               /**
+                * @private
+                */
+               override public function get value():Number
+               {
+                       return _value;
+               }
+               override public function set value(newValue:Number):void
+               {
+                       _value = newValue;
+                       dispatchEvent(new Event("valueChange"));
+               }
+
+               private var _labelFunction:Function;
+               
+               /**
+                *  A function used to format a value in the model.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get labelFunction():Function
+               {
+                       return _labelFunction;
+               }
+               public function set labelFunction(value:Function):void
+               {
+                       _labelFunction = value;
+               }
+
+               /**
+                *  Returns the label, using the labelFunction (if provided) 
for the value
+                *  at the given index.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function getLabelForIndex(index:Number):String
+               {
+                       if (_labelFunction != null) {
+                               return _labelFunction(this, index);
+                       }
+                       else {
+                               return "";
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ScrollBarModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ScrollBarModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ScrollBarModel.as
new file mode 100644
index 0000000..582df91
--- /dev/null
+++ 
b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/SingleLineBorderModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/SingleLineBorderModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/SingleLineBorderModel.as
new file mode 100644
index 0000000..99c3a0d
--- /dev/null
+++ 
b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/StringSelectionModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/StringSelectionModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/StringSelectionModel.as
new file mode 100644
index 0000000..be3d7c8
--- /dev/null
+++ 
b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/TextModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/TextModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/TextModel.as
new file mode 100644
index 0000000..eaf2cf4
--- /dev/null
+++ 
b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/TitleBarModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/TitleBarModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/TitleBarModel.as
new file mode 100644
index 0000000..d9f6ff2
--- /dev/null
+++ 
b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ToggleButtonModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ToggleButtonModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ToggleButtonModel.as
new file mode 100644
index 0000000..a4c1a91
--- /dev/null
+++ 
b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ValueToggleButtonModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ValueToggleButtonModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ValueToggleButtonModel.as
new file mode 100644
index 0000000..27b0a95
--- /dev/null
+++ 
b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ViewportModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ViewportModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ViewportModel.as
new file mode 100644
index 0000000..26752ac
--- /dev/null
+++ 
b/frameworks/projects/Basic/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;
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/WebBrowserModel.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/WebBrowserModel.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/WebBrowserModel.as
new file mode 100644
index 0000000..fbd823a
--- /dev/null
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/WebBrowserModel.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.IBeadModel;
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.EventDispatcher;
+
+       /**
+        *  The WebBrowserModel class bead defines the data associated with an 
org.apache.flex.html.WebBrowser
+        *  component.
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class WebBrowserModel extends EventDispatcher implements 
IBeadModel
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function WebBrowserModel()
+               {
+                       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 _url:String;
+
+               /**
+                *  The URL to load into the WebBrowser.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get url():String
+               {
+                       return _url;
+               }
+               public function set url(value:String):void
+               {
+                       if (value != _url) {
+                               _url = value;
+                               dispatchEvent( new Event("urlChanged") );
+                       }
+               }
+
+               /**
+                * Sets the URL value without dispatching an event.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function setURL(value:String):void
+               {
+                   _url = value;
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/Border.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/Border.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/Border.as
new file mode 100644
index 0000000..f7277d0
--- /dev/null
+++ 
b/frameworks/projects/Basic/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();
+               }               
+        
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ButtonBarButtonItemRenderer.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ButtonBarButtonItemRenderer.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ButtonBarButtonItemRenderer.as
new file mode 100644
index 0000000..1d320e3
--- /dev/null
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ButtonBarButtonItemRenderer.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.supportClasses
+{
+       import org.apache.flex.core.IItemRenderer;
+       import org.apache.flex.core.IItemRendererParent;
+       import org.apache.flex.core.UIBase;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.MouseEvent;
+       import org.apache.flex.html.TextButton;
+       import org.apache.flex.html.beads.ITextItemRenderer;
+       import org.apache.flex.events.ItemClickedEvent;
+
+       /**
+        *  The ButtonBarButtonItemRenderer class handles the display of each 
item for the 
+        *  org.apache.flex.html.ButtonBar component. This class uses a 
+        *  org.apache.flex.html.Button to represent the data.
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class ButtonBarButtonItemRenderer extends UIItemRendererBase 
implements ITextItemRenderer
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function ButtonBarButtonItemRenderer()
+               {
+                       super();
+               }
+               
+               protected var textButton:TextButton;
+               
+               /**
+                * @private
+                */
+               override public function addedToParent():void
+               {
+                       super.addedToParent();
+               }
+               
+               /**
+                * @private
+                */
+               protected function handleClickEvent(event:MouseEvent):void
+               {
+                       var newEvent:ItemClickedEvent = new 
ItemClickedEvent("itemClicked");
+                       newEvent.multipleSelection = event.shiftKey;
+                       newEvent.index = index;
+                       newEvent.data = data;
+                       dispatchEvent(newEvent);
+               }
+               
+               /**
+                *  The string version of the data associated with the instance 
of the itemRenderer.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get text():String
+               {
+                       return data as String;
+               }
+               public function set text(value:String):void
+               {
+                       data = value;
+               }
+               
+               /**
+                *  The data to be displayed by the itemRenderer instance. For 
ButtonBarItemRenderer, the
+                *  data's string version is used as the label for the Button.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               override public function set data(value:Object):void
+               {
+                       super.data = value;
+                       
+                       var added:Boolean = false;
+                       if (textButton == null) {
+                               textButton = new TextButton();
+                               
+                               // listen for clicks on the button and 
translate them into
+                               // an itemClicked event.
+                               
textButton.addEventListener('click',handleClickEvent);
+                               added = true;
+                       }
+                       
+                       var valueAsString:String;
+                       
+                       if (value is String) {
+                               valueAsString = value as String;
+                       }
+                       else if (value.hasOwnProperty("label")) {
+                               valueAsString = String(value["label"]);
+                       }
+                       else if (value.hasOwnProperty("title")) {
+                               valueAsString = String(value["title"]);
+                       }
+                       
+                       if (valueAsString) textButton.text = valueAsString;
+                       
+                       if (added) addElement(textButton);
+               }
+               
+               /**
+                * @private
+                */
+               override public function adjustSize():void
+               {
+                       textButton.width = this.width;
+                       textButton.height = this.height;
+                       
+                       updateRenderer();
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
new file mode 100644
index 0000000..92c3f53
--- /dev/null
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
@@ -0,0 +1,92 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+       COMPILE::JS {
+        import org.apache.flex.core.WrappedHTMLElement;
+    }
+
+       public class CheckBoxIcon
+       {
+               public function CheckBoxIcon()
+               {
+                       COMPILE::JS {
+                               createElement();
+                       }
+
+                       className = 'CheckBoxIcon';
+               }
+
+               COMPILE::JS {
+               public var element:WrappedHTMLElement;
+               public var positioner:WrappedHTMLElement;
+               }
+
+               private var _className:String;
+
+               public function get className():String
+               {
+                       return _className;
+               }
+               public function set className(value:String):void
+               {
+                       _className = value;
+
+                       COMPILE::JS {
+                               element.className = value;
+                       }
+               }
+
+               private var _id:String;
+
+               public function get id():String
+               {
+                       return _id;
+               }
+               public function set id(value:String):void
+               {
+                       _id = value;
+
+                       COMPILE::JS {
+                               element.id = value;
+                       }
+               }
+
+               /**
+                * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+                * @flexjsignorecoercion HTMLInputElement
+                * @flexjsignorecoercion Text
+                */
+               COMPILE::JS
+               protected function createElement():WrappedHTMLElement
+               {
+                       var input:HTMLInputElement = 
document.createElement('input') as HTMLInputElement;
+                       input.type = 'checkbox';
+
+                       element = input as WrappedHTMLElement;
+
+                       positioner = element;
+                       positioner.style.position = 'relative';
+
+                       (element as WrappedHTMLElement).flexjs_wrapper = this;
+
+                       return element;
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
new file mode 100644
index 0000000..46426cd
--- /dev/null
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
@@ -0,0 +1,80 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.IContentView;
+       import org.apache.flex.core.UIBase;
+    import org.apache.flex.events.Event;
+       
+    /**
+     *  The ContainerContentArea class implements the contentView for
+     *  a Container.  Container's don't always parent their children directly 
as
+     *  that makes it harder to handle scrolling.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+       public class ContainerContentArea extends UIBase implements IContentView
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function ContainerContentArea()
+               {
+                       super();
+            addEventListener("layoutNeeded", forwardEventHandler);
+               }
+        
+        private function forwardEventHandler(event:Event):void
+        {
+            if (parent)
+                parent.dispatchEvent(event);
+        }
+               
+               /**
+                *  @copy 
org.apache.flex.core.IItemRendererParent#removeAllElements()
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function removeAllElements():void
+               {
+                       COMPILE::SWF
+                       {
+                               removeChildren(0);                              
        
+                       }
+                       COMPILE::JS
+                       {
+                               while (element.hasChildNodes()) 
+                               {
+                                       element.removeChild(element.lastChild);
+                               }
+                       }
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridButtonBarButtonItemRenderer.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridButtonBarButtonItemRenderer.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridButtonBarButtonItemRenderer.as
new file mode 100644
index 0000000..f6663a5
--- /dev/null
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridButtonBarButtonItemRenderer.as
@@ -0,0 +1,81 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.IItemRenderer;
+       import org.apache.flex.core.IItemRendererParent;
+       import org.apache.flex.core.UIBase;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.MouseEvent;
+       import org.apache.flex.html.DataGridButtonBarTextButton;
+       import org.apache.flex.html.beads.ITextItemRenderer;
+       import org.apache.flex.events.ItemClickedEvent;
+
+       /**
+        *  The ButtonBarButtonItemRenderer class handles the display of each 
item for the 
+        *  org.apache.flex.html.ButtonBar component. This class uses a 
+        *  org.apache.flex.html.Button to represent the data.
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class DataGridButtonBarButtonItemRenderer extends 
ButtonBarButtonItemRenderer
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function DataGridButtonBarButtonItemRenderer()
+               {
+                       super();
+               }
+               
+               /**
+                *  The data to be displayed by the itemRenderer instance. For 
ButtonBarItemRenderer, the
+                *  data's string version is used as the label for the Button.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               override public function set data(value:Object):void
+               {
+                       var added:Boolean = false;
+                       if (textButton == null) {
+                               textButton = new DataGridButtonBarTextButton();
+                               
+                               // listen for clicks on the button and 
translate them into
+                               // an itemClicked event.
+                               
textButton.addEventListener('click',handleClickEvent);
+                               added = true;
+                       }
+                       
+                       super.data = value;
+                       
+                       if (added) addElement(textButton);
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumn.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumn.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumn.as
new file mode 100644
index 0000000..24e16fd
--- /dev/null
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumn.as
@@ -0,0 +1,127 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.IFactory;
+
+       /**
+        *  The DataGridColumn class is the collection of properties that 
describe
+        *  a column of the org.apache.flex.html.DataGrid: which renderer 
+        *  to use for each cell in the column, the width of the column, the 
label for the 
+        *  column, and the name of the field in the data containing the value 
to display 
+        *  in the column. 
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class DataGridColumn
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function DataGridColumn()
+               {
+               }
+               
+               private var _itemRenderer:IFactory;
+               
+               /**
+                *  The itemRenderer class or factory to use to make instances 
of itemRenderers for
+                *  display of data.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get itemRenderer():IFactory
+               {
+                       return _itemRenderer;
+               }
+               public function set itemRenderer(value:IFactory):void
+               {
+                       _itemRenderer = value;
+               }
+               
+               private var _columnWidth:Number = Number.NaN;
+               
+               /**
+                *  The width of the column (default is 100 pixels).
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get columnWidth():Number
+               {
+                       return _columnWidth;
+               }
+               public function set columnWidth(value:Number):void
+               {
+                       _columnWidth = value;
+               }
+               
+               private var _label:String;
+               
+               /**
+                *  The label for the column (appears in the header area).
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get label():String
+               {
+                       return _label;
+               }
+               public function set label(value:String):void
+               {
+                       _label = value;
+               }
+               
+               private var _dataField:String;
+               
+               /**
+                *  The name of the field containing the data value presented 
by the column. This value is used
+                *  by the itemRenderer is select the property from the data.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get dataField():String
+               {
+                       return _dataField;
+               }
+               public function set dataField(value:String):void
+               {
+                       _dataField = value;
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
new file mode 100644
index 0000000..bb0fa65
--- /dev/null
+++ 
b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
@@ -0,0 +1,61 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.html.List;
+    
+    //--------------------------------------
+    //  Events
+    //--------------------------------------
+    
+    /**
+     *  @copy org.apache.flex.core.ISelectionModel#change
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    [Event(name="change", type="org.apache.flex.events.Event")]
+    
+    /**
+     *  The DataGridColumnList class is the List class used internally
+     *  by DataGrid for each column.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+       public class DataGridColumnList extends List
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function DataGridColumnList()
+               {
+                       super();
+               }
+       }
+}

Reply via email to