You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2015/04/15 23:43:45 UTC

[40/55] [abbrv] git commit: [flex-asjs] [refs/heads/develop] - refactor classes into more swcs and get AS build running (JS build will be fixed in later commit)

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/as/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/defaults.css b/frameworks/projects/HTML/as/defaults.css
new file mode 100644
index 0000000..f59ea8f
--- /dev/null
+++ b/frameworks/projects/HTML/as/defaults.css
@@ -0,0 +1,431 @@
+/*
+ *
+ *  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.
+ *
+ */
+
+@namespace "library://ns.apache.org/flexjs/basic";
+@namespace svg "library://ns.apache.org/flexjs/svg";
+
+/* Global style declaration */
+*
+{
+    font-family: "Arial";
+    font-size: 12px;
+}
+
+*:active
+{
+    font-family: "Arial";
+    font-size: 12px;
+}
+
+*:hover
+{
+    font-family: "Arial";
+    font-size: 12px;
+}
+
+.flexjs *, . flexjs *:before, . flexjs *:after {
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+}
+
+Button
+{
+	background-color: #d8d8d8;
+	border: 1px solid #000000;
+	padding: 4px;
+}
+
+Button:hover
+{
+	background-color: #9fa0a1;
+	border: 1px solid #000000;
+	padding: 4px;
+}
+
+Button:active
+{
+	background-color: #929496;
+	border: 1px solid #000000;
+	padding: 4px;
+}
+
+ButtonBar
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+    IBeadView:  ClassReference("org.apache.flex.html.beads.ButtonBarView");			
+    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.ButtonBarLayout");
+    IDataGroup: ClassReference("org.apache.flex.html.supportClasses.NonVirtualDataGroup");
+    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+    IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.ButtonBarButtonItemRenderer");
+
+    border-style: none;
+}
+
+ButtonBarButtonItemRenderer
+{
+    width: 80;
+    height: 30;
+}
+
+Container
+{
+    IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
+}
+
+ControlBar
+{
+    background-color: #CECECE;
+    border-style: solid;
+    border-color: #000000;
+    border-width: 1px;
+}
+
+HContainer
+{
+    IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
+    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.NonVirtualHorizontalLayout");
+}
+
+ImageButton
+{
+    border-style: none;
+}
+
+VContainer
+{
+    IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
+    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.NonVirtualVerticalLayout");
+}
+
+List
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+    IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");			
+    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.NonVirtualVerticalScrollingLayout");
+    IDataGroup: ClassReference("org.apache.flex.html.supportClasses.NonVirtualDataGroup");
+    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
+    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+    IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+}
+
+Panel
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.PanelView");
+    
+    background-color: #FFFFFF;
+    border-style: solid;
+    border-color: #000000;
+    border-width: 1px;
+}
+
+PanelWithControlBar
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.PanelWithControlBarView");
+    
+    background-color: #FFFFFF;
+    border-style: solid;
+    border-color: #000000;
+    border-width: 1px;
+}
+
+SimpleList
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+    IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");
+    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.NonVirtualVerticalScrollingLayout");
+    IDataGroup: ClassReference("org.apache.flex.html.supportClasses.NonVirtualDataGroup");
+    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+    IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+}
+
+StringItemRenderer
+{
+    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
+    height: 16;
+}
+
+TitleBar
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TitleBarModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.TitleBarView");
+    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout");
+    iMeasurementBead: ClassReference("org.apache.flex.html.beads.TitleBarMeasurementBead");
+    background-color: #FFFFFF;
+}
+
+ToolTip
+{
+    background-color: #FFFFCC;
+}
+
+/* Global Style Declaration */
+global
+{
+    IStatesImpl: ClassReference("org.apache.flex.core.SimpleStatesImpl");
+    IEffectTimer: ClassReference("org.apache.flex.utils.EffectTimer");
+    effectTimerInterval: 10;
+}
+
+@media -flex-flash
+{
+
+Alert
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
+    IBeadView:  ClassReference("org.apache.flex.html.beads.AlertView");
+    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
+    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+    
+    background-color: #FFFFFF;
+    border-style: solid;
+    border-color: #000000;
+    border-width: 1px;
+}
+
+Button
+{
+    IBeadView: ClassReference("org.apache.flex.html.beads.CSSButtonView");
+}
+
+CheckBox
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
+    IBeadView:  ClassReference("org.apache.flex.html.beads.CheckBoxView");			
+}
+
+CloseButton
+{
+    IBeadView: ClassReference("org.apache.flex.html.beads.CloseButtonView");
+}
+
+ComboBox
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ComboBoxModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.ComboBoxView");
+    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ComboBoxController");
+    IPopUp: ClassReference("org.apache.flex.html.supportClasses.DropDownListList");
+    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+    IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+}
+
+Container
+{
+    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+}
+
+ControlBar
+{
+    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.NonVirtualHorizontalLayout");
+    iMeasurementBead: ClassReference("org.apache.flex.html.beads.ControlBarMeasurementBead");
+    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");    
+}
+
+DropDownList
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.DropDownListView");
+    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DropDownListController");
+    IPopUp: ClassReference("org.apache.flex.html.supportClasses.DropDownListList");
+}
+
+DropDownListList
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+    IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+}
+
+Image
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageModel");
+    IBeadView:  ClassReference("org.apache.flex.html.beads.ImageView");
+}
+
+ImageButton
+{
+    IBeadView: ClassReference("org.apache.flex.html.beads.ImageButtonView");
+}
+
+ImageAndTextButton
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageAndTextModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.ImageAndTextButtonView");
+}
+
+Label
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.TextFieldView");
+	iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextFieldLabelMeasurementBead");
+}
+
+List
+{
+    iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+    iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
+}
+
+MultilineLabel
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.MultilineTextFieldView");
+}
+
+NumericStepper
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.NumericStepperView");
+    
+    padding: 0px;
+    border-style: solid;
+    border-color: #000000;
+    border-width: 1px;
+    background-color: #FFFFFF;
+    iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+    iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
+}
+
+Panel
+{
+    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");    
+}
+
+PanelWithControlBar
+{
+    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+}
+
+RadioButton
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ValueToggleButtonModel");
+    IBeadView:  ClassReference("org.apache.flex.html.beads.RadioButtonView");			
+}
+
+ScrollBar
+{
+    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VScrollBarLayout");
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ScrollBarModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.ScrollBarView");
+    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.VScrollBarMouseController");
+}
+
+SimpleAlert
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
+    IBeadView:  ClassReference("org.apache.flex.html.beads.SimpleAlertView");
+    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
+    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+    
+    background-color: #FFFFFF;
+    border-style: solid;
+    border-color: #000000;
+    border-width: 1px;
+}
+
+Slider
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
+    iBeadView:  ClassReference("org.apache.flex.html.beads.SliderView");
+    iBeadController: ClassReference("org.apache.flex.html.beads.controllers.SliderMouseController");
+    iThumbView: ClassReference("org.apache.flex.html.beads.SliderThumbView");
+    iTrackView: ClassReference("org.apache.flex.html.beads.SliderTrackView");
+}
+
+Spinner
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
+    IBeadView:  ClassReference("org.apache.flex.html.beads.SpinnerView");
+    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.SpinnerMouseController");
+}
+
+TextArea
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.TextAreaView");
+    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
+    iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+    iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
+    width: 135;
+    height: 20;
+}
+
+TextButton
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
+    iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
+}
+
+TextFieldItemRenderer
+{
+    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
+    height: 16;
+}
+
+TextInput
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.TextInputWithBorderView");
+    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
+    iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+    iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
+	width: 135;
+	height: 20;
+}
+
+TitleBar
+{
+    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+    background-color: #FFFFFF;
+}
+
+ToggleTextButton
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
+    IBeadView:  ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
+}
+
+
+/* SVG */
+
+svg|TextButton
+{
+    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+    IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
+    iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/as/src/HTMLClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/HTMLClasses.as b/frameworks/projects/HTML/as/src/HTMLClasses.as
index 2886df2..21cea7f 100644
--- a/frameworks/projects/HTML/as/src/HTMLClasses.as
+++ b/frameworks/projects/HTML/as/src/HTMLClasses.as
@@ -25,29 +25,10 @@ package
  *  beyond those that are found by dependecy analysis starting
  *  from the classes specified in manifest.xml.
  */
-internal class FlexJSUIClasses
+internal class HTMLClasses
 {	
-	import org.apache.cordova.camera.Camera; Camera;
-	import org.apache.cordova.Application; Application;
-	import org.apache.cordova.Weinre; Weinre;
-	
-	import org.apache.flex.charts.core.CartesianChart; CartesianChart;
-	import org.apache.flex.charts.core.ChartBase; ChartBase;
-	import org.apache.flex.charts.core.IAxisBead; IAxisBead;
-	import org.apache.flex.charts.core.IAxisGroup; IAxisGroup;
-	import org.apache.flex.charts.core.IChart; IChart;
-	import org.apache.flex.charts.core.ICartesianChartLayout; ICartesianChartLayout;
-	import org.apache.flex.charts.core.IChartDataGroup; IChartDataGroup;
-	import org.apache.flex.charts.core.IChartSeries; IChartSeries;
-	import org.apache.flex.charts.core.IHorizontalAxisBead; IHorizontalAxisBead;
-	import org.apache.flex.charts.core.IVerticalAxisBead; IVerticalAxisBead;
-	import org.apache.flex.charts.core.IChartItemRenderer; IChartItemRenderer;
-	import org.apache.flex.charts.core.IConnectedItemRenderer; IConnectedItemRenderer;
-	import org.apache.flex.charts.core.PolarChart; PolarChart;
-	import org.apache.flex.charts.supportClasses.ChartAxisGroup; ChartAxisGroup;
-	import org.apache.flex.charts.supportClasses.ChartDataGroup; ChartDataGroup;
-	import org.apache.flex.maps.google.Map; Map;
 	
+    import org.apache.flex.core.IScrollingLayoutParent; IScrollingLayoutParent;
     import org.apache.flex.html.ToolTip; ToolTip;
 	import org.apache.flex.html.accessories.NumericOnlyTextInputBead; NumericOnlyTextInputBead;
 	import org.apache.flex.html.accessories.PasswordInputBead; PasswordInputBead;
@@ -116,9 +97,6 @@ internal class FlexJSUIClasses
     import org.apache.flex.html.beads.TextItemRendererFactoryForArrayData; TextItemRendererFactoryForArrayData;
 	import org.apache.flex.html.beads.DataItemRendererFactoryForArrayData; DataItemRendererFactoryForArrayData;
 	import org.apache.flex.html.supportClasses.NonVirtualDataGroup; NonVirtualDataGroup;
-    import org.apache.flex.core.ItemRendererClassFactory; ItemRendererClassFactory;  
-	import org.apache.flex.core.FilledRectangle; FilledRectangle;
-	import org.apache.flex.core.FormatBase; FormatBase;
 	import org.apache.flex.events.CustomEvent; CustomEvent;
 	import org.apache.flex.events.Event; Event;
 	import org.apache.flex.events.MouseEvent; MouseEvent;
@@ -126,32 +104,7 @@ internal class FlexJSUIClasses
 	import org.apache.flex.utils.EffectTimer; EffectTimer;
 	import org.apache.flex.utils.Timer; Timer;
 	import org.apache.flex.utils.UIUtils; UIUtils;
-	import org.apache.flex.core.ISelectableItemRenderer; ISelectableItemRenderer;
-    import org.apache.flex.core.SimpleStatesImpl; SimpleStatesImpl;
-	import org.apache.flex.core.graphics.GraphicShape; GraphicShape;
-	import org.apache.flex.core.graphics.Rect; Rect;
-	import org.apache.flex.core.graphics.Ellipse; Ellipse;
-	import org.apache.flex.core.graphics.Circle; Circle;
-	import org.apache.flex.core.graphics.Path; Path;
-	import org.apache.flex.core.graphics.SolidColor; SolidColor;
-	import org.apache.flex.core.graphics.SolidColorStroke; SolidColorStroke;
-	import org.apache.flex.core.graphics.Text; Text;
-	import org.apache.flex.core.graphics.GraphicsContainer; GraphicsContainer;
-	import org.apache.flex.core.graphics.LinearGradient; LinearGradient;
-    import org.apache.flex.core.DataBindingBase; DataBindingBase;
-    import org.apache.flex.binding.ChainBinding; ChainBinding;
-    import org.apache.flex.effects.PlatformWiper; PlatformWiper;    
-    import org.apache.flex.events.DragEvent; DragEvent;   
 	import org.apache.flex.events.utils.MouseUtils; MouseUtils;
-    import org.apache.flex.geom.Rectangle; Rectangle;    
-	
-	import org.apache.flex.mobile.ManagerBase; ManagerBase;
-    
-	import mx.core.ClassFactory; ClassFactory;
-    import mx.states.AddItems; AddItems;
-    import mx.states.SetEventHandler; SetEventHandler;
-    import mx.states.SetProperty; SetProperty;
-    import mx.states.State; State;
 }
 
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/as/src/org/apache/flex/core/IScrollingLayoutParent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/core/IScrollingLayoutParent.as b/frameworks/projects/HTML/as/src/org/apache/flex/core/IScrollingLayoutParent.as
new file mode 100644
index 0000000..ed89265
--- /dev/null
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/core/IScrollingLayoutParent.as
@@ -0,0 +1,71 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.core
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	
+	import org.apache.flex.html.supportClasses.Border;
+	import org.apache.flex.html.supportClasses.ScrollBar;
+
+    /**
+     *  The IScrollingLayoutParent interface is an ILayoutParent
+     *  that has traditional scrollbars.  The layout implementation
+     *  often needs to know certain things about other objects in
+     *  the component.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+	public interface IScrollingLayoutParent extends ILayoutParent
+	{
+        /**
+         *  The border.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+		function get border():Border;
+		
+        /**
+         *  The vertical ScrollBar.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+		function get vScrollBar():ScrollBar;
+        
+        /**
+         *  The horizontal ScrollBar.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+		function get hScrollBar():ScrollBar;
+		
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/AlertView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/AlertView.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/AlertView.as
index 6caac5e..ccc5692 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/AlertView.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/AlertView.as
@@ -28,11 +28,11 @@ package org.apache.flex.html.beads
 	import org.apache.flex.core.UIBase;
 	import org.apache.flex.core.UIMetrics;
 	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.createjs.Label;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
 	import org.apache.flex.html.Alert;
 	import org.apache.flex.html.ControlBar;
+    import org.apache.flex.html.Label;
 	import org.apache.flex.html.TextButton;
 	import org.apache.flex.html.TitleBar;
 	import org.apache.flex.utils.BeadMetrics;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/NumericStepperView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/NumericStepperView.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/NumericStepperView.as
index ab099ba..66f2531 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/NumericStepperView.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/NumericStepperView.as
@@ -26,10 +26,10 @@ package org.apache.flex.html.beads
 	import org.apache.flex.core.IRangeModel;
 	import org.apache.flex.core.IStrand;
     import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.createjs.Label;
+    import org.apache.flex.core.UIBase;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
+    import org.apache.flex.html.Label;
 	import org.apache.flex.html.Spinner;
 	import org.apache.flex.html.TextInput;
 	import org.apache.flex.html.beads.layouts.NonVirtualHorizontalLayout;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/as/src/org/apache/flex/svg/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/svg/TextButton.as b/frameworks/projects/HTML/as/src/org/apache/flex/svg/TextButton.as
new file mode 100644
index 0000000..83a2821
--- /dev/null
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/svg/TextButton.as
@@ -0,0 +1,30 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.svg
+{
+	import org.apache.flex.html.TextButton;
+	
+	public class TextButton extends org.apache.flex.html.TextButton
+	{
+		public function TextButton()
+		{
+			super();
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/asjs/HTMLClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/HTMLClasses.as b/frameworks/projects/HTML/asjs/HTMLClasses.as
deleted file mode 100644
index 9454aad..0000000
--- a/frameworks/projects/HTML/asjs/HTMLClasses.as
+++ /dev/null
@@ -1,95 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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
-{
-
-/**
- *  @private
- *  This class is used to link additional classes into rpc.swc
- *  beyond those that are found by dependecy analysis starting
- *  from the classes specified in manifest.xml.
- */
-internal class FlexJSJXClasses
-{
-	import org.apache.flex.mobile.beads.StackedViewManagerView; StackedViewManagerView;
-	import org.apache.flex.mobile.beads.TabbedViewManagerView; TabbedViewManagerView;
-	import org.apache.flex.mobile.chrome.NavigationBar; NavigationBar;
-	import org.apache.flex.mobile.chrome.TabBar; TabBar;
-	import org.apache.flex.mobile.chrome.ToolBar; ToolBar;
-	import org.apache.flex.mobile.models.ViewManagerModel; ViewManagerModel;
-	
-	import org.apache.flex.charts.beads.ChartView; ChartView;
-	import org.apache.flex.charts.beads.ChartItemRendererFactory; ChartItemRendererFactory;
-	import org.apache.flex.charts.beads.DataItemRendererFactoryForSeriesData; DataItemRendererFactoryForSeriesData;
-	import org.apache.flex.charts.beads.DataTipBead; DataTipBead;
-	import org.apache.flex.charts.beads.HorizontalCategoryAxisBead; HorizontalCategoryAxisBead;
-	import org.apache.flex.charts.beads.HorizontalLinearAxisBead; HorizontalLinearAxisBead;
-	import org.apache.flex.charts.beads.VerticalCategoryAxisBead; VerticalCategoryAxisBead;
-	import org.apache.flex.charts.beads.VerticalLinearAxisBead; VerticalLinearAxisBead;
-	import org.apache.flex.charts.beads.layouts.BarChartLayout; BarChartLayout;
-	import org.apache.flex.charts.beads.layouts.ColumnChartLayout; ColumnChartLayout;
-	import org.apache.flex.charts.beads.layouts.LineChartCategoryVsLinearLayout; LineChartCategoryVsLinearLayout;
-	import org.apache.flex.charts.beads.layouts.LineChartLinearVsLinearLayout; LineChartLinearVsLinearLayout;
-	import org.apache.flex.charts.beads.layouts.PieChartLayout; PieChartLayout;
-	import org.apache.flex.charts.beads.layouts.StackedBarChartLayout; StackedBarChartLayout;
-	import org.apache.flex.charts.beads.layouts.StackedColumnChartLayout; StackedColumnChartLayout;
-	import org.apache.flex.charts.supportClasses.BarSeries; BarSeries;
-	import org.apache.flex.charts.supportClasses.LineSeries; LineSeries;
-	import org.apache.flex.charts.supportClasses.PieSeries; PieSeries;
-	import org.apache.flex.charts.supportClasses.BoxItemRenderer; BoxItemRenderer;
-	import org.apache.flex.charts.supportClasses.LineSegmentItemRenderer; LineSegmentItemRenderer;
-	import org.apache.flex.charts.supportClasses.WedgeItemRenderer; WedgeItemRenderer;
-	import org.apache.flex.charts.optimized.SVGChartAxisGroup; SVGChartAxisGroup;
-	import org.apache.flex.charts.optimized.SVGChartDataGroup; SVGChartDataGroup;
-	import org.apache.flex.charts.optimized.SVGBoxItemRenderer; SVGBoxItemRenderer;
-	import org.apache.flex.charts.optimized.SVGWedgeItemRenderer; SVGWedgeItemRenderer;
-	import org.apache.flex.charts.optimized.SVGLineSegmentItemRenderer; SVGLineSegmentItemRenderer;
-	
-	import org.apache.flex.effects.Tween; Tween;
-	import org.apache.flex.effects.Move; Move;
-	import org.apache.flex.effects.Fade; Fade;
-	
-	import org.apache.flex.html.accessories.DateFormatMMDDYYYYBead; DateFormatMMDDYYYYBead;
-	import org.apache.flex.html.beads.DataGridColumnView; DataGridColumnView;
-	import org.apache.flex.html.beads.DataGridView; DataGridView;
-	import org.apache.flex.html.beads.DateChooserView; DateChooserView;
-	import org.apache.flex.html.beads.DateFieldView; DateFieldView;
-	import org.apache.flex.html.beads.FormatableLabelView; FormatableLabelView;
-	import org.apache.flex.html.beads.FormatableTextInputView; FormatableTextInputView;
-	import org.apache.flex.html.beads.layouts.DataGridLayout; DataGridLayout;
-    import org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout; FlexibleFirstChildHorizontalLayout;
-	import org.apache.flex.html.beads.models.DataGridModel; DataGridModel;
-	import org.apache.flex.html.beads.models.DateChooserModel; DateChooserModel;
-	import org.apache.flex.html.beads.models.DataGridPresentationModel; DataGridPresentationModel;
-	import org.apache.flex.html.beads.controllers.DateChooserMouseController; DateChooserMouseController;
-	import org.apache.flex.html.beads.controllers.DateFieldMouseController; DateFieldMouseController;
-	import org.apache.flex.html.supportClasses.DataGridColumn; DataGridColumn;
-	import org.apache.flex.html.supportClasses.DateChooserButton; DateChooserButton;
-	import org.apache.flex.html.supportClasses.GraphicsItemRenderer; GraphicsItemRenderer;
-    
-    import org.apache.flex.html.beads.TitleBarView; TitleBarView;
-    import org.apache.flex.html.beads.TitleBarMeasurementBead; TitleBarMeasurementBead;
-
-    import org.apache.flex.core.DropType; DropType;
-    import org.apache.flex.core.ParentDocumentBead; ParentDocumentBead;
-    import org.apache.flex.core.StatesWithTransitionsImpl; StatesWithTransitionsImpl;
-}
-
-}
-

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as b/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
new file mode 100644
index 0000000..4e7b67f
--- /dev/null
+++ b/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
@@ -0,0 +1,52 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+
+/**
+ *  @private
+ *  This class is used to link additional classes into rpc.swc
+ *  beyond those that are found by dependecy analysis starting
+ *  from the classes specified in manifest.xml.
+ */
+internal class HTMLASJSClasses
+{
+	import org.apache.flex.html.beads.DataGridColumnView; DataGridColumnView;
+	import org.apache.flex.html.beads.DataGridView; DataGridView;
+	import org.apache.flex.html.beads.DateChooserView; DateChooserView;
+	import org.apache.flex.html.beads.DateFieldView; DateFieldView;
+	import org.apache.flex.html.beads.layouts.DataGridLayout; DataGridLayout;
+    import org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout; FlexibleFirstChildHorizontalLayout;
+	import org.apache.flex.html.beads.models.DataGridModel; DataGridModel;
+	import org.apache.flex.html.beads.models.DateChooserModel; DateChooserModel;
+	import org.apache.flex.html.beads.models.DataGridPresentationModel; DataGridPresentationModel;
+	import org.apache.flex.html.beads.controllers.DateChooserMouseController; DateChooserMouseController;
+	import org.apache.flex.html.beads.controllers.DateFieldMouseController; DateFieldMouseController;
+	import org.apache.flex.html.supportClasses.DataGridColumn; DataGridColumn;
+	import org.apache.flex.html.supportClasses.DateChooserButton; DateChooserButton;
+	import org.apache.flex.html.supportClasses.GraphicsItemRenderer; GraphicsItemRenderer;
+    
+    import org.apache.flex.html.MXMLBeadViewBase; MXMLBeadViewBase;
+    import org.apache.flex.html.beads.TitleBarView; TitleBarView;
+    import org.apache.flex.html.beads.TitleBarMeasurementBead; TitleBarMeasurementBead;
+
+}
+
+}
+

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/asjs/src/org/apache/flex/html/MXMLBeadViewBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/MXMLBeadViewBase.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/MXMLBeadViewBase.as
new file mode 100644
index 0000000..c1a1fdf
--- /dev/null
+++ b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/MXMLBeadViewBase.as
@@ -0,0 +1,323 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	import mx.states.State;
+	
+	import org.apache.flex.core.IBead;
+    import org.apache.flex.core.ILayoutParent;
+    import org.apache.flex.core.IParent;
+	import org.apache.flex.core.IParentIUIBase;
+	import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.IStatesImpl;
+	import org.apache.flex.core.ValuesManager;
+    import org.apache.flex.html.beads.ContainerView;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.ValueChangeEvent;
+	import org.apache.flex.utils.MXMLDataInterpreter;
+
+    [DefaultProperty("mxmlContent")]
+    
+    /**
+     *  The MXMLBeadViewBase class extends BeadViewBase
+     *  and adds support for databinding and specification
+     *  of children in MXML.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+	public class MXMLBeadViewBase extends ContainerView implements IStrand, ILayoutParent
+	{
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+		public function MXMLBeadViewBase()
+		{
+			super();
+		}
+		
+        [Bindable("strandChanged")]
+        /**
+         *  An MXMLBeadViewBase doesn't create its children until it is added to
+         *  the strand.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        override public function set strand(value:IStrand):void
+        {
+            super.strand = value;
+            // each MXML file can also have styles in fx:Style block
+            ValuesManager.valuesImpl.init(this);
+            
+            dispatchEvent(new Event("strandChanged"));  
+            
+            for each (var bead:IBead in beads)
+                addBead(bead);
+            
+            dispatchEvent(new org.apache.flex.events.Event("beadsAdded"));
+
+            MXMLDataInterpreter.generateMXMLInstances(this, IParent(value), MXMLDescriptor);
+            
+            dispatchEvent(new Event("initBindings"))
+            dispatchEvent(new Event("initComplete"))
+            dispatchEvent(new Event("childrenAdded"));
+        }
+        
+        /**
+         *  @private
+         *  Needed for databinding expressions
+         */
+        public function get strand():IStrand
+        {
+            return _strand;
+        }
+        
+        [Bindable("__NoChangeEvent__")]
+        /**
+         *  The model object.
+         */
+        public function get model():Object
+        {
+            return _strand["model"];
+        }
+        
+        /**
+         *  @copy org.apache.flex.core.Application#MXMLDescriptor
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get MXMLDescriptor():Array
+        {
+            return null;
+        }
+        
+        /**
+         *  @copy org.apache.flex.core.Application#generateMXMLAttributes()
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function generateMXMLAttributes(data:Array):void
+        {
+            MXMLDataInterpreter.generateMXMLProperties(this, data);
+        }
+        
+        /**
+         *  @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public var mxmlContent:Array;
+        
+        private var _states:Array;
+        
+        /**
+         *  The array of view states. These should
+         *  be instances of mx.states.State.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get states():Array
+        {
+            return _states;
+        }
+        
+        /**
+         *  @private
+         */
+        public function set states(value:Array):void
+        {
+            _states = value;
+            _currentState = _states[0].name;
+            
+            try{
+                if (getBeadByType(IStatesImpl) == null)
+                    addBead(new (ValuesManager.valuesImpl.getValue(this, "iStatesImpl")) as IBead);
+            }
+            //TODO:  Need to handle this case more gracefully
+            catch(e:Error)
+            {
+                trace(e.message);
+            }
+            
+        }
+        
+        /**
+         *  <code>true</code> if the array of states
+         *  contains a state with this name.
+         * 
+         *  @param state The state namem.
+         *  @return True if state in state array
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function hasState(state:String):Boolean
+        {
+            for each (var s:State in _states)
+            {
+                if (s.name == state)
+                    return true;
+            }
+            return false;
+        }
+        
+        private var _currentState:String;
+        
+        [Bindable("currentStateChange")]
+        /**
+         *  The name of the current state.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get currentState():String
+        {
+            return _currentState;   
+        }
+        
+        /**
+         *  @private
+         */
+        public function set currentState(value:String):void
+        {
+            var event:ValueChangeEvent = new ValueChangeEvent("currentStateChange", false, false, _currentState, value)
+            _currentState = value;
+            dispatchEvent(event);
+        }
+        
+        private var _transitions:Array;
+        
+        /**
+         *  The array of transitions.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get transitions():Array
+        {
+            return _transitions;   
+        }
+        
+        /**
+         *  @private
+         */
+        public function set transitions(value:Array):void
+        {
+            _transitions = value;   
+        }
+
+        /**
+         *  @copy org.apache.flex.core.Application#beads
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public var beads:Array;
+        
+        private var _beads:Array;
+        
+        /**
+         *  @copy org.apache.flex.core.IStrand#addBead()
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */        
+        public function addBead(bead:IBead):void
+        {
+            if (!_beads)
+                _beads = [];
+            _beads.push(bead);
+            bead.strand = this;            
+        }
+        
+        /**
+         *  @copy org.apache.flex.core.IStrand#getBeadByType()
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function getBeadByType(classOrInterface:Class):IBead
+        {
+            for each (var bead:IBead in _beads)
+            {
+                if (bead is classOrInterface)
+                    return bead;
+            }
+            return null;
+        }
+        
+        /**
+         *  @copy org.apache.flex.core.IStrand#removeBead()
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function removeBead(value:IBead):IBead	
+        {
+            var n:int = _beads.length;
+            for (var i:int = 0; i < n; i++)
+            {
+                var bead:IBead = _beads[i];
+                if (bead == value)
+                {
+                    _beads.splice(i, 1);
+                    return bead;
+                }
+            }
+            return null;
+        }
+
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/asjs/src/org/apache/flex/html/accessories/CurrencyFormatter.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/accessories/CurrencyFormatter.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/accessories/CurrencyFormatter.as
deleted file mode 100644
index 208b5ff..0000000
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/accessories/CurrencyFormatter.as
+++ /dev/null
@@ -1,215 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.accessories
-{
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IFormatBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	/**
-	 * The CurrencyFormatter class formats a value in separated groups. The formatter listens
-	 * to a property on a model and when the property changes, formats it and dispatches a
-	 * formatChanged event.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class CurrencyFormatter extends EventDispatcher implements IFormatBead
-	{
-		/**
-		 *  constructor
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function CurrencyFormatter()
-		{
-			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;
-			
-			// Listen for the beadsAdded event which signals when all of a strand's
-			// beads have been added.
-			IEventDispatcher(value).addEventListener("beadsAdded",handleBeadsAdded);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleBeadsAdded(event:Event):void
-		{
-			// Listen for the change in the model
-			var model:IBeadModel = _strand.getBeadByType(IBeadModel) as IBeadModel;
-			model.addEventListener(eventName,propertyChangeHandler);
-			model.addEventListener(propertyName+"Change",propertyChangeHandler);
-			
-			// format the current value of that property
-			propertyChangeHandler(null);
-		}
-		
-		private var _propertyName:String;
-		private var _eventName:String;
-		private var _formattedResult:String;
-		private var _fractionalDigits:Number = 2;
-        private var _currencySymbol:String = "$";
-		
-		/**
-		 *  The name of the property on the model to format.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get propertyName():String
-		{
-			if (_propertyName == null) {
-				return "text";
-			}
-			return _propertyName;
-		}
-		public function set propertyName(value:String):void
-		{
-			_propertyName = value;
-		}
-		
-		/**
-		 *  The event dispatched by the model when the property changes. The
-		 *  default is propertyName+"Changed".
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get eventName():String
-		{
-			if (_eventName == null) {
-				return _propertyName+"Changed";
-			}
-			return _eventName;
-		}
-		public function set eventName(value:String):void
-		{
-			_eventName = value;
-		}
-		
-        /**
-		 *  Number of digits after the decimal separator
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get fractionalDigits():int
-		{
-			return _fractionalDigits;
-		}
-		public function set fractionalDigits(value:int):void
-		{
-            _fractionalDigits = value;
-		}
-		
-        /**
-         *  The currency symbol, such as "$"
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get currencySymbol():String
-        {
-            return _currencySymbol;
-        }
-        public function set currencySymbol(value:String):void
-        {
-            _currencySymbol = value;
-        }
-
-        /**
-		 *  The formatted string.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get formattedString():String
-		{
-			return _formattedResult;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function propertyChangeHandler(event:Event):void
-		{
-			// When the property changes, fetch it from the model and
-			// format it, storing the result in _formattedResult.
-			var model:IBeadModel = _strand.getBeadByType(IBeadModel) as IBeadModel;
-			var value:Object = model[propertyName];
-			_formattedResult = format(value);
-			
-			// Dispatch the formatChanged event so any bead that's interested in
-			// the formatted string knows to use it.
-			var newEvent:Event = new Event("formatChanged");
-			this.dispatchEvent(newEvent);
-		}
-		
-        /**
-         *  Computes the formatted string.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function format(value:Object):String
-		{
-			if (value == null) return "";
-			
-			var num:Number = Number(value);
-            var source:String = num.toFixed(fractionalDigits);
-			
-			return currencySymbol + source;
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/asjs/src/org/apache/flex/html/accessories/DateFormatMMDDYYYYBead.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/accessories/DateFormatMMDDYYYYBead.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/accessories/DateFormatMMDDYYYYBead.as
deleted file mode 100644
index 94d7f20..0000000
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/accessories/DateFormatMMDDYYYYBead.as
+++ /dev/null
@@ -1,158 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.accessories
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IDateChooserModel;
-	import org.apache.flex.core.IFormatBead;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IStrandWithModel;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.html.TextInput;
-	import org.apache.flex.html.beads.DateFieldView;
-	
-	/**
-	 * The DateFormatBead class formats the display of a DateField using MM/DD/YYYY format.
-	 *  
-     *  @flexjsignoreimport org.apache.flex.core.IStrandWithModel
-     * 
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DateFormatMMDDYYYYBead extends EventDispatcher implements IBead, IFormatBead
-	{
-		/**
-		 * constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DateFormatMMDDYYYYBead()
-		{
-		}
-		
-		private var _propertyName:String;
-		private var _eventName:String;
-		private var _formattedResult:String;
-		
-		/**
-		 *  The name of the property on the model holding the value to be formatted.
-		 *  The default is selectedDate.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get propertyName():String
-		{
-			if (_propertyName == null) {
-				return "selectedDate";
-			}
-			return _propertyName;
-		}
-		public function set propertyName(value:String):void
-		{
-			_propertyName = value;
-		}
-		
-		/**
-		 *  The name of the event dispatched when the property changes. The
-		 *  default is selectedDateChanged.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get eventName():String
-		{
-			if (_eventName == null) {
-				return _propertyName+"Changed";
-			}
-			return _eventName;
-		}
-		public function set eventName(value:String):void
-		{
-			_eventName = value;
-		}
-		
-		/**
-		 *  The formatted result.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get formattedString():String
-		{
-			return _formattedResult;
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-         *  @flexjsignorecoercion org.apache.flex.core.IStrandWithModel
-         * 
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			var model:IDateChooserModel = IStrandWithModel(_strand).model as IDateChooserModel;
-			model.addEventListener("selectedDateChanged",handleTextChange);
-		}
-		
-		/**
-		 * @private
-         * 
-         * @flexjsignorecoercion org.apache.flex.core.IStrandWithModel
-		 */
-		private function handleTextChange(event:Event):void
-		{
-			var model:IDateChooserModel = IStrandWithModel(_strand).model as IDateChooserModel;
-			/*var view:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
-			var input:TextInput = view.textInput;*/
-			
-			var d:Date = model.selectedDate;
-			var month:String = String(d.getMonth()+1);
-			if (Number(month)<10) month = "0"+month;
-			var date:String = String(d.getDate());
-			if (Number(date)<10) date = "0"+date;
-			var fmt:String = month+"/"+date+"/"+String(d.getFullYear());
-			/*input.text = fmt;*/
-			_formattedResult = month+"/"+date+"/"+String(d.getFullYear());
-			
-			dispatchEvent( new Event("formatChanged") );
-		}
-		
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/asjs/src/org/apache/flex/html/accessories/NumberFormatter.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/accessories/NumberFormatter.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/accessories/NumberFormatter.as
deleted file mode 100644
index 0d1b613..0000000
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/accessories/NumberFormatter.as
+++ /dev/null
@@ -1,210 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.accessories
-{
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IFormatBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	/**
-	 * The NumberFormatter class formats a value in separated groups. The formatter listens
-	 * to a property on a model and when the property changes, formats it and dispatches a
-	 * formatChanged event.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class NumberFormatter extends EventDispatcher implements IFormatBead
-	{
-		/**
-		 *  constructor
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function NumberFormatter()
-		{
-			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;
-			
-			// Listen for the beadsAdded event which signals when all of a strand's
-			// beads have been added.
-			IEventDispatcher(value).addEventListener("beadsAdded",handleBeadsAdded);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleBeadsAdded(event:Event):void
-		{
-			// Listen for the change in the model
-			var model:IBeadModel = _strand.getBeadByType(IBeadModel) as IBeadModel;
-			model.addEventListener(eventName,propertyChangeHandler);
-			model.addEventListener(propertyName+"Change",propertyChangeHandler);
-			
-			// format the current value of that property
-			propertyChangeHandler(null);
-		}
-		
-		private var _propertyName:String;
-		private var _eventName:String;
-		private var _formattedResult:String;
-		private var _groupSize:Number = 3;
-		private var _thousandsSeparator:String = ",";
-		
-		/**
-		 *  The name of the property on the model to format.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get propertyName():String
-		{
-			if (_propertyName == null) {
-				return "text";
-			}
-			return _propertyName;
-		}
-		public function set propertyName(value:String):void
-		{
-			_propertyName = value;
-		}
-		
-		/**
-		 *  The event dispatched by the model when the property changes. The
-		 *  default is propertyName+"Changed".
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get eventName():String
-		{
-			if (_eventName == null) {
-				return _propertyName+"Changed";
-			}
-			return _eventName;
-		}
-		public function set eventName(value:String):void
-		{
-			_eventName = value;
-		}
-		
-		/**
-		 *  Character to use to separate thousands groups. The default is
-		 *  the comma (,).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get thousandsSeparator():String
-		{
-			return _thousandsSeparator;
-		}
-		public function set thousandsSeparator(value:String):void
-		{
-			_thousandsSeparator = value;
-		}
-		
-		/**
-		 *  The formatted string.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get formattedString():String
-		{
-			return _formattedResult;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function propertyChangeHandler(event:Event):void
-		{
-			// When the property changes, fetch it from the model and
-			// format it, storing the result in _formattedResult.
-			var model:IBeadModel = _strand.getBeadByType(IBeadModel) as IBeadModel;
-			var value:Object = model[propertyName];
-			_formattedResult = format(value);
-			
-			// Dispatch the formatChanged event so any bead that's interested in
-			// the formatted string knows to use it.
-			var newEvent:Event = new Event("formatChanged");
-			this.dispatchEvent(newEvent);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function format(value:Object):String
-		{
-			if (value == null) return "";
-			
-			var num:Number = Number(value);
-			var source:String = String(value);
-			var parts:Array = source.split(thousandsSeparator);
-			source = parts.join("");
-			
-			var l:int = source.length;
-			var result:String = "";
-			var group:int = 0;
-			
-			for(var i:int=l-1; i >= 0; i--)
-			{
-				if (group == _groupSize && result.length > 0) {
-					result = thousandsSeparator + result;
-					group = 0;
-				}
-				result = source.charAt(i) + result;
-				group++;
-			}
-			
-			return result;
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/FormatableLabelView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/FormatableLabelView.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/FormatableLabelView.as
deleted file mode 100644
index 03b6ccd..0000000
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/FormatableLabelView.as
+++ /dev/null
@@ -1,90 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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
-{
-	import org.apache.flex.core.IFormatBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	/**
-	 *  The FormatableLabelView class is a View bead that is capable of working
-	 *  with a format bead to display a formatted value. When the format bead has
-	 *  created a formatted string, it dispatches a formatChanged event that the
-	 *  FormatableLabelView class intercepts and displays in the label.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class FormatableLabelView extends TextFieldView
-	{
-		/**
-		 *  constructor
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function FormatableLabelView()
-		{
-			super();
-		}
-		
-		private var _formatter:IFormatBead;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			IEventDispatcher(value).addEventListener("beadsAdded",handleBeadsAdded);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleBeadsAdded(event:Event):void
-		{
-			_formatter = _strand.getBeadByType(IFormatBead) as IFormatBead;
-			_formatter.addEventListener("formatChanged",formatReadyHandler);
-			
-			// process any text set in the label at this moment
-			text = _formatter.formattedString;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function formatReadyHandler(event:Event):void
-		{
-			if (_formatter) {
-				text = _formatter.formattedString;
-			}
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/FormatableTextInputView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/FormatableTextInputView.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/FormatableTextInputView.as
deleted file mode 100644
index 926253c..0000000
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/FormatableTextInputView.as
+++ /dev/null
@@ -1,91 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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
-{
-	import org.apache.flex.core.IFormatBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-
-	/**
-	 *  The FormatableTextInputView class is a View bead that extends TextInputWithBorderView
-	 *  and is capable of working with a format bead. When a format bead dispatches a
-	 *  formatChanged event, the FormatableTextInputView bead copies the formatted string to
-	 *  to the text field.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class FormatableTextInputView extends TextInputWithBorderView
-	{
-		/**
-		 *  constructor
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function FormatableTextInputView()
-		{
-			super();
-		}
-		
-		private var _formatter:IFormatBead;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			IEventDispatcher(value).addEventListener("beadsAdded",handleBeadsAdded);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleBeadsAdded(event:Event):void
-		{
-			_formatter = _strand.getBeadByType(IFormatBead) as IFormatBead;
-			if (_formatter) {
-				_formatter.addEventListener("formatChanged",formatChangedHandler);
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		private function formatChangedHandler(event:Event):void
-		{
-			this.textField.text = _formatter.formattedString;
-			
-			// move the cursor to the end
-			var l:int = this.textField.text.length;
-			this.textField.setSelection(l,l);
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/controllers/DragMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/controllers/DragMouseController.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/controllers/DragMouseController.as
deleted file mode 100644
index 01351b8..0000000
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/controllers/DragMouseController.as
+++ /dev/null
@@ -1,261 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.controllers
-{
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IDragInitiator;
-    import org.apache.flex.core.IPopUpHost;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.DragEvent;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.events.MouseEvent;
-    import org.apache.flex.geom.Point;
-	import org.apache.flex.utils.PointUtils;
-    import org.apache.flex.utils.UIUtils;
-	
-    /**
-     *  Indicates that a drag/drop operation is starting.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="dragStart", type="org.apache.flex.events.DragEvent")]
-    
-    /**
-     *  Indicates that the mouse is moving during
-     *  a drag/drop operation.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="dragMove", type="org.apache.flex.events.DragEvent")]
-    
-    /**
-     *  Indicates that a drag/drop operation is ending.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="dragEnd", type="org.apache.flex.events.DragEvent")]
-    
-	/**
-	 *  The DragMouseController bead handles mouse events on the 
-	 *  a component, looking for activity that constitutes the start
-     *  of a drag drop operation.
-	 *  
-     *  @flexjsignoreimport org.apache.flex.core.IDragInitiator
-     *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DragMouseController extends EventDispatcher implements IBead
-	{
-        /**
-         *  Whether there is a drag operation
-         *  in progress.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public static var dragging:Boolean = false;
-        
-        /**
-         *  The drag image.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public static var dragImage:IUIBase;
-        
-        /**
-         *  The offset of the drag image.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public static var dragImageOffsetX:Number = 0;
-        
-        /**
-         *  The offset of the drag image.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public static var dragImageOffsetY:Number = 0;
-        
-        /**
-         *  The default movement in x and or y that
-         *  means a drag should start
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public static var defaultThreshold:int = 4;
-        
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DragMouseController()
-		{
-            threshold = defaultThreshold;
-		}
-		
-        /**
-         *  The movement in x and or y that
-         *  means a drag should start
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var threshold:int = 4;
-        
-		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;
-			
-            IEventDispatcher(_strand).addEventListener(MouseEvent.MOUSE_DOWN, dragMouseDownHandler);
-		}
-		
-		public function get strand():IStrand
-		{
-			return _strand;
-		}
-        
-        private var mouseDownX:Number;
-        private var mouseDownY:Number;
-        
-        private var host:IPopUpHost;
-        
-        /**
-         *  @private
-         */
-        private function dragMouseDownHandler(event:MouseEvent):void
-        {
-            trace("dragMouseDown");
-            IUIBase(_strand).topMostEventDispatcher.addEventListener(MouseEvent.MOUSE_MOVE, dragMouseMoveHandler);
-            IUIBase(_strand).topMostEventDispatcher.addEventListener(MouseEvent.MOUSE_UP, dragMouseUpHandler);
-            mouseDownX = event.screenX;
-            mouseDownY = event.screenY;
-            event.preventDefault();
-        }
-        
-        private function dragMouseMoveHandler(event:MouseEvent):void
-        {
-            var pt:Point;
-            var dragEvent:DragEvent;
-            trace("dragMouseMove");
-            
-            event.preventDefault();
-            
-            if (!dragging)
-            {
-                trace("not dragging anything else");
-                if (Math.abs(event.screenX - mouseDownX) > threshold ||
-                    Math.abs(event.screenY - mouseDownY) > threshold)
-                {
-                    trace("sending dragStart");
-                    dragEvent = DragEvent.createDragEvent("dragStart", event);
-                    DragEvent.dispatchDragEvent(dragEvent, IEventDispatcher(_strand));
-                    if (DragEvent.dragSource != null)
-                    {
-                        dragging = true;
-                        host = UIUtils.findPopUpHost(_strand as IUIBase);
-                        host.addElement(dragImage);
-                        pt = PointUtils.globalToLocal(new Point(event.clientX, event.clientY), host);
-                        dragImage.x = pt.x + dragImageOffsetX;
-                        dragImage.y = pt.y + dragImageOffsetY;
-                    }
-                }
-            }
-            else
-            {
-                trace("sending dragMove " + event.target.toString());
-                dragEvent = DragEvent.createDragEvent("dragMove", event);
-                trace("client: " + event.clientX.toString() + " " + event.clientY.toString() + " " + event.target.toString());
-                pt = PointUtils.globalToLocal(new Point(event.clientX, event.clientY), host);
-                trace("host: " + pt.x.toString() + " " + pt.y.toString());
-                dragImage.x = pt.x + dragImageOffsetX;
-                dragImage.y = pt.y + dragImageOffsetY;
-                DragEvent.dispatchDragEvent(dragEvent, IEventDispatcher(event.target));
-            }
-        }
-        
-        private function dragMouseUpHandler(event:MouseEvent):void
-        {
-            trace("dragMouseUp");
-            var dragEvent:DragEvent;
-            
-            if (dragging)
-            {
-                trace("sending dragEnd");
-                dragEvent = DragEvent.createDragEvent("dragEnd", event);
-                DragEvent.dispatchDragEvent(dragEvent, IEventDispatcher(event.target));
-                event.preventDefault();
-            }
-            dragging = false;
-            DragEvent.dragSource = null;
-            DragEvent.dragInitiator = null;
-            if (dragImage && host)
-                host.removeElement(dragImage);
-            dragImage = null;
-            IUIBase(_strand).topMostEventDispatcher.removeEventListener(MouseEvent.MOUSE_MOVE, dragMouseMoveHandler);
-            IUIBase(_strand).topMostEventDispatcher.removeEventListener(MouseEvent.MOUSE_UP, dragMouseUpHandler);			
-        }
-		
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c84daedb/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/controllers/DropMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/controllers/DropMouseController.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/controllers/DropMouseController.as
deleted file mode 100644
index 03afba6..0000000
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/controllers/DropMouseController.as
+++ /dev/null
@@ -1,181 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.controllers
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IDragInitiator;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.DragEvent;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.events.MouseEvent;
-
-    /**
-     *  Indicates that the mouse has entered the component during
-     *  a drag operatino.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="dragEnter", type="org.apache.flex.events.DragEvent")]
-    
-    /**
-     *  Indicates that the mouse is moving over a component during
-     *  a drag/drop operation.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="dragOver", type="org.apache.flex.events.DragEvent")]
-    
-    /**
-     *  Indicates that the mouse is moving out of a component during
-     *  a drag/drop operation.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="dragExit", type="org.apache.flex.events.DragEvent")]
-    
-    /**
-     *  Indicates that a drop operation should be executed.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="dragDrop", type="org.apache.flex.events.DragEvent")]
-    
-	/**
-	 *  The DropMouseController bead handles mouse events on the 
-	 *  a component, looking for events from a drag/drop operation.
-	 *  
-     *  @flexjsignoreimport org.apache.flex.core.IDragInitiator
-     * 
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DropMouseController extends EventDispatcher implements IBead
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DropMouseController()
-		{
-		}
-		        
-		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;
-			
-            IEventDispatcher(_strand).addEventListener(DragEvent.DRAG_MOVE, dragMoveHandler);
-		}
-		
-		public function get strand():IStrand
-		{
-			return _strand;
-		}
-        
-        private var inside:Boolean;
-        
-        private var dragSource:Object;
-        private var dragInitiator:IDragInitiator;
-        
-        public function acceptDragDrop(target:IUIBase, type:String):void
-        {
-            // TODO: aharui: switch icons
-        }
-        
-        /**
-         *  @private
-         */
-        private function dragMoveHandler(event:DragEvent):void
-        {
-            trace("dragMove");
-            var dragEvent:DragEvent;
-            if (!inside)
-            {
-                dragEvent = DragEvent.createDragEvent("dragEnter", event);
-                dispatchEvent(dragEvent);
-                inside = true;
-                IUIBase(_strand).topMostEventDispatcher.addEventListener(DragEvent.DRAG_END, dragEndHandler);
-                IUIBase(_strand).addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
-            }
-            else
-            {
-                dragEvent = DragEvent.createDragEvent("dragOver", event);
-                dispatchEvent(dragEvent);
-            }
-        }
-        
-        private function rollOutHandler(event:MouseEvent):void
-        {
-            var dragEvent:DragEvent;
-            
-            if (inside)
-            {
-                dragEvent = DragEvent.createDragEvent("dragExit", event);
-                dispatchEvent(dragEvent);
-                inside = false;
-            }
-            IUIBase(_strand).topMostEventDispatcher.removeEventListener(DragEvent.DRAG_END, dragEndHandler);
-            IUIBase(_strand).removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);			
-        }
-        
-        private function dragEndHandler(event:DragEvent):void
-        {
-            trace("dragEnd");
-            var dragEvent:DragEvent;
-            
-            dragEvent = DragEvent.createDragEvent("dragDrop", event);
-            dispatchEvent(dragEvent);
-            
-            inside = false;
-            IUIBase(_strand).topMostEventDispatcher.removeEventListener(DragEvent.DRAG_END, dragEndHandler);
-            IUIBase(_strand).removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);			
-        }
-		
-	}
-}