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 2013/11/18 22:02:56 UTC

[01/21] move AS code into a projects/FlexJSUI

Updated Branches:
  refs/heads/develop 2ab957fa6 -> 66246d8a8


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/utils/MXMLDataInterpreter.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/utils/MXMLDataInterpreter.as b/frameworks/as/src/org/apache/flex/utils/MXMLDataInterpreter.as
deleted file mode 100644
index 3538e51..0000000
--- a/frameworks/as/src/org/apache/flex/utils/MXMLDataInterpreter.as
+++ /dev/null
@@ -1,321 +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.utils
-{
-
-import org.apache.flex.core.IStrand;
-import org.apache.flex.core.IBead;
-import org.apache.flex.core.IDocument;
-import org.apache.flex.core.IParent;
-import org.apache.flex.core.IContainer;
-
-public class MXMLDataInterpreter
-{
-    public function MXMLDataInterpreter()
-    {
-        super();
-    }
-    	
-    
-    public static function generateMXMLObject(document:Object, data:Array):Object
-    {
-        var i:int = 0;
-        var cls:Class = data[i++];
-        var comp:Object = new cls();
-        
-        var m:int;
-        var j:int;
-        var name:String;
-        var simple:*;
-        var value:Object;
-        var id:String;
-        
-        m = data[i++]; // num props
-        for (j = 0; j < m; j++)
-        {
-            name = data[i++];
-            simple = data[i++];
-            value = data[i++];
-            if (simple == null)
-                value = generateMXMLArray(document, null, value as Array);
-            else if (simple == false)
-                value = generateMXMLObject(document, value as Array);
-            if (name == "id")
-            {
-                document[value] = comp;
-                id = value as String;
-            }
-            else if (name == "_id")
-            {
-                document[value] = comp;
-                id = value as String;
-                continue; // skip assignment to comp
-            }
-            comp[name] = value;
-        }
-        if (comp is IDocument)
-            comp.setDocument(document, id);
-        return comp;
-    }
-    
-    public static function generateMXMLArray(document:Object, parent:IParent, data:Array, recursive:Boolean = true):Array
-    {
-        var comps:Array = [];
-        
-        var n:int = data.length;
-        var i:int = 0;
-        while (i < n)
-        {
-            var cls:Class = data[i++];
-            var comp:Object = new cls();
-                        
-            var m:int;
-            var j:int;
-            var name:String;
-            var simple:*;
-            var value:Object;
-            var id:String = null;
-            
-            m = data[i++]; // num props
-            if (m > 0 && data[0] == "model")
-            {
-                m--;
-                name = data[i++];
-                simple = data[i++];
-                value = data[i++];
-                if (simple == null)
-                    value = generateMXMLArray(document, parent, value as Array, recursive);
-                else if (simple == false)
-                    value = generateMXMLObject(document, value as Array);
-                comp[name] = value;
-                if (value is IBead && comp is IStrand)
-                    IStrand(comp).addBead(value as IBead);
-            }
-            var beadOffset:int = i + (m - 1) * 3;
-            if (beadOffset >= -1)
-                trace(beadOffset, data[beadOffset]);
-            if (m > 0 && data[beadOffset] == "beads")
-            {
-                m--;
-            }
-            else
-                beadOffset = -1;
-            for (j = 0; j < m; j++)
-            {
-                name = data[i++];
-                simple = data[i++];
-                value = data[i++];
-                if (simple == null)
-                    value = generateMXMLArray(document, null, value as Array, recursive);
-                else if (simple == false)
-                    value = generateMXMLObject(document, value as Array);
-                if (name == "id")
-                    id = value as String;
-                if (name == "document" && !comp.document)
-                    comp.document = document;
-                else if (name == "_id")
-                    id = value as String; // and don't assign to comp
-                else
-                    comp[name] = value;
-            }
-            if (beadOffset > -1)
-            {
-                name = data[i++];
-                simple = data[i++];
-                value = data[i++];
-                if (simple == null)
-                    value = generateMXMLArray(document, null, value as Array, recursive);
-                else if (simple == false)
-                    value = generateMXMLObject(document, value as Array);
-                else
-                    comp[name] = value;
-                var beads:Array = value as Array;
-                var l:int = beads.length;
-                for (var k:int = 0; k < l; k++)
-                {
-                    var bead:IBead = beads[k] as IBead;
-                    IStrand(comp).addBead(bead);
-                }
-            }
-            m = data[i++]; // num styles
-            for (j = 0; j < m; j++)
-            {
-                name = data[i++];
-                simple = data[i++];
-                value = data[i++];
-                if (simple == null)
-                    value = generateMXMLArray(document, null, value as Array, recursive);
-                else if (simple == false)
-                    value = generateMXMLObject(document, value as Array);
-                comp.setStyle(name, value);
-            }            
-            
-            m = data[i++]; // num effects
-            for (j = 0; j < m; j++)
-            {
-                name = data[i++];
-                simple = data[i++];
-                value = data[i++];
-                if (simple == null)
-                    value = generateMXMLArray(document, null, value as Array, recursive);
-                else if (simple == false)
-                    value = generateMXMLObject(document, value as Array);
-                comp.setStyle(name, value);
-            }
-            
-            m = data[i++]; // num events
-            for (j = 0; j < m; j++)
-            {
-                name = data[i++];
-                value = data[i++];
-                comp.addEventListener(name, value);
-            }
-            
-            if (parent)
-            {
-                parent.addElement(comp);
-            }
-
-            var children:Array = data[i++];
-            if (children)
-            {
-                if (recursive)
-				{
-                    generateMXMLInstances(document, comp as IParent, children, recursive);
-					if (comp is IContainer)
-					{
-						IContainer(comp).childrenAdded();
-					}
-				}
-                else
-                    comp.setMXMLDescriptor(children);
-            }
-            
-            if (id)
-                document[id] = comp;
-            
-            if (comp is IDocument)
-                comp.setDocument(document, id);
-            comps.push(comp);
-        }
-        return comps;
-    }
-    
-    public static function generateMXMLInstances(document:Object, parent:IParent, data:Array, recursive:Boolean = true):void
-    {
-		if (!data) return;
-		
-        generateMXMLArray(document, parent, data, recursive);
-    }
-    
-    public static function generateMXMLProperties(host:Object, data:Array):void
-    {
-		if (!data) return;
-		
-        var i:int = 0;
-        var m:int;
-        var j:int;
-        var name:String;
-        var simple:*;
-        var value:Object;
-        var id:String = null;
-        
-        m = data[i++]; // num props
-        var beadOffset:int = i + (m - 1) * 3;
-        if (beadOffset >= -1)
-            trace(beadOffset, data[beadOffset]);
-        if (m > 0 && data[beadOffset] == "beads")
-        {
-            m--;
-        }
-        else
-            beadOffset = -1;
-        for (j = 0; j < m; j++)
-        {
-            name = data[i++];
-            simple = data[i++];
-            value = data[i++];
-            if (simple == null)
-                value = generateMXMLArray(host, null, value as Array, true);
-            else if (simple == false)
-                value = generateMXMLObject(host, value as Array);
-            if (name == "id")
-                id = value as String;
-            if (name == "_id")
-                id = value as String; // and don't assign
-            else
-                host[name] = value;
-        }
-        if (beadOffset > -1)
-        {
-            name = data[i++];
-            simple = data[i++];
-            value = data[i++];
-            if (simple == null)
-                value = generateMXMLArray(host, null, value as Array, true);
-            else if (simple == false)
-                value = generateMXMLObject(host, value as Array);
-            else
-                host[name] = value;
-            var beads:Array = value as Array;
-            var l:int = beads.length;
-            for (var k:int = 0; k < l; k++)
-            {
-                var bead:IBead = beads[k] as IBead;
-                IStrand(host).addBead(bead);
-                bead.strand = host as IStrand;
-            }
-        }
-        m = data[i++]; // num styles
-        for (j = 0; j < m; j++)
-        {
-            name = data[i++];
-            simple = data[i++];
-            value = data[i++];
-            if (simple == null)
-                value = generateMXMLArray(host, null, value as Array, true);
-            else if (simple == false)
-                value = generateMXMLObject(host, value as Array);
-            host[name] = value;
-        }
-        
-        m = data[i++]; // num effects
-        for (j = 0; j < m; j++)
-        {
-            name = data[i++];
-            simple = data[i++];
-            value = data[i++];
-            if (simple == null)
-                value = generateMXMLArray(host, null, value as Array, true);
-            else if (simple == false)
-                value = generateMXMLObject(host, value as Array);
-            host[name] = value;
-        }
-        
-        m = data[i++]; // num events
-        for (j = 0; j < m; j++)
-        {
-            name = data[i++];
-            value = data[i++];
-            host.addEventListener(name, value as Function);
-        }
-    }
-    
-}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/utils/SolidBorderUtil.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/utils/SolidBorderUtil.as b/frameworks/as/src/org/apache/flex/utils/SolidBorderUtil.as
deleted file mode 100644
index cb43da1..0000000
--- a/frameworks/as/src/org/apache/flex/utils/SolidBorderUtil.as
+++ /dev/null
@@ -1,39 +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.utils
-{
-	import flash.display.Graphics;
-
-public class SolidBorderUtil
-{
-	public static function drawBorder(g:Graphics, x:Number, y:Number, 
-									  width:Number, height:Number,
-									  color:uint, backgroundColor:Object = null, 
-									  thickness:int = 1, alpha:Number = 1.0):void
-	{
-		g.lineStyle(thickness, color, alpha);
-		if (backgroundColor != null)
-			g.beginFill(uint(backgroundColor));	
-		
-		g.drawRect(x, y, width, height);
-		if (backgroundColor != null)
-			g.endFill();
-	}
-}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/utils/Timer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/utils/Timer.as b/frameworks/as/src/org/apache/flex/utils/Timer.as
deleted file mode 100644
index 541ddfd..0000000
--- a/frameworks/as/src/org/apache/flex/utils/Timer.as
+++ /dev/null
@@ -1,45 +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.utils
-{
-import flash.events.TimerEvent;
-import flash.utils.Timer;
-
-import org.apache.flex.events.Event;
-
-[Event(name="timer", type="org.apache.flex.events.Event")]
-
-public class Timer extends flash.utils.Timer
-{
-    public function Timer(delay:Number, repeatCount:int = 0)
-    {
-        super(delay, repeatCount);
-		addEventListener("timer", interceptor, false, 9999);
-    }
-
-	private function interceptor(event:flash.events.Event):void
-	{
-		if (event is TimerEvent)
-		{
-			event.stopImmediatePropagation();
-			dispatchEvent(new Event("timer"));
-		}
-	}
-}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/utils/ViewSourceContextMenuOption.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/utils/ViewSourceContextMenuOption.as b/frameworks/as/src/org/apache/flex/utils/ViewSourceContextMenuOption.as
deleted file mode 100644
index e119377..0000000
--- a/frameworks/as/src/org/apache/flex/utils/ViewSourceContextMenuOption.as
+++ /dev/null
@@ -1,63 +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.utils
-{
-
-import flash.display.InteractiveObject;
-import flash.events.ContextMenuEvent;
-import flash.net.URLRequest;
-import flash.net.navigateToURL;
-import flash.ui.ContextMenu;
-import flash.ui.ContextMenuItem;
-
-import org.apache.flex.core.IBead;
-import org.apache.flex.core.IStrand;
-
-public class ViewSourceContextMenuOption implements IBead
-{
-    public function ViewSourceContextMenuOption()
-    {
-    }
-
-	private var _strand:IStrand;
-	
-	public function set strand(value:IStrand):void
-	{
-		_strand = value;
-		
-		var menuHost:InteractiveObject = InteractiveObject(value);
-		var cm:ContextMenu = menuHost.contextMenu;
-		if (!cm)
-		{
-			cm = new ContextMenu();
-			menuHost.contextMenu = cm;
-		}
-		var cmi:ContextMenuItem = new ContextMenuItem("View Source...");
-		cm.hideBuiltInItems();
-		cm.customItems.push(cmi);
-		cmi.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, viewSource);
-	}
-	
-	private function viewSource(e:ContextMenuEvent):void
-	{
-		var urlRequest:URLRequest = new URLRequest("srcview/index.html");
-		navigateToURL(urlRequest, "_blank");	
-	}
-}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/svg-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/svg-manifest.xml b/frameworks/as/svg-manifest.xml
deleted file mode 100644
index 89d7728..0000000
--- a/frameworks/as/svg-manifest.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.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.
-
--->
-
-
-<componentPackage>
-
-    <component id="TextButton" class="org.apache.flex.svg.staticControls.TextButton"/>
-
-</componentPackage>


[19/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/PropertyWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/PropertyWatcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/PropertyWatcher.as
new file mode 100644
index 0000000..6bad414
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/PropertyWatcher.as
@@ -0,0 +1,148 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.binding
+{
+
+[ExcludeClass]
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class PropertyWatcher extends Watcher
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Create a PropertyWatcher
+     *
+     *  @param prop The name of the property to watch.
+     *  @param event The event type that indicates the property has changed.
+     *  @param listeners The binding objects that are listening to this Watcher.
+     *  @param propertyGetter A helper function used to access non-public variables.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function PropertyWatcher(propertyName:String,
+                                    events:Object,
+                                    listeners:Array,
+                                    propertyGetter:Function = null)
+    {
+		super(listeners);
+
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+     *  The parent object of this property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var parentObj:Object;
+
+    /**
+     *  The events that indicate the property has changed
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    protected var events:Object;
+
+    /**
+     *  Storage for the propertyGetter property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    protected var propertyGetter:Function;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  propertyName
+	//----------------------------------
+
+	/**
+     *  Storage for the propertyName property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var _propertyName:String;
+    
+    /**
+     *  The name of the property this Watcher is watching.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get propertyName():String
+    {
+        return _propertyName;
+    }
+
+	//----------------------------------
+	//  useRTTI
+	//----------------------------------
+
+    /**
+     *	If compiler can't determine bindability from static type,
+	 *  use RTTI on runtime values.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var useRTTI:Boolean;
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterComponentWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterComponentWatcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterComponentWatcher.as
new file mode 100644
index 0000000..b16f2ae
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterComponentWatcher.as
@@ -0,0 +1,74 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.binding
+{
+
+
+[ExcludeClass]
+
+/**
+ *  @private
+ */
+public class RepeaterComponentWatcher extends PropertyWatcher
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+     *
+     *  Create a RepeaterComponentWatcher
+     *
+     *  @param prop The name of the property to watch.
+     *  @param event The event type that indicates the property has changed.
+     *  @param listeners The binding objects that are listening to this Watcher.
+     *  @param propertyGetter A helper function used to access non-public variables.
+	 */
+    public function RepeaterComponentWatcher(propertyName:String,
+                                             events:Object,
+                                             listeners:Array,
+                                             propertyGetter:Function = null)
+    {
+		super(propertyName, events, listeners, propertyGetter);
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+    private var clones:Array;
+
+	/**
+	 *  @private
+	 */
+    private var original:Boolean = true;
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterItemWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterItemWatcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterItemWatcher.as
new file mode 100644
index 0000000..8d5e8e2
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/RepeaterItemWatcher.as
@@ -0,0 +1,74 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.binding
+{
+
+[ExcludeClass]
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class RepeaterItemWatcher extends Watcher
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Constructor.
+	 */
+    public function RepeaterItemWatcher(dataProviderWatcher:PropertyWatcher)
+    {
+		super();
+
+        this.dataProviderWatcher = dataProviderWatcher;
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+    private var dataProviderWatcher:PropertyWatcher;
+
+	/**
+	 *  @private
+	 */
+    private var clones:Array;
+
+	/**
+	 *  @private
+	 */
+    private var original:Boolean = true;
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/StaticPropertyWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/StaticPropertyWatcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/StaticPropertyWatcher.as
new file mode 100644
index 0000000..726211a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/StaticPropertyWatcher.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 mx.binding
+{
+
+[ExcludeClass]
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class StaticPropertyWatcher extends Watcher
+{
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Create a StaticPropertyWatcher
+     *
+     *  @param prop The name of the static property to watch.
+     *  @param event The event type that indicates the static property has changed.
+     *  @param listeners The binding objects that are listening to this Watcher.
+     *  @param propertyGetter A helper function used to access non-public variables.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function StaticPropertyWatcher(propertyName:String,
+                                          events:Object,
+                                          listeners:Array,
+                                          propertyGetter:Function = null)
+    {
+        super(listeners);
+
+        _propertyName = propertyName;
+        this.events = events;
+        this.propertyGetter = propertyGetter;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The parent class of this static property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var parentObj:Class;
+
+    /**
+     *  The events that indicate the static property has changed
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    protected var events:Object;
+
+    /**
+     *  Storage for the propertyGetter property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var propertyGetter:Function;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  propertyName
+    //----------------------------------
+
+    /**
+     *  Storage for the propertyName property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var _propertyName:String;
+
+    /**
+     *  The name of the property this Watcher is watching.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get propertyName():String
+    {
+        return _propertyName;
+    }
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/Watcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/Watcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/Watcher.as
new file mode 100644
index 0000000..39df030
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/Watcher.as
@@ -0,0 +1,88 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.binding
+{
+
+[ExcludeClass]
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class Watcher
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+    public function Watcher(listeners:Array = null)
+    {
+		super();
+
+        this.listeners = listeners;
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  The binding objects that are listening to this Watcher.
+     *  The standard event mechanism isn't used because it's too heavyweight.
+     */
+    protected var listeners:Array;
+
+    /**
+     *  @private
+     *  Children of this watcher are watching sub values.
+     */
+    protected var children:Array;
+
+    /**
+     *  @private
+     *  The value itself.
+     */
+    public var value:Object;
+
+    /**
+     *  @private
+     *  Keep track of cloning when used in Repeaters.
+     */
+    protected var cloneIndex:int;
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/XMLWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/XMLWatcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/XMLWatcher.as
new file mode 100644
index 0000000..b324638
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/XMLWatcher.as
@@ -0,0 +1,106 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.binding 
+{
+
+[ExcludeClass]
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class XMLWatcher extends Watcher
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  Constructor.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function XMLWatcher(propertyName:String, listeners:Array)
+    {
+		super(listeners);
+
+        _propertyName = propertyName;
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+     *  The parent object of this property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var parentObj:Object;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  propertyName
+	//----------------------------------
+
+	/**
+     *  Storage for the propertyName property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var _propertyName:String;
+
+    /**
+     *  The name of the property this Watcher is watching.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get propertyName():String
+    {
+        return _propertyName;
+    }
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/ClassFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/ClassFactory.as b/frameworks/as/projects/FlexJSUI/src/mx/core/ClassFactory.as
new file mode 100644
index 0000000..8ca4e79
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/ClassFactory.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 mx.core
+{
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class ClassFactory implements IFactory
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param generator The Class that the <code>newInstance()</code> method uses
+	 *  to generate objects from this factory object.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function ClassFactory(generator:Class = null)
+    {
+		super();
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  generator
+	//----------------------------------
+
+    /**
+     *  The Class that the <code>newInstance()</code> method uses
+	 *  to generate objects from this factory object.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var generator:Class;
+
+	//----------------------------------
+	//  properties
+	//----------------------------------
+
+	/**
+	 *	An Object whose name/value pairs specify the properties to be set
+	 *  on each object generated by the <code>newInstance()</code> method.
+	 *
+	 *  <p>For example, if you set <code>properties</code> to
+	 *  <code>{ text: "Hello", width: 100 }</code>, then every instance
+	 *  of the <code>generator</code> class that is generated by calling
+	 *  <code>newInstance()</code> will have its <code>text</code> set to
+	 *  <code>"Hello"</code> and its <code>width</code> set to
+	 *  <code>100</code>.</p>
+	 *
+	 *  @default null
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var properties:Object = null;
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromClass.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromClass.as b/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromClass.as
new file mode 100644
index 0000000..9893d34
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromClass.as
@@ -0,0 +1,115 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.core
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class DeferredInstanceFromClass
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param generator The class whose instance the <code>getInstance()</code>
+     *  method creates and returns.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function DeferredInstanceFromClass(generator:Class)
+    {
+        super();
+
+        this.generator = generator;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  The generator class.
+     */
+    private var generator:Class;
+
+    /**
+     *  @private
+     *  The generated value.
+     */
+    private var instance:Object = null;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Creates and returns an instance of the class specified in the
+     *  DeferredInstanceFromClass constructor, if it does not yet exist;
+     *  otherwise, returns the already-created class instance.
+     *
+     *  @return An instance of the class specified in the
+     *  DeferredInstanceFromClass constructor.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function getInstance():Object
+    {
+        if (!instance)
+            instance = new generator();
+
+        return instance;
+    }
+    
+    /**
+     *  Resets the state of our factory to the initial, uninitialized state.
+     *  The reference to our cached instance is cleared.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 4
+     */
+    public function reset():void
+    {
+        instance = null;
+    }
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromFunction.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromFunction.as b/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromFunction.as
new file mode 100644
index 0000000..b93a277
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/DeferredInstanceFromFunction.as
@@ -0,0 +1,131 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.core
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class DeferredInstanceFromFunction
+{
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param generator A function that creates and returns an instance
+     *  of the required object.
+     *
+     *  @param destructor An optional function used to cleanup outstanding
+     *  references when <code>reset()</code> is called.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function DeferredInstanceFromFunction(generator:Function,
+        destructor:Function = null )
+    {
+        super();
+
+        this.generator = generator;
+        this.destructor = destructor;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  The generator function.
+     */
+    private var generator:Function;
+
+    /**
+     *  @private
+     *  The generated value.
+     */
+    private var instance:Object = null;
+
+    /**
+     *  @private
+     *  An optional function used to cleanup outstanding
+     *  references when reset() is invoked
+     */
+    private var destructor:Function;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Returns a reference to an instance of the desired object.
+     *  If no instance of the required object exists, calls the function
+     *  specified in this class' <code>generator</code> constructor parameter.
+     * 
+     *  @return An instance of the object.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function getInstance():Object
+    {
+        if (!instance)
+            instance = generator();
+
+        return instance;
+    }
+    
+    /**
+     *  Resets the state of our factory to the initial, uninitialized state.
+     *  The reference to our cached instance is cleared.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 4
+     */
+    public function reset():void
+    {
+        instance = null;
+        
+        if (destructor != null)
+            destructor();
+    }
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/IDeferredInstance.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/IDeferredInstance.as b/frameworks/as/projects/FlexJSUI/src/mx/core/IDeferredInstance.as
new file mode 100644
index 0000000..e3ac094
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/IDeferredInstance.as
@@ -0,0 +1,51 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.core
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public interface IDeferredInstance
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Creates an instance Object from a class or function,
+     *  if the instance does not yet exist.
+     *  
+     *  @return The instance Object.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function getInstance():Object;
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/IFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/IFactory.as b/frameworks/as/projects/FlexJSUI/src/mx/core/IFactory.as
new file mode 100644
index 0000000..205200b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/IFactory.as
@@ -0,0 +1,39 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.core
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public interface IFactory
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/IFlexModuleFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/IFlexModuleFactory.as b/frameworks/as/projects/FlexJSUI/src/mx/core/IFlexModuleFactory.as
new file mode 100644
index 0000000..536c92a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/IFlexModuleFactory.as
@@ -0,0 +1,147 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.core
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public interface IFlexModuleFactory
+{
+
+    
+    /**
+     *  Calls the <code>Security.allowDomain()</code> method for the SWF 
+     *  associated with this IFlexModuleFactory plus all the SWFs associated
+     *  with RSLs preloaded by this IFlexModuleFactory. RSLs loaded after this
+     *  call will, by default, allow the same domains as have been allowed by
+     *  previous calls to this method. This behavior is controlled by the <code>
+     *  allowDomainsInNewRSLs</code> property.
+     *
+     *  @param domains One or more strings or URLRequest objects that name 
+     *  the domains from which you want to allow access. 
+     *  You can specify the special domain "&#42;" to allow access from all domains. 
+     *
+     *  @see flash.system.Security#allowDomain()
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion Flex 4.5
+     */  
+    function allowDomain(... domains):void;
+    
+    /**
+     *  Calls the <code>Security.allowInsecureDomain()</code> method for the 
+     *  SWF associated with this IFlexModuleFactory
+     *  plus all the SWFs associated with RSLs preloaded by this 
+     *  IFlexModuleFactory. RSLs loaded after this call will, by default, 
+     *  allow the same domains as have been allowed by
+     *  previous calls to this method. This behavior is controlled by the <code>
+     *  allowInsecureDomainsInNewRSLs</code> property.
+     *
+     *  @param domains One or more strings or URLRequest objects that name 
+     *  the domains from which you want to allow access. 
+     *  You can specify the special domain "&#42;" to allow access from all domains. 
+     *
+     *  @see flash.system.Security#allowInsecureDomain()
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion Flex 4.5
+     */  
+    function allowInsecureDomain(... domains):void;
+    
+    /**
+     *  A way to call a method in this IFlexModuleFactory's context
+     *
+     *  @param fn The function or method to call.
+     *  @param thisArg The <code>this</code> pointer for the function.
+     *  @param argArray The arguments for the function.
+     *  @param returns If <code>true</code>, the function returns a value.
+     *
+     *  @return Whatever the function returns, if anything.
+     *  
+     *  @see Function.apply
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 3
+     */
+    function callInContext(fn:Function, thisArg:Object,
+                           argArray:Array, returns:Boolean = true):*;
+    
+    /**
+     *  A factory method that requests
+     *  an instance of a definition known to the module.
+     *
+     *  <p>You can provide an optional set of parameters to let
+     *  building factories change what they create based
+     *  on the input.
+     *  Passing <code>null</code> indicates that the default
+     *  definition is created, if possible.</p>
+     *
+     *  @param parameters An optional list of arguments. You can pass any number
+     *  of arguments, which are then stored in an Array called <code>parameters</code>.
+     *
+     *  @return An instance of the module, or <code>null</code>.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function create(... parameters):Object;
+    
+    /**
+     *  Returns a block of key/value pairs
+     *  that hold static data known to the module.
+     *  This method always succeeds, but can return an empty object.
+     *
+     *  @return An object containing key/value pairs. Typically, this object
+     *  contains information about the module or modules created by this 
+     *  factory; for example:
+     * 
+     *  <pre>
+     *  return {"description": "This module returns 42."};
+     *  </pre>
+     *  
+     *  Other common values in the returned object include the following:
+     *  <ul>
+     *   <li><code>fonts</code>: A list of embedded font faces.</li>
+     *   <li><code>rsls</code>: A list of run-time shared libraries.</li>
+     *   <li><code>mixins</code>: A list of classes initialized at startup.</li>
+     *  </ul>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function info():Object;
+    
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/IPropertyChangeNotifier.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/IPropertyChangeNotifier.as b/frameworks/as/projects/FlexJSUI/src/mx/core/IPropertyChangeNotifier.as
new file mode 100644
index 0000000..39d86ed
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/IPropertyChangeNotifier.as
@@ -0,0 +1,40 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.core
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public interface IPropertyChangeNotifier
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+	// Inherits uid property from IUID
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/core/IStateClient2.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/core/IStateClient2.as b/frameworks/as/projects/FlexJSUI/src/mx/core/IStateClient2.as
new file mode 100644
index 0000000..ae21531
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/core/IStateClient2.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ * @private
+ * shim the mx classes for states.  This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+package mx.core
+{
+	public interface IStateClient2
+	{
+ 	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEvent.as b/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEvent.as
new file mode 100644
index 0000000..dcb2996
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEvent.as
@@ -0,0 +1,78 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.events
+{
+
+import flash.events.Event;
+import mx.events.PropertyChangeEventKind;
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class PropertyChangeEvent extends Event
+{
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    public static const PROPERTY_CHANGE:String = "propertyChange";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    public static function createUpdateEvent(
+                                    source:Object,
+                                    property:Object,
+                                    oldValue:Object,
+                                    newValue:Object):PropertyChangeEvent
+    {
+        return null;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+
+    public function PropertyChangeEvent(type:String, bubbles:Boolean = false,
+                                        cancelable:Boolean = false,
+                                        kind:String = null,
+                                        property:Object = null, 
+                                        oldValue:Object = null,
+                                        newValue:Object = null,
+                                        source:Object = null)
+    {
+        super(type, bubbles, cancelable);
+    }
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEventKind.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEventKind.as b/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEventKind.as
new file mode 100644
index 0000000..3c7d321
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/events/PropertyChangeEventKind.as
@@ -0,0 +1,59 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.events
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public final class PropertyChangeEventKind
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  Indicates that the value of the property changed.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static const UPDATE:String = "update";
+
+    /**
+	 *  Indicates that the property was deleted from the object.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static const DELETE:String = "delete";
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/filters/IBitmapFilter.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/filters/IBitmapFilter.as b/frameworks/as/projects/FlexJSUI/src/mx/filters/IBitmapFilter.as
new file mode 100644
index 0000000..efe40a9
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/filters/IBitmapFilter.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+package mx.filters
+{
+	public interface IBitmapFilter
+	{
+ 	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as b/frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as
new file mode 100644
index 0000000..a2821a4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as
@@ -0,0 +1,67 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+// shim the mx classes for states.  Be careful about updates to the main SDK's
+// version as that will move the timestamp ahead of this one and then it will
+// take precedence over this one at link time.
+package mx.states
+{
+    import org.apache.flex.core.IDocument;
+    
+	public class AddItems implements IDocument
+	{
+		public function AddItems()
+		{
+			super();
+		}
+		
+        public var items:Array;
+        
+		public var itemsDescriptor:Array;     
+
+        public var destination:String;
+        
+        public var propertyName:String;
+        
+        public var position:String;
+        
+        public var relativeTo:String;
+        
+        public var document:Object;
+        
+        public function setDocument(document:Object, id:String = null):void
+        {
+            this.document = document;
+        }
+        
+        /**
+         * @private 
+         * Initialize this object from a descriptor.
+         */
+        public function initializeFromObject(properties:Object):Object
+        {
+            for (var p:String in properties)
+            {
+                this[p] = properties[p];
+            }
+            
+            return Object(this);
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/states/SetProperty.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/states/SetProperty.as b/frameworks/as/projects/FlexJSUI/src/mx/states/SetProperty.as
new file mode 100644
index 0000000..78e0a73
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/states/SetProperty.as
@@ -0,0 +1,60 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+// shim the mx classes for states
+package mx.states
+{
+    import org.apache.flex.core.IDocument;
+    
+	public class SetProperty implements IDocument
+	{
+		public function SetProperty()
+		{
+			super();
+		}
+		
+        public var target:String;
+        
+        public var name:String;
+        
+        public var value:*;
+
+        public var previousValue:*;
+        
+        public var document:Object;
+        
+        public function setDocument(document:Object, id:String = null):void
+        {
+            this.document = document;
+        }
+        
+        /**
+         * @private 
+         * Initialize this object from a descriptor.
+         */
+        public function initializeFromObject(properties:Object):Object
+        {
+            for (var p:String in properties)
+            {
+                this[p] = properties[p];
+            }
+            
+            return Object(this);
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/states/State.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/states/State.as b/frameworks/as/projects/FlexJSUI/src/mx/states/State.as
new file mode 100644
index 0000000..3a38d54
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/states/State.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+// shim the mx classes for states
+package mx.states
+{
+	public class State
+	{
+		public function State(properties:Object = null)
+		{
+			super();
+		}
+		
+		public var name:String;
+        
+        public var overrides:Array;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSCondition.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSCondition.as b/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSCondition.as
new file mode 100644
index 0000000..82052ff
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSCondition.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 mx.styles
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class CSSCondition
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     * 
+     *  @param kind The kind of condition. For valid values see the
+     *  CSSConditionKind enumeration.
+     *  @param value The condition value (without CSS syntax).
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */ 
+    public function CSSCondition(kind:String, value:String)
+    {
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSSelector.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSSelector.as b/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSSelector.as
new file mode 100644
index 0000000..dd0ada2
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSSelector.as
@@ -0,0 +1,69 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.styles
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class CSSSelector
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     * 
+     *  @param subject The plain representation of this selector without
+     *  conditions or ancestors. This is typically a fully-qualified class name; for example,
+     *  "spark.components.Button". You can use "*" to match all components or "global" for a global selector.
+     *  
+     *  @param conditions  An optional Array of objects of type CSSCondition that is used to match a
+     *  subset of component instances. Currently only a single or a pair of
+     *  conditions are supported.
+     * 
+     *  @param ancestor An optional selector to match on a component that
+     *  descends from an arbitrary ancestor.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function CSSSelector(subject:String,
+            conditions:Array=null, ancestor:CSSSelector=null)
+    {
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSStyleDeclaration.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSStyleDeclaration.as b/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSStyleDeclaration.as
new file mode 100644
index 0000000..238504f
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/styles/CSSStyleDeclaration.as
@@ -0,0 +1,191 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.styles
+{
+    
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class CSSStyleDeclaration
+{
+        
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param selector - If the selector is a CSSSelector then advanced
+     *  CSS selectors are supported. If a String is used for the selector then
+     *  only simple CSS selectors are supported. If the String starts with a
+     *  dot it is interpreted as a universal class selector, otherwise it must
+     *  represent a simple type selector. If not null, this CSSStyleDeclaration
+     *  will be registered with StyleManager. 
+     *  
+     *  @param styleManager - The style manager to set this declaration into. If the
+     *  styleManager is null the top-level style manager will be used.
+     * 
+     *  @param autoRegisterWithStyleManager - If true set the selector in the styleManager. The selector
+     *  will only be set if both <code>selector</code> and <code>styleManager</code> are
+     *  both non-null.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function CSSStyleDeclaration(selector:Object=null, styleManager:IStyleManager2=null, autoRegisterWithStyleManager:Boolean = true)
+    {
+    }
+    
+    /**
+     *  This function, if it isn't <code>null</code>,
+     *  is usually autogenerated by the MXML compiler.
+     *  It produce copies of a plain Object, such as
+     *  <code>{ leftMargin: 10, rightMargin: 10 }</code>,
+     *  containing name/value pairs for style properties; the object is used
+     *  to build a node of the prototype chain for looking up style properties.
+     *
+     *  <p>If this CSSStyleDeclaration is owned by a UIComponent
+     *  written in MXML, this function encodes the style attributes
+     *  that were specified on the root tag of the component definition.</p>
+     *
+     *  <p>If the UIComponent was written in ActionScript,
+     *  this property is <code>null</code>.</p>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get defaultFactory():Function
+    {
+        return null;
+    }
+    
+    /**
+     *  @private
+     */ 
+    public function set defaultFactory(f:Function):void
+    {
+    }
+    
+    //----------------------------------
+    //  factory
+    //----------------------------------
+    
+    private var _factory:Function;
+    
+    [Inspectable(environment="none")]
+    
+    /**
+     *  This function, if it isn't <code>null</code>,
+     *  is usually autogenerated by the MXML compiler.
+     *  It produce copies of a plain Object, such as
+     *  <code>{ leftMargin: 10, rightMargin: 10 }</code>,
+     *  containing name/value pairs for style properties; the object is used
+     *  to build a node of the prototype chain for looking up style properties.
+     *
+     *  <p>If this CSSStyleDeclaration is owned by a UIComponent,
+     *  this function encodes the style attributes that were specified in MXML
+     *  for an instance of that component.</p>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get factory():Function
+    {
+        return _factory;
+    }
+    
+    /**
+     *  @private
+     */ 
+    public function set factory(f:Function):void
+    {
+        _factory = f;
+    }
+    
+    //----------------------------------
+    //  overrides
+    //----------------------------------
+    
+    private var _overrides:Object;
+    
+    /**
+     *  If the <code>setStyle()</code> method is called on a UIComponent or CSSStyleDeclaration
+     *  at run time, this object stores the name/value pairs that were set;
+     *  they override the name/value pairs in the objects produced by
+     *  the  methods specified by the <code>defaultFactory</code> and 
+     *  <code>factory</code> properties.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get overrides():Object
+    {
+        return _overrides;
+    }
+    
+    /**
+     *  @private
+     */ 
+    public function set overrides(o:Object):void
+    {
+        _overrides = o;
+    }
+    
+    //----------------------------------
+    //  selector
+    //----------------------------------
+    
+    private var _selector:CSSSelector;
+    
+    /**
+     *  This property is the base selector of a potential chain of selectors
+     *  and conditions that are used to match CSS style declarations to
+     *  components.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get selector():CSSSelector
+    {
+        return _selector; 
+    }
+    
+    public function set selector(value:CSSSelector):void
+    {
+    }
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/styles/IStyleManager2.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/styles/IStyleManager2.as b/frameworks/as/projects/FlexJSUI/src/mx/styles/IStyleManager2.as
new file mode 100644
index 0000000..b8cb6f4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/styles/IStyleManager2.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.styles
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public interface IStyleManager2
+{
+    function getStyleDeclaration(selector:String):CSSStyleDeclaration;
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/styles/StyleManager.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/styles/StyleManager.as b/frameworks/as/projects/FlexJSUI/src/mx/styles/StyleManager.as
new file mode 100644
index 0000000..c54d9d2
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/styles/StyleManager.as
@@ -0,0 +1,50 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+package mx.styles
+{
+    import mx.core.IFlexModuleFactory;
+    
+	public class StyleManager
+	{
+        /**
+         *  Returns the style manager for an object.
+         *
+         *  @param moduleFactory The module factory of an object you want the 
+         *  style manager for. If null, the top-level style manager is returned.
+         *
+         *  @return the style manager for the given module factory.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public static function getStyleManager(moduleFactory:IFlexModuleFactory):IStyleManager2
+        {
+            return null;
+        }
+ 	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/ConstantBinding.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/ConstantBinding.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/ConstantBinding.as
new file mode 100644
index 0000000..bab1e7b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/ConstantBinding.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 org.apache.flex.binding
+{
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IDocument;
+	
+	public class ConstantBinding implements IBead, IDocument
+	{
+		public function ConstantBinding()
+		{
+		}
+		
+		protected var source:Object;
+		protected var document:Object;
+		protected var destination:Object;
+
+		public var sourceID:String;
+		public var sourcePropertyName:String;
+		public var destinationPropertyName:String;
+		
+		public function set strand(value:IStrand):void
+		{
+			destination = value;
+			source = document[sourceID];
+			destination[destinationPropertyName] = source[sourcePropertyName];
+		}
+		
+		public function setDocument(document:Object, id:String = null):void
+		{
+			this.document = document;
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/GenericBinding.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/GenericBinding.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/GenericBinding.as
new file mode 100644
index 0000000..4cb6f5e
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/GenericBinding.as
@@ -0,0 +1,112 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.binding
+{	
+	import flash.events.Event;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IDocument;
+	import org.apache.flex.core.IStrand;
+
+	public class GenericBinding implements IBead, IDocument
+	{
+		public function GenericBinding()
+		{
+		}
+		
+		protected var document:Object;
+        protected var destination:Object;
+
+		public var source:Object;
+		public var destinationData:Object;
+		public var destinationFunction:Function;
+		
+		public function set strand(value:IStrand):void
+		{
+			destination = value;
+            var val:Object = getValueFromSource();
+            applyValue(val);
+        }
+        
+        private function getValueFromSource():Object
+        {
+            if (source is Array)
+            {
+                var arr:Array = source as Array;
+                var n:int = arr.length;
+                var obj:Object = document[arr[0]];
+                if (obj == null)
+                    return null;
+                for (var i:int = 1; i < n; i++)
+                {
+                    obj = obj[arr[i]];
+                    if (obj == null)
+                        return null;
+                }
+                return obj;
+            }
+            else if (source is Function)
+            {
+                var fn:Function = source as Function;
+                obj = fn.apply(document);
+                return obj;
+            }
+            else if (source is String)
+            {
+                obj = document[source];
+                return obj;
+            }
+            return null;
+		}
+        
+        private function applyValue(value:Object):void
+        {
+			if (destinationFunction != null)
+			{
+				destinationFunction.apply(document, [value]);
+			}
+			else if (destinationData is Array)
+            {
+                var arr:Array = destinationData as Array;
+                var n:int = arr.length;
+                var obj:Object = document[arr[0]];
+                if (obj == null)
+                    return;
+                for (var i:int = 1; i < n - 1; i++)
+                {
+                    obj = obj[arr[i]];
+                    if (obj == null)
+                        return;
+                }
+                obj[arr[n-1]] = value;                
+            }
+        }
+		
+		public function setDocument(document:Object, id:String = null):void
+		{
+			this.document = document;
+		}
+		
+		public function valueChanged(value:Object):void
+		{
+            var val:Object = getValueFromSource();
+            applyValue(val);
+		}
+	}
+}
\ No newline at end of file


[14/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IListView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IListView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IListView.as
new file mode 100644
index 0000000..8e74ff4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IListView.as
@@ -0,0 +1,33 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{	
+	import org.apache.flex.core.IItemRendererParent;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.html.staticControls.supportClasses.Border;
+	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
+
+	public interface IListView
+	{
+        function get border():Border;
+		function get vScrollBar():ScrollBar;
+		function get dataGroup():IItemRendererParent;
+		function get strand():IStrand;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IScrollBarView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IScrollBarView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IScrollBarView.as
new file mode 100644
index 0000000..dbfe531
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IScrollBarView.as
@@ -0,0 +1,36 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	
+	import org.apache.flex.core.IScrollBarModel;
+	import org.apache.flex.core.IStrand;
+
+	public interface IScrollBarView
+	{
+		function get increment():DisplayObject;
+		function get decrement():DisplayObject;
+		function get track():DisplayObject;
+		function get thumb():DisplayObject;
+		
+		function get scrollBarModel():IScrollBarModel;
+		function get strand():IStrand;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ISliderView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ISliderView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ISliderView.as
new file mode 100644
index 0000000..aa0db41
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ISliderView.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.html.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	
+	import org.apache.flex.core.IBead;
+	
+	public interface ISliderView extends IBead
+	{
+		function get track():DisplayObject;
+		function get thumb():DisplayObject;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ISpinnerView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ISpinnerView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ISpinnerView.as
new file mode 100644
index 0000000..920024c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ISpinnerView.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.html.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	
+	import org.apache.flex.core.IBead;
+	
+	public interface ISpinnerView extends IBead
+	{
+		function get increment():DisplayObject;
+		function get decrement():DisplayObject;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ITextFieldView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ITextFieldView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ITextFieldView.as
new file mode 100644
index 0000000..67fa049
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ITextFieldView.as
@@ -0,0 +1,27 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import org.apache.flex.core.CSSTextField;
+
+	public interface ITextFieldView
+	{
+		function get textField():CSSTextField;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ITextItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ITextItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ITextItemRenderer.as
new file mode 100644
index 0000000..e73786d
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ITextItemRenderer.as
@@ -0,0 +1,28 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import org.apache.flex.core.IItemRenderer;
+
+	public interface ITextItemRenderer extends IItemRenderer
+	{
+        function get text():String;
+        function set text(value:String):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ImageView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ImageView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ImageView.as
new file mode 100644
index 0000000..1171e15
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ImageView.as
@@ -0,0 +1,88 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.staticControls.beads
+{
+	import flash.display.Bitmap;
+	import flash.display.Loader;
+	import flash.display.LoaderInfo;
+	import flash.net.URLRequest;
+	
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IImageModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	
+	public class ImageView implements IBeadView
+	{
+		public function ImageView()
+		{
+		}
+		
+		private var bitmap:Bitmap;
+		private var loader:Loader;
+		
+		private var _strand:IStrand;
+		private var _model:IImageModel;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			IEventDispatcher(_strand).addEventListener("widthChanged",handleSizeChange);
+			IEventDispatcher(_strand).addEventListener("heightChanged",handleSizeChange);
+			
+			_model = value.getBeadByType(IImageModel) as IImageModel;
+			_model.addEventListener("urlChanged",handleUrlChange);
+			
+			handleUrlChange(null);
+		}
+		
+		private function handleUrlChange(event:Event):void
+		{
+			if (_model.source) {
+				loader = new Loader();
+				loader.contentLoaderInfo.addEventListener("complete",onComplete);
+				loader.load(new URLRequest(_model.source));
+			}
+		}
+		
+		private function onComplete(event:Object):void
+		{
+			if (bitmap) {
+				UIBase(_strand).removeChild(bitmap);
+			}
+			
+			bitmap = Bitmap(LoaderInfo(event.target).content);
+			
+			UIBase(_strand).addChild(bitmap);
+			
+			handleSizeChange(null);
+		}
+		
+		private function handleSizeChange(event:Object):void
+		{
+			if (bitmap) {
+				bitmap.width = UIBase(_strand).width;
+				bitmap.height = UIBase(_strand).height;
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as
new file mode 100644
index 0000000..b8c9ab9
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as
@@ -0,0 +1,170 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{	
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	
+	import org.apache.flex.core.IBeadLayout;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IItemRenderer;
+	import org.apache.flex.core.IItemRendererParent;
+	import org.apache.flex.core.ILayoutParent;
+	import org.apache.flex.core.IParent;
+	import org.apache.flex.core.IRollOverModel;
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.Strand;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.html.staticControls.beads.models.ScrollBarModel;
+	import org.apache.flex.html.staticControls.beads.models.SingleLineBorderModel;
+	import org.apache.flex.html.staticControls.supportClasses.Border;
+	import org.apache.flex.html.staticControls.supportClasses.NonVirtualDataGroup;
+	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
+
+	public class ListView extends Strand implements IBeadView, IStrand, IListView, ILayoutParent
+	{
+		public function ListView()
+		{
+		}
+						
+		private var listModel:ISelectionModel;
+		
+        private var _border:Border;
+        
+        public function get border():Border
+        {
+            return _border;
+        }
+
+        private var _dataGroup:IItemRendererParent;
+
+		public function get dataGroup():IItemRendererParent
+		{
+			return _dataGroup;
+		}
+		
+		private var _vScrollBar:ScrollBar;
+		
+		public function get vScrollBar():ScrollBar
+		{
+            if (!_vScrollBar)
+                _vScrollBar = createScrollBar();
+			return _vScrollBar;
+		}
+		
+		public function get hScrollBar():ScrollBar
+		{
+			return null;
+		}
+		
+		public function get contentView():DisplayObjectContainer
+		{
+			return _dataGroup as DisplayObjectContainer;
+		}
+		
+		public function get resizableView():DisplayObject
+		{
+			return _strand as DisplayObject;
+		}
+
+		private var _strand:IStrand;
+		
+		public function get strand():IStrand
+		{
+			return _strand;
+		}
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+            
+            listModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
+            listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
+            listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
+
+            _border = new Border();
+            _border.model = new SingleLineBorderModel();
+            _border.addBead(new SingleLineBorderBead());
+            IParent(_strand).addElement(_border);
+            
+			_dataGroup = new NonVirtualDataGroup();
+			IParent(_strand).addElement(_dataGroup);
+            
+            if (getBeadByType(IBeadLayout) == null)
+            {
+                var mapper:IBeadLayout = new (ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout")) as IBeadLayout;
+				strand.addBead(mapper);
+            }            
+		}
+		
+		private var lastSelectedIndex:int = -1;
+		
+		private function selectionChangeHandler(event:Event):void
+		{
+			if (lastSelectedIndex != -1)
+			{
+				var ir:IItemRenderer = dataGroup.getItemRendererForIndex(lastSelectedIndex) as IItemRenderer;
+                ir.selected = false;
+			}
+			if (listModel.selectedIndex != -1)
+			{
+	            ir = dataGroup.getItemRendererForIndex(listModel.selectedIndex);
+	            ir.selected = true;
+			}
+            lastSelectedIndex = listModel.selectedIndex;
+		}
+		
+		private var lastRollOverIndex:int = -1;
+		
+		private function rollOverIndexChangeHandler(event:Event):void
+		{
+			if (lastRollOverIndex != -1)
+			{
+				var ir:IItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as IItemRenderer;
+                ir.hovered = false;
+			}
+			if (IRollOverModel(listModel).rollOverIndex != -1)
+			{
+	            ir = dataGroup.getItemRendererForIndex(IRollOverModel(listModel).rollOverIndex);
+	            ir.hovered = true;
+			}
+			lastRollOverIndex = IRollOverModel(listModel).rollOverIndex;
+		}
+			
+		private function createScrollBar():ScrollBar
+		{
+			var vsb:ScrollBar;
+			vsb = new ScrollBar();
+			var vsbm:ScrollBarModel = new ScrollBarModel();
+			vsbm.maximum = 100;
+			vsbm.minimum = 0;
+			vsbm.pageSize = 10;
+			vsbm.pageStepSize = 10;
+			vsbm.snapInterval = 1;
+			vsbm.stepSize = 1;
+			vsbm.value = 0;
+			vsb.model = vsbm;
+			vsb.width = 16;
+            IParent(_strand).addElement(vsb);
+			return vsb;
+		}
+				
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/NumericStepperView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/NumericStepperView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/NumericStepperView.as
new file mode 100644
index 0000000..27308ef
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/NumericStepperView.as
@@ -0,0 +1,157 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.ILayoutParent;
+	import org.apache.flex.core.IParent;
+	import org.apache.flex.core.IRangeModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.createjs.staticControls.Label;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.Spinner;
+	import org.apache.flex.html.staticControls.TextInput;
+	import org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout;
+	import org.apache.flex.html.staticControls.supportClasses.Border;
+	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
+	
+	public class NumericStepperView implements IBeadView, ILayoutParent
+	{
+		public function NumericStepperView()
+		{
+		}
+		
+		private var _strand:IStrand;
+		
+		private var label:Label;
+		private var input:TextInput;
+		private var spinner:Spinner;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			// add a horizontal layout bead
+			value.addBead(new NonVirtualHorizontalLayout());
+            
+			// add an input field
+			input = new TextInput();
+			IParent(value).addElement(input);
+			
+			// add a spinner
+			spinner = new Spinner();
+			spinner.addBead( UIBase(value).model );
+			IParent(value).addElement(spinner);
+			spinner.width = 17;
+			input.height = spinner.height; // should be spinner.height = input.height but the spinner buttons won't get small enough
+			
+			// listen for changes to the text input field which will reset the
+			// value. ideally, we should either set the input to accept only
+			// numeric values or, barring that, reject non-numeric entries. we
+			// cannot do that right now however.
+			input.model.addEventListener("textChange",inputChangeHandler);
+			
+			// listen for change events on the spinner so the value can be updated as
+			// as resizing the component
+			spinner.addEventListener("valueChanged",spinnerValueChanged);
+			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
+			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
+			
+			// listen for changes to the model itself and update the UI accordingly
+			IEventDispatcher(UIBase(value).model).addEventListener("valueChange",modelChangeHandler);
+			IEventDispatcher(UIBase(value).model).addEventListener("minimumChange",modelChangeHandler);
+			IEventDispatcher(UIBase(value).model).addEventListener("maximumChange",modelChangeHandler);
+			IEventDispatcher(UIBase(value).model).addEventListener("stepSizeChange",modelChangeHandler);
+			IEventDispatcher(UIBase(value).model).addEventListener("snapIntervalChange",modelChangeHandler);
+			
+			input.text = String(spinner.value);
+			
+			// set a default size which will trigger the sizeChangeHandler
+			var minWidth:Number = Math.max(50+spinner.width,UIBase(value).width);
+			
+			UIBase(value).width = minWidth;
+			UIBase(value).height = spinner.height;
+		}
+		
+		private function sizeChangeHandler(event:Event) : void
+		{
+			input.x = 2;
+			input.y = (UIBase(_strand).height - input.height)/2;
+			input.width = UIBase(_strand).width-spinner.width-2;
+			spinner.x = input.width+2;
+			spinner.y = 0;
+		}
+		
+		private function spinnerValueChanged(event:Event) : void
+		{
+			input.text = String(spinner.value);
+			
+			var newEvent:Event = new Event(event.type,event.bubbles);
+			IEventDispatcher(_strand).dispatchEvent(newEvent);
+		}
+		
+		private function inputChangeHandler(event:Event) : void
+		{
+			var newValue:Number = Number(input.text);
+
+			if( !isNaN(newValue) ) {
+				spinner.value = newValue;
+			}
+			else {
+				input.text = String(spinner.value);
+			}
+		}
+		
+		private function modelChangeHandler( event:Event ) : void
+		{
+			var n:Number = IRangeModel(UIBase(_strand).model).value;
+			input.text = String(IRangeModel(UIBase(_strand).model).value);
+		}
+		
+		public function get contentView():DisplayObjectContainer
+		{
+			return _strand as DisplayObjectContainer;
+		}
+		
+		public function get border():Border
+		{
+			return null;
+		}
+		
+		public function get vScrollBar():ScrollBar
+		{
+			return null;
+		}
+		
+		public function get hScrollBar():ScrollBar
+		{
+			return null;
+		}
+		
+		public function get resizableView():DisplayObject
+		{
+			return _strand as DisplayObject;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/PanelView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/PanelView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/PanelView.as
new file mode 100644
index 0000000..f7fcd70
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/PanelView.as
@@ -0,0 +1,119 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.Sprite;
+	
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IUIBase;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.UIMetrics;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.Container;
+	import org.apache.flex.html.staticControls.ControlBar;
+	import org.apache.flex.html.staticControls.Panel;
+	import org.apache.flex.html.staticControls.TitleBar;
+	import org.apache.flex.utils.BeadMetrics;
+	
+	public class PanelView extends ContainerView implements IBeadView
+	{
+		public function PanelView()
+		{
+			_titleBar = new TitleBar();
+		}
+		
+		private var _titleBar:TitleBar;
+		public function get titleBar():TitleBar
+		{
+			return _titleBar;
+		}
+		
+		private var _controlBar:ControlBar;
+		public function get controlBar():ControlBar
+		{
+			return _controlBar;
+		}
+		
+		private var _strand:IStrand;
+		
+		override public function set strand(value:IStrand):void
+		{
+			super.strand = value;
+			_strand = value;
+			
+			// replace the TitleBar's model with the Panel's model (it implements ITitleBarModel) so that
+			// any changes to values in the Panel's model that correspond values in the TitleBar will 
+			// be picked up automatically by the TitleBar.
+			titleBar.model = Panel(_strand).model;
+			Container(_strand).addElement(titleBar);
+			
+			var controlBarItems:Array = Panel(_strand).controlBar;
+			if( controlBarItems && controlBarItems.length > 0 ) {
+				_controlBar = new ControlBar();
+				
+				for each(var comp:IUIBase in controlBarItems) {
+					_controlBar.addElement(comp);
+				}
+				
+				Container(_strand).addElement(controlBar);
+			}
+			
+			IEventDispatcher(_strand).addEventListener("childrenAdded", changeHandler);
+            
+		}
+		
+		private function changeHandler(event:Event):void
+		{
+			var metrics:UIMetrics = BeadMetrics.getMetrics(_strand);
+			
+			var w:Number = UIBase(_strand).explicitWidth;
+			if (isNaN(w)) w = Math.max(titleBar.width,actualParent.width+metrics.left+metrics.right,controlBar?controlBar.width:0);
+			
+			var h:Number = UIBase(_strand).explicitHeight;
+			if (isNaN(h)) h = titleBar.height + actualParent.height + (controlBar ? controlBar.height : 0) +
+				metrics.top + metrics.bottom;
+			
+			titleBar.x = 0;
+			titleBar.y = 0;
+			titleBar.width = w;
+			
+			var remainingHeight:Number = h - titleBar.height;
+			
+			if( controlBar ) {
+				controlBar.x = 0;
+				controlBar.y = h - controlBar.height;
+				//controlBar.y = actualParent.y + actualParent.height + metrics.bottom;
+				controlBar.width = w;
+				
+				remainingHeight -= controlBar.height;
+			}
+			
+			actualParent.x = metrics.left;
+			actualParent.y = titleBar.y + titleBar.height + metrics.top;
+			actualParent.width = w;
+			actualParent.height = remainingHeight - metrics.top - metrics.bottom;
+			
+			UIBase(_strand).width = w;
+			UIBase(_strand).height = h;
+		}
+        
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/RadioButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/RadioButtonView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/RadioButtonView.as
new file mode 100644
index 0000000..d356e88
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/RadioButtonView.as
@@ -0,0 +1,218 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+	import flash.display.Sprite;
+	import flash.text.TextFieldAutoSize;
+	import flash.text.TextFieldType;
+	
+	import org.apache.flex.core.CSSTextField;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IValueToggleButtonModel;
+	import org.apache.flex.events.Event;
+	
+	public class RadioButtonView implements IBeadView
+	{
+		public function RadioButtonView()
+		{
+			sprites = [ upSprite = new Sprite(),
+				        downSprite = new Sprite(),
+						overSprite = new Sprite(),
+						upAndSelectedSprite = new Sprite(),
+						downAndSelectedSprite = new Sprite(),
+						overAndSelectedSprite = new Sprite() ];
+			
+			for each( var s:Sprite in sprites )
+			{
+				var tf:CSSTextField = new CSSTextField();
+				tf.type = TextFieldType.DYNAMIC;
+				tf.autoSize = TextFieldAutoSize.LEFT;
+				tf.name = "textField";
+				var icon:Shape = new Shape();
+				icon.name = "icon";
+				s.addChild(icon);
+				s.addChild(tf);
+			}
+		}
+		
+		private var upSprite:Sprite;
+		private var downSprite:Sprite;
+		private var overSprite:Sprite;
+		private var upAndSelectedSprite:Sprite;
+		private var downAndSelectedSprite:Sprite;
+		private var overAndSelectedSprite:Sprite;
+		
+		private var sprites:Array;
+		
+		private var _toggleButtonModel:IValueToggleButtonModel;
+		
+		public function get toggleButtonModel() : IValueToggleButtonModel
+		{
+			return _toggleButtonModel;
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			_toggleButtonModel = value.getBeadByType(IValueToggleButtonModel) as IValueToggleButtonModel;
+			_toggleButtonModel.addEventListener("textChange", textChangeHandler);
+			_toggleButtonModel.addEventListener("htmlChange", htmlChangeHandler);
+			_toggleButtonModel.addEventListener("selectedValueChange", selectedValueChangeHandler);
+			if (_toggleButtonModel.text != null)
+				text = _toggleButtonModel.text;
+			if (_toggleButtonModel.html != null)
+				html = _toggleButtonModel.html;
+			
+			layoutControl();
+			
+			var hitArea:Shape = new Shape();
+			hitArea.graphics.beginFill(0x000000);
+			hitArea.graphics.drawRect(12,0,upSprite.width, upSprite.height);
+			hitArea.graphics.endFill();
+			
+			SimpleButton(value).upState = upSprite;
+			SimpleButton(value).downState = downSprite;
+			SimpleButton(value).overState = overSprite;
+			SimpleButton(value).hitTestState = hitArea;
+			
+			if (toggleButtonModel.text !== null)
+				text = toggleButtonModel.text;
+			if (toggleButtonModel.html !== null)
+				html = toggleButtonModel.html;
+			
+			if (toggleButtonModel.selected && toggleButtonModel.value == value) {
+				selected = true;
+			}
+		}
+		
+		public function get text():String
+		{
+			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
+			return tf.text;
+		}
+		
+		public function set text(value:String):void
+		{
+			for each( var s:Sprite in sprites )
+			{
+				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
+				tf.text = value;
+			}
+			
+			layoutControl();
+		}
+		
+		public function get html():String
+		{
+			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
+			return tf.htmlText;
+		}
+		
+		public function set html(value:String):void
+		{
+			for each(var s:Sprite in sprites)
+			{
+				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
+				tf.htmlText = value;
+			}
+			
+			layoutControl();
+		}
+		
+		private function textChangeHandler(event:Event):void
+		{
+			text = toggleButtonModel.text;
+		}
+		
+		private function htmlChangeHandler(event:Event):void
+		{
+			html = toggleButtonModel.html;
+		}
+		
+		private var _selected:Boolean;
+		
+		public function get selected():Boolean
+		{
+			return _selected;
+		}
+		
+		public function set selected(value:Boolean):void
+		{
+			_selected = value;
+			
+			if( value ) {
+				SimpleButton(_strand).upState = upAndSelectedSprite;
+				SimpleButton(_strand).downState = downAndSelectedSprite;
+				SimpleButton(_strand).overState = overAndSelectedSprite;
+				
+			} else {
+				SimpleButton(_strand).upState = upSprite;
+				SimpleButton(_strand).downState = downSprite;
+				SimpleButton(_strand).overState = overSprite;
+			}
+			
+			layoutControl();
+		}
+		
+		private function selectedValueChangeHandler(event:Event):void
+		{
+			selected = _toggleButtonModel.value == _toggleButtonModel.selectedValue;
+		}
+		
+		protected function layoutControl() : void
+		{
+			for each(var s:Sprite in sprites)
+			{
+				var icon:Shape = s.getChildByName("icon") as Shape;
+				var tf:CSSTextField = s.getChildByName("textField") as CSSTextField;
+				
+				drawRadioButton(icon);
+				
+				var mh:Number = Math.max(icon.height,tf.height);
+				
+				icon.x = 0;
+				icon.y = (mh - icon.height)/2;
+				
+				tf.x = icon.x + icon.width + 1;
+				tf.y = (mh - tf.height)/2;
+			}
+			
+		}
+		
+		protected function drawRadioButton(icon:Shape) : void
+		{
+			icon.graphics.clear();
+			icon.graphics.beginFill(0xCCCCCC);
+			icon.graphics.lineStyle(1,0x333333);
+			icon.graphics.drawEllipse(0,0,10,10);
+			icon.graphics.endFill();
+			
+			if( selected ) {
+				icon.graphics.beginFill(0x555555);
+				icon.graphics.drawEllipse(2,2,6,6);
+				icon.graphics.endFill();
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ScrollBarView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ScrollBarView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ScrollBarView.as
new file mode 100644
index 0000000..d698037
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ScrollBarView.as
@@ -0,0 +1,104 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	
+	import org.apache.flex.core.IBeadLayout;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IScrollBarModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.Strand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.html.staticControls.Button;
+	import org.apache.flex.html.staticControls.beads.controllers.ButtonAutoRepeatController;
+
+	public class ScrollBarView extends Strand implements IBeadView, IStrand, IScrollBarView
+	{
+		public function ScrollBarView()
+		{
+		}
+		
+		public function get scrollBarModel():IScrollBarModel
+		{
+			return sbModel;
+		}
+		
+		private var sbModel:IScrollBarModel;
+		
+		private var _strand:IStrand;
+		
+		public function get strand():IStrand
+		{
+			return _strand;
+		}
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			sbModel = value.getBeadByType(IScrollBarModel) as IScrollBarModel;
+            
+            // TODO: (aharui) put in values impl
+			_increment = new Button();
+			Button(_increment).addBead(new DownArrowButtonView());
+            Button(_increment).addBead(new ButtonAutoRepeatController());
+			_decrement = new Button();
+			Button(_decrement).addBead(new UpArrowButtonView());
+            Button(_decrement).addBead(new ButtonAutoRepeatController());
+			_track = new Button();				
+			Button(_track).addBead(new VScrollBarTrackView());
+			_thumb = new Button();				
+			Button(_thumb).addBead(new VScrollBarThumbView());
+            
+            UIBase(value).addChild(_decrement);
+            UIBase(value).addChild(_increment);
+            UIBase(value).addChild(_track);
+            UIBase(value).addChild(_thumb);
+            
+            if( getBeadByType(IBeadLayout) == null ) {
+                var layout:IBeadLayout = new (ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout")) as IBeadLayout;
+                addBead(layout);
+            }
+            
+		}
+						
+		private var _decrement:DisplayObject;
+		private var _increment:DisplayObject;
+		private var _track:DisplayObject;
+		private var _thumb:DisplayObject;
+		
+		public function get decrement():DisplayObject
+		{
+			return _decrement;
+		}
+		public function get increment():DisplayObject
+		{
+			return _increment;
+		}
+		public function get track():DisplayObject
+		{
+			return _track;
+		}
+		public function get thumb():DisplayObject
+		{
+			return _thumb;
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SimpleAlertView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SimpleAlertView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SimpleAlertView.as
new file mode 100644
index 0000000..b5748d0
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SimpleAlertView.as
@@ -0,0 +1,118 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import org.apache.flex.core.IAlertModel;
+	import org.apache.flex.core.IBead;
+    import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IMeasurementBead;
+	import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.IParent;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.UIMetrics;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.Label;
+	import org.apache.flex.html.staticControls.TextButton;
+	import org.apache.flex.utils.BeadMetrics;
+	
+	public class SimpleAlertView implements IBeadView
+	{
+		public function SimpleAlertView()
+		{
+		}
+		
+		private var messageLabel:Label;
+		private var okButton:TextButton;
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+            
+			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
+			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(value, "background-image");
+			if (backgroundColor != null || backgroundImage != null)
+			{
+				if (value.getBeadByType(IBackgroundBead) == null)
+					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);					
+			}
+			
+			var borderStyle:String;
+			var borderStyles:Object = ValuesManager.valuesImpl.getValue(value, "border");
+			if (borderStyles is Array)
+			{
+				borderStyle = borderStyles[1];
+			}
+			if (borderStyle == null)
+			{
+				borderStyle = ValuesManager.valuesImpl.getValue(value, "border-style") as String;
+			}
+			if (borderStyle != null && borderStyle != "none")
+			{
+				if (value.getBeadByType(IBorderBead) == null)
+					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);	
+			}
+			
+			var model:IAlertModel = _strand.getBeadByType(IAlertModel) as IAlertModel;
+			model.addEventListener("messageChange",handleMessageChange);
+			model.addEventListener("htmlMessageChange",handleMessageChange);
+
+            messageLabel = new Label();
+			messageLabel.text = model.message;
+			messageLabel.html = model.htmlMessage;
+			IParent(_strand).addElement(messageLabel);
+			
+			okButton = new TextButton();
+			okButton.text = model.okLabel;
+			IParent(_strand).addElement(okButton);
+			okButton.addEventListener("click",handleOK);
+			
+			handleMessageChange(null);
+		}
+		
+		private function handleMessageChange(event:Event):void
+		{
+			var ruler:IMeasurementBead = messageLabel.getBeadByType(IMeasurementBead) as IMeasurementBead;
+			if( ruler == null ) {
+				messageLabel.addBead(ruler = new (ValuesManager.valuesImpl.getValue(messageLabel, "iMeasurementBead")) as IMeasurementBead);
+			}
+			var maxWidth:Number = Math.max(UIBase(_strand).width,ruler.measuredWidth);
+			
+			var metrics:UIMetrics = BeadMetrics.getMetrics(_strand);
+			
+			messageLabel.x = metrics.left;
+			messageLabel.y = metrics.top;
+			messageLabel.width = maxWidth;
+			
+			okButton.x = (maxWidth - okButton.width)/2;
+			okButton.y = messageLabel.y + messageLabel.height + 20;
+			
+			UIBase(_strand).width = maxWidth + metrics.left + metrics.right;
+			UIBase(_strand).height = okButton.y + okButton.height + metrics.bottom;
+		}
+		
+		private function handleOK(event:Event):void
+		{
+			var newEvent:Event = new Event("close");
+			IEventDispatcher(_strand).dispatchEvent(newEvent);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SingleLineBorderBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SingleLineBorderBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SingleLineBorderBead.as
new file mode 100644
index 0000000..5886073
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SingleLineBorderBead.as
@@ -0,0 +1,73 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.Graphics;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+
+	public class SingleLineBorderBead implements IBead, IBorderBead, IGraphicsDrawing
+	{
+		public function SingleLineBorderBead()
+		{
+		}
+		
+		private var _strand:IStrand;
+		
+		public function get strand():IStrand
+		{
+			return _strand;
+		}
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+            IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
+            IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
+		}
+		        
+		private function changeHandler(event:Event):void
+		{
+			var styleObject:* = ValuesManager.valuesImpl.getValue(_strand,"border-color");
+			var borderColor:Number = Number(styleObject);
+			if( isNaN(borderColor) ) borderColor = 0x000000;
+			styleObject = ValuesManager.valuesImpl.getValue(_strand,"border-thickness");
+			var borderThickness:Number = Number(styleObject);
+			if( isNaN(borderThickness) ) borderThickness = 1;
+			
+            var host:UIBase = UIBase(_strand);
+            var g:Graphics = host.graphics;
+            var w:Number = host.width;
+            var h:Number = host.height;
+			
+			var gd:IGraphicsDrawing = strand.getBeadByType(IGraphicsDrawing) as IGraphicsDrawing;
+			if( this == gd ) g.clear();
+			
+			g.lineStyle();
+            g.beginFill(borderColor);
+            g.drawRect(0, 0, w, h);
+            g.drawRect(borderThickness, borderThickness, w-2*borderThickness, h-2*borderThickness);
+            g.endFill();
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SliderThumbView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SliderThumbView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SliderThumbView.as
new file mode 100644
index 0000000..b6a94f4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SliderThumbView.as
@@ -0,0 +1,83 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.Graphics;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+	
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	
+	public class SliderThumbView implements IBeadView
+	{
+		public function SliderThumbView()
+		{
+			hitArea = new Shape();
+			upView = new Shape();
+			downView = new Shape();
+			overView = new Shape();
+		}
+		
+		private function drawView(g:Graphics, bgColor:uint):void
+		{
+			g.clear();
+			g.lineStyle(1,0x000000);
+			g.beginFill(bgColor);
+			g.drawCircle(SimpleButton(_strand).width/2, SimpleButton(_strand).height/2, 10);
+			g.endFill();
+		}
+		
+		private var _strand:IStrand;
+		
+		private var hitArea:Shape;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			drawView(hitArea.graphics, 0xDD0000);
+			drawView(upView.graphics, 0xFFFFFF);
+			drawView(downView.graphics, 0x999999);
+			drawView(overView.graphics, 0xDDDDDD);
+			
+			SimpleButton(value).upState = upView;
+			SimpleButton(value).downState = downView;
+			SimpleButton(value).overState = overView;
+			SimpleButton(value).hitTestState = hitArea;
+			
+			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
+			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
+		}
+		
+		private var upView:Shape;
+		private var downView:Shape;
+		private var overView:Shape;
+		
+		private function sizeChangeHandler( event:Event ) : void
+		{
+			drawView(hitArea.graphics, 0xDD0000);
+			drawView(upView.graphics, 0xFFFFFF);
+			drawView(downView.graphics, 0x999999);
+			drawView(overView.graphics, 0xDDDDDD);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SliderTrackView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SliderTrackView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SliderTrackView.as
new file mode 100644
index 0000000..6dcc5ae
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SliderTrackView.as
@@ -0,0 +1,83 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.Graphics;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+	
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	
+	public class SliderTrackView implements IBeadView
+	{
+		public function SliderTrackView()
+		{
+			hitArea = new Shape();
+			upView = new Shape();
+			downView = new Shape();
+			overView = new Shape();
+		}
+		
+		private function drawView(g:Graphics, bgColor:uint):void
+		{
+			g.clear();
+			g.lineStyle(1,0x000000);
+			g.beginFill(bgColor);
+			g.drawRect(0, 0, SimpleButton(_strand).width, SimpleButton(_strand).height);
+			g.endFill();
+		}
+		
+		private var _strand:IStrand;
+		
+		private var hitArea:Shape;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			drawView(hitArea.graphics, 0xDD0000);
+			drawView(upView.graphics, 0xCCCCCC);
+			drawView(downView.graphics, 0x808080);
+			drawView(overView.graphics, 0xEEEEEE);
+			
+			SimpleButton(value).upState = upView;
+			SimpleButton(value).downState = downView;
+			SimpleButton(value).overState = overView;
+			SimpleButton(value).hitTestState = hitArea;
+			
+			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
+			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
+		}
+		
+		private var upView:Shape;
+		private var downView:Shape;
+		private var overView:Shape;
+		
+		private function sizeChangeHandler( event:Event ) : void
+		{
+			drawView(hitArea.graphics, 0xDD0000);
+			drawView(upView.graphics, 0xCCCCCC);
+			drawView(downView.graphics, 0x808080);
+			drawView(overView.graphics, 0xEEEEEE);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SliderView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SliderView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SliderView.as
new file mode 100644
index 0000000..a969c25
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SliderView.as
@@ -0,0 +1,129 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	import flash.display.Sprite;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IRangeModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.Button;
+	
+	public class SliderView implements ISliderView, IBeadView
+	{
+		public function SliderView()
+		{
+		}
+		
+		private var rangeModel:IRangeModel;
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			_track = new Button();
+			Button(_track).addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iTrackView")) as IBead);
+			
+			_thumb = new Button();
+			Button(_thumb).addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iThumbView")) as IBead);
+			
+			UIBase(_strand).addChild(_track);
+			UIBase(_strand).addChild(_thumb);
+			
+			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
+			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
+			
+			rangeModel = _strand.getBeadByType(IBeadModel) as IRangeModel;
+			
+			// listen for changes to the model and adjust the UI accordingly.
+			IEventDispatcher(rangeModel).addEventListener("valueChange",modelChangeHandler);
+			IEventDispatcher(rangeModel).addEventListener("minimumChange",modelChangeHandler);
+			IEventDispatcher(rangeModel).addEventListener("maximumChange",modelChangeHandler);
+			IEventDispatcher(rangeModel).addEventListener("stepSizeChange",modelChangeHandler);
+			IEventDispatcher(rangeModel).addEventListener("snapIntervalChange",modelChangeHandler);
+			
+			// set a minimum size to trigger the size change handler
+			var needsSizing:Boolean = true;
+			if( UIBase(_strand).width < 100 ) {
+				UIBase(_strand).width = 100;
+				needsSizing = false;
+			}
+			if( UIBase(_strand).height < 30 ) {
+				UIBase(_strand).height = 30;
+				needsSizing = false;
+			}
+			
+			if( needsSizing ) sizeChangeHandler(null);
+		}
+		
+		private var _track:DisplayObject;
+		private var _thumb:DisplayObject;
+		
+		public function get track():DisplayObject
+		{
+			return _track;
+		}
+		
+		public function get thumb():DisplayObject
+		{
+			return _thumb;
+		}
+		
+		private function sizeChangeHandler( event:Event ) : void
+		{
+			var w:Number = UIBase(_strand).width;
+			var h:Number = UIBase(_strand).height;
+			
+			_thumb.width = 20;
+			_thumb.height = UIBase(_strand).height;
+			
+			_thumb.x = 10;
+			_thumb.y = 0;
+			
+			// the track is inset 1/2 of the thumbwidth so the thumb can
+			// overlay the track on either end with the thumb center being
+			// on the track's edge
+			_track.width = UIBase(_strand).width - _thumb.width;
+			_track.height = 5;
+			_track.x = _thumb.width/2;
+			_track.y = (UIBase(_strand).height - _track.height)/2;
+		}
+		
+		private function modelChangeHandler( event:Event ) : void
+		{
+			setThumbPositionFromValue(rangeModel.value);
+		}
+		
+		private function setThumbPositionFromValue( value:Number ) : void
+		{
+			var p:Number = (value-rangeModel.minimum)/(rangeModel.maximum-rangeModel.minimum);
+			var xloc:Number = p*(UIBase(_strand).width - _thumb.width);
+			
+			_thumb.x = xloc;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SolidBackgroundBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SolidBackgroundBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SolidBackgroundBead.as
new file mode 100644
index 0000000..90dbbb4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SolidBackgroundBead.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.staticControls.beads
+{
+	import flash.display.Graphics;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+
+	public class SolidBackgroundBead implements IBead, IBackgroundBead, IGraphicsDrawing
+	{
+		public function SolidBackgroundBead()
+		{
+		}
+				
+		private var _strand:IStrand;
+		
+		public function get strand():IStrand
+		{
+			return _strand;
+		}
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+            IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
+            IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
+			
+			var bgColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
+			if( bgColor != null ) {
+				backgroundColor = uint(bgColor);
+			}
+			
+			var bgAlpha:Object = ValuesManager.valuesImpl.getValue(value, "opacity");
+			if( bgAlpha != null ) {
+				opacity = Number(bgAlpha);
+			}
+		}
+		
+		private var _backgroundColor:uint;
+		
+		public function get backgroundColor():uint
+		{
+			return _backgroundColor;
+		}
+		public function set backgroundColor(value:uint):void
+		{
+			_backgroundColor = value;
+			if (_strand)
+				changeHandler(null);
+		}
+		
+		private var _opacity:Number = 1.0;
+		
+		public function get opacity():Number
+		{
+			return _opacity;
+		}
+		
+		public function set opacity(value:Number):void
+		{
+			_opacity = value;
+			if( _strand )
+				changeHandler(null);
+		}
+		
+		private function changeHandler(event:Event):void
+		{
+            var host:UIBase = UIBase(_strand);
+            var g:Graphics = host.graphics;
+            var w:Number = host.width;
+            var h:Number = host.height;
+			
+			var gd:IGraphicsDrawing = strand.getBeadByType(IGraphicsDrawing) as IGraphicsDrawing;
+			if( this == gd ) g.clear();
+
+            g.beginFill(backgroundColor,opacity);
+            g.drawRect(0, 0, w, h);
+            g.endFill();
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SpinnerView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SpinnerView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SpinnerView.as
new file mode 100644
index 0000000..0590f71
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/SpinnerView.as
@@ -0,0 +1,88 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IRangeModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.Button;
+	import org.apache.flex.html.staticControls.beads.controllers.ButtonAutoRepeatController;
+	
+	public class SpinnerView implements ISpinnerView, IBeadView
+	{
+		public function SpinnerView()
+		{
+		}
+		
+		private var rangeModel:IRangeModel;
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+            
+			_increment = new Button();
+			Button(_increment).addBead(new UpArrowButtonView());
+			Button(_increment).addBead(new ButtonAutoRepeatController());
+			_decrement = new Button();
+			Button(_decrement).addBead(new DownArrowButtonView());
+			Button(_decrement).addBead(new ButtonAutoRepeatController());
+						
+			Button(_increment).x = 0;
+			Button(_increment).y = 0;
+			Button(_decrement).x = 0;
+			Button(_decrement).y = Button(_increment).height;
+			
+			UIBase(_strand).addChild(_decrement);
+			UIBase(_strand).addChild(_increment);
+			rangeModel = _strand.getBeadByType(IBeadModel) as IRangeModel;
+			
+			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
+			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
+		}
+		
+		private var _decrement:DisplayObject;
+		private var _increment:DisplayObject;
+		
+		public function get decrement():DisplayObject
+		{
+			return _decrement;
+		}
+		public function get increment():DisplayObject
+		{
+			return _increment;
+		}
+		
+		private function sizeChangeHandler( event:Event ) : void
+		{
+			_increment.width = UIBase(_strand).width;
+			_increment.height = UIBase(_strand).height/2;
+			_increment.y      = 0;
+			_decrement.width = UIBase(_strand).width;
+			_decrement.height = UIBase(_strand).height/2;
+			_decrement.y      = _increment.height;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextAreaView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextAreaView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextAreaView.as
new file mode 100644
index 0000000..bea4cb5
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextAreaView.as
@@ -0,0 +1,188 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	import flash.events.Event;
+	import flash.events.IEventDispatcher;
+	import flash.text.TextFieldType;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IScrollBarModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IParent;
+	import org.apache.flex.html.staticControls.beads.models.ScrollBarModel;
+	import org.apache.flex.html.staticControls.beads.models.SingleLineBorderModel;
+	import org.apache.flex.html.staticControls.supportClasses.Border;
+	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
+
+	public class TextAreaView extends TextFieldViewBase implements IStrand
+	{
+		public function TextAreaView()
+		{
+			super();
+			
+			textField.selectable = true;
+			textField.type = TextFieldType.INPUT;
+			textField.mouseEnabled = true;
+			textField.multiline = true;
+			textField.wordWrap = true;
+		}
+		
+		private var _border:Border;
+		
+		public function get border():Border
+		{
+			return _border;
+		}
+		
+		private var _vScrollBar:ScrollBar;
+		
+		public function get vScrollBar():ScrollBar
+		{
+			if (!_vScrollBar)
+				_vScrollBar = createScrollBar();
+			return _vScrollBar;
+		}
+		
+		override public function set strand(value:IStrand):void
+		{
+			super.strand = value;
+			
+			// add a border to this
+			_border = new Border();
+			_border.model = new SingleLineBorderModel();
+			_border.addBead(new SingleLineBorderBead());
+            IParent(strand).addElement(border);
+			
+			var vb:ScrollBar = vScrollBar;
+			
+			// Default size
+			var ww:Number = DisplayObject(strand).width;
+			if( isNaN(ww) || ww == 0 ) DisplayObject(strand).width = 100;
+			var hh:Number = DisplayObject(strand).height;
+			if( isNaN(hh) || hh == 0 ) DisplayObject(strand).height = 42;
+			
+			// for input, listen for changes to the _textField and update
+			// the model
+			textField.addEventListener(Event.SCROLL, textScrollHandler);
+			
+			IEventDispatcher(strand).addEventListener("widthChanged", sizeChangedHandler);
+			IEventDispatcher(strand).addEventListener("heightChanged", sizeChangedHandler);
+			sizeChangedHandler(null);
+		}
+				
+		private function createScrollBar():ScrollBar
+		{
+			var vsb:ScrollBar;
+			vsb = new ScrollBar();
+			var vsbm:ScrollBarModel = new ScrollBarModel();
+			vsbm.maximum = 100;
+			vsbm.minimum = 0;
+			vsbm.pageSize = 10;
+			vsbm.pageStepSize = 10;
+			vsbm.snapInterval = 1;
+			vsbm.stepSize = 1;
+			vsbm.value = 0;
+			vsb.model = vsbm;
+			vsb.width = 16;
+            IParent(strand).addElement(vsb);
+			
+			vsb.addEventListener("scroll", scrollHandler);
+			
+			return vsb;
+		}
+		
+		private function textScrollHandler(event:Event):void
+		{
+			var visibleLines:int = textField.bottomScrollV - textField.scrollV + 1;
+			var scrollableLines:int = textField.numLines - visibleLines + 1;
+			var vsbm:ScrollBarModel = ScrollBarModel(vScrollBar.model);
+			vsbm.minimum = 0;
+			vsbm.maximum = textField.numLines+1;
+			vsbm.value = textField.scrollV;
+			vsbm.pageSize = visibleLines;
+			vsbm.pageStepSize = visibleLines;
+		}
+		
+		private function sizeChangedHandler(event:Event):void
+		{
+			var ww:Number = DisplayObject(strand).width - DisplayObject(vScrollBar).width;
+			if( !isNaN(ww) && ww > 0 ) {
+				textField.width = ww;
+				_border.width = ww;
+			}
+			
+			var hh:Number = DisplayObject(strand).height;
+			if( !isNaN(hh) && hh > 0 ) {
+				textField.height = hh;
+				_border.height = hh;
+			}
+			
+			var sb:DisplayObject = DisplayObject(vScrollBar);
+			sb.y = 0;
+			sb.x = textField.width - 1;
+			sb.height = textField.height;
+		}
+		
+		private function scrollHandler(event:Event):void
+		{
+			var vpos:Number = IScrollBarModel(vScrollBar.model).value;
+			textField.scrollV = vpos;
+		}
+		
+		// beads declared in MXML are added to the strand.
+		// from AS, just call addBead()
+		public var beads:Array;
+		
+		private var _beads:Vector.<IBead>;
+		public function addBead(bead:IBead):void
+		{
+			if (!_beads)
+				_beads = new Vector.<IBead>;
+			_beads.push(bead);
+			bead.strand = this;
+		}
+		
+		public function getBeadByType(classOrInterface:Class):IBead
+		{
+			for each (var bead:IBead in _beads)
+			{
+				if (bead is classOrInterface)
+					return bead;
+			}
+			return null;
+		}
+		
+		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/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextButtonMeasurementBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextButtonMeasurementBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextButtonMeasurementBead.as
new file mode 100644
index 0000000..c6e3b6d
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextButtonMeasurementBead.as
@@ -0,0 +1,50 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import org.apache.flex.core.IMeasurementBead;
+	import org.apache.flex.core.IStrand;
+	
+	public class TextButtonMeasurementBead implements IMeasurementBead
+	{
+		public function TextButtonMeasurementBead()
+		{
+		}
+		
+		public function get measuredWidth():Number
+		{
+			var view:TextButtonView = _strand.getBeadByType(TextButtonView) as TextButtonView;
+			if( view ) return Math.max(view.upTextField.textWidth,view.downTextField.textWidth,view.overTextField.textWidth);
+			else return 0;
+		}
+		
+		public function get measuredHeight():Number
+		{
+			var view:TextButtonView = _strand.getBeadByType(TextButtonView) as TextButtonView;
+			if( view ) return Math.max(view.upTextField.textHeight,view.downTextField.textHeight,view.overTextField.textHeight);
+			else return 0;
+		}
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextButtonView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextButtonView.as
new file mode 100644
index 0000000..c81782c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextButtonView.as
@@ -0,0 +1,144 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+	import flash.text.TextFieldType;
+	
+	import org.apache.flex.core.CSSTextField;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.ITextModel;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+
+	public class TextButtonView implements IBeadView
+	{
+		public function TextButtonView()
+		{
+			upTextField = new CSSTextField();
+			downTextField = new CSSTextField();
+			overTextField = new CSSTextField();
+			upTextField.border = true;
+			downTextField.border = true;
+			overTextField.border = true;
+			upTextField.background = true;
+			downTextField.background = true;
+			overTextField.background = true;
+			upTextField.borderColor = 0;
+			downTextField.borderColor = 0;
+			overTextField.borderColor = 0;
+			upTextField.backgroundColor = 0xCCCCCC;
+			downTextField.backgroundColor = 0x808080;
+			overTextField.backgroundColor = 0xFFCCCC;
+			upTextField.selectable = false;
+			upTextField.type = TextFieldType.DYNAMIC;
+			downTextField.selectable = false;
+			downTextField.type = TextFieldType.DYNAMIC;
+			overTextField.selectable = false;
+			overTextField.type = TextFieldType.DYNAMIC;
+			upTextField.autoSize = "left";
+			downTextField.autoSize = "left";
+			overTextField.autoSize = "left";
+
+		}
+		
+		private var textModel:ITextModel;
+		
+		private var _strand:IStrand;
+		
+		private var shape:Shape;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			textModel = value.getBeadByType(ITextModel) as ITextModel;
+			textModel.addEventListener("textChange", textChangeHandler);
+			textModel.addEventListener("htmlChange", htmlChangeHandler);
+			shape = new Shape();
+			shape.graphics.beginFill(0xCCCCCC);
+			shape.graphics.drawRect(0, 0, 10, 10);
+			shape.graphics.endFill();
+			SimpleButton(value).upState = upTextField;
+			SimpleButton(value).downState = downTextField;
+			SimpleButton(value).overState = overTextField;
+			SimpleButton(value).hitTestState = shape;
+			upTextField.styleParent = value;
+			downTextField.styleParent = value;
+			overTextField.styleParent = value;
+			if (textModel.text !== null)
+				text = textModel.text;
+			if (textModel.html !== null)
+				html = textModel.html;
+			
+			IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
+			IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
+		}
+		        
+		private function textChangeHandler(event:Event):void
+		{
+			text = textModel.text;
+		}
+		
+		private function htmlChangeHandler(event:Event):void
+		{
+			html = textModel.html;
+		}
+		
+		private function sizeChangeHandler(event:Event):void
+		{
+			upTextField.width = downTextField.width = overTextField.width = DisplayObject(_strand).width;
+			upTextField.height= downTextField.height= overTextField.height= DisplayObject(_strand).height;
+		}
+		
+		public var upTextField:CSSTextField;
+		public var downTextField:CSSTextField;
+		public var overTextField:CSSTextField;
+		
+		public function get text():String
+		{
+			return upTextField.text;
+		}
+		public function set text(value:String):void
+		{
+			upTextField.text = value;
+			downTextField.text = value;
+			overTextField.text = value;
+			shape.graphics.clear();
+			shape.graphics.beginFill(0xCCCCCC);
+			shape.graphics.drawRect(0, 0, upTextField.textWidth, upTextField.textHeight);
+			shape.graphics.endFill();
+			
+		}
+		
+		public function get html():String
+		{
+			return upTextField.htmlText;
+		}
+		
+		public function set html(value:String):void
+		{
+			upTextField.htmlText = value;
+			downTextField.htmlText = value;
+			overTextField.htmlText = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextFieldLabelMeasurementBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextFieldLabelMeasurementBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextFieldLabelMeasurementBead.as
new file mode 100644
index 0000000..dd21abd
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextFieldLabelMeasurementBead.as
@@ -0,0 +1,50 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import org.apache.flex.core.IMeasurementBead;
+	import org.apache.flex.core.IStrand;
+	
+	public class TextFieldLabelMeasurementBead implements IMeasurementBead
+	{
+		public function TextFieldLabelMeasurementBead()
+		{
+		}
+		
+		public function get measuredWidth():Number
+		{
+			var view:TextFieldView = _strand.getBeadByType(TextFieldView) as TextFieldView;
+			if( view ) return view.textField.textWidth;
+			else return 0;
+		}
+		
+		public function get measuredHeight():Number
+		{
+			var view:TextFieldView = _strand.getBeadByType(TextFieldView) as TextFieldView;
+			if( view ) return view.textField.textHeight;
+			else return 0;
+		}
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+	}
+}
\ No newline at end of file


[12/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.as
new file mode 100644
index 0000000..04a3b5e
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.as
@@ -0,0 +1,163 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.layouts
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.ILayoutParent;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+
+	public class NonVirtualVerticalLayout implements IBead
+	{
+		public function NonVirtualVerticalLayout()
+		{
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
+			IEventDispatcher(value).addEventListener("childrenAdded", changeHandler);
+			IEventDispatcher(value).addEventListener("itemsCreated", changeHandler);
+		}
+	
+		private function changeHandler(event:Event):void
+		{
+			var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
+			var contentView:DisplayObjectContainer = layoutParent.contentView;
+			
+			var n:int = contentView.numChildren;
+			var hasHorizontalFlex:Boolean;
+			var flexibleHorizontalMargins:Array = [];
+			var marginLeft:Object;
+			var marginRight:Object;
+			var marginTop:Object;
+			var marginBottom:Object;
+			var margin:Object;
+			var maxWidth:Number = 0;
+			for (var i:int = 0; i < n; i++)
+			{
+				var child:DisplayObject = contentView.getChildAt(i);
+				margin = ValuesManager.valuesImpl.getValue(child, "margin");
+				if (margin is Array)
+				{
+					if (margin.length == 1)
+						marginLeft = marginTop = marginRight = marginBottom = margin[0];
+					else if (margin.length <= 3)
+					{
+						marginLeft = marginRight = margin[1];
+						marginTop = marginBottom = margin[0];
+					}
+					else if (margin.length == 4)
+					{
+						marginLeft = margin[3];
+						marginBottom = margin[2];
+						marginRight = margin[1];
+						marginTop = margin[0];					
+					}
+				}
+				else if (margin == null)
+				{
+					marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
+					marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
+					marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
+					marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
+				}
+				else
+				{
+					marginLeft = marginTop = marginBottom = marginRight = margin;
+				}
+				var ml:Number;
+				var mr:Number;
+				var mt:Number;
+				var mb:Number;
+				var lastmb:Number;
+				mt = Number(marginTop);
+				if (isNaN(mt))
+					mt = 0;
+				mb = Number(marginBottom);
+				if (isNaN(mb))
+					mb = 0;
+				var yy:Number;
+				if (i == 0)
+					child.y = mt;
+				else
+					child.y = yy + Math.max(mt, lastmb);
+				yy = child.y + child.height;
+				lastmb = mb;
+				flexibleHorizontalMargins[i] = {};
+				if (marginLeft == "auto")
+				{
+					ml = 0;
+					flexibleHorizontalMargins[i].marginLeft = marginLeft;
+					hasHorizontalFlex = true;
+				}
+				else
+				{
+					ml = Number(marginLeft);
+					if (isNaN(ml))
+					{
+						ml = 0;
+						flexibleHorizontalMargins[i].marginLeft = marginLeft;
+					}
+					else
+						flexibleHorizontalMargins[i].marginLeft = ml;
+				}
+				if (marginRight == "auto")
+				{
+					mr = 0;
+					flexibleHorizontalMargins[i].marginRight = marginRight;
+					hasHorizontalFlex = true;
+				}
+				else
+				{
+					mr = Number(marginRight);
+					if (isNaN(mr))
+					{
+						mr = 0;
+						flexibleHorizontalMargins[i].marginRight = marginRight;
+					}
+					else
+						flexibleHorizontalMargins[i].marginRight = mr;
+				}
+				child.x = ml;
+				maxWidth = Math.max(maxWidth, ml + child.width + mr);
+			}
+			if (hasHorizontalFlex)
+			{
+				for (i = 0; i < n; i++)
+				{
+					child = contentView.getChildAt(i);
+					var obj:Object = flexibleHorizontalMargins[i];
+					if (obj.marginLeft == "auto" && obj.marginRight == "auto")
+						child.x = maxWidth - child.width / 2;
+					else if (obj.marginLeft == "auto")
+						child.x = maxWidth - child.width - obj.marginRight;
+				}
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as
new file mode 100644
index 0000000..0bc9dfd
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as
@@ -0,0 +1,111 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.layouts
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	import flash.geom.Rectangle;
+	
+	import org.apache.flex.core.IBeadLayout;
+	import org.apache.flex.core.IBorderModel;
+	import org.apache.flex.core.ILayoutParent;
+	import org.apache.flex.core.IScrollBarModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.supportClasses.Border;
+	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
+
+	public class NonVirtualVerticalScrollingLayout implements IBeadLayout
+	{
+		public function NonVirtualVerticalScrollingLayout()
+		{
+		}
+        
+        private var vScrollBar:ScrollBar;	
+
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
+			IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
+			IEventDispatcher(value).addEventListener("itemsCreated", changeHandler);
+		}
+	
+		private function changeHandler(event:Event):void
+		{            
+			var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
+			var contentView:DisplayObjectContainer = layoutParent.contentView;
+			var border:Border = layoutParent.border;
+			var borderModel:IBorderModel = border.model as IBorderModel;
+			
+            var ww:Number = DisplayObject(layoutParent.resizableView).width;
+            var hh:Number = DisplayObject(layoutParent.resizableView).height;
+            border.width = ww;
+            border.height = hh;
+           
+			contentView.width = ww - borderModel.offsets.left - borderModel.offsets.right;
+			contentView.height = hh - borderModel.offsets.top - borderModel.offsets.bottom;
+			contentView.x = borderModel.offsets.left;
+			contentView.y = borderModel.offsets.top;
+			
+			var n:int = contentView.numChildren;
+			var yy:Number = 0;
+			for (var i:int = 0; i < n; i++)
+			{
+				var ir:DisplayObject = contentView.getChildAt(i);
+				ir.y = yy;
+				ir.width = contentView.width;
+				yy += ir.height;			
+			}
+			if (yy > contentView.height)
+			{
+                vScrollBar = layoutParent.vScrollBar;
+				contentView.width -= vScrollBar.width;
+				IScrollBarModel(vScrollBar.model).maximum = yy;
+				IScrollBarModel(vScrollBar.model).pageSize = contentView.height;
+				IScrollBarModel(vScrollBar.model).pageStepSize = contentView.height;
+				vScrollBar.visible = true;
+				vScrollBar.height = contentView.height;
+				vScrollBar.y = contentView.y;
+				vScrollBar.x = contentView.width;
+                var vpos:Number = IScrollBarModel(vScrollBar.model).value;
+				contentView.scrollRect = new Rectangle(0, vpos, contentView.width, vpos + contentView.height);
+                vScrollBar.addEventListener("scroll", scrollHandler);
+			}
+			else if (vScrollBar)
+			{
+				contentView.scrollRect = null;
+				vScrollBar.visible = false;
+			}
+		}
+
+        private function scrollHandler(event:Event):void
+        {
+			var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
+			var contentView:DisplayObjectContainer = layoutParent.contentView;
+			
+            var vpos:Number = IScrollBarModel(vScrollBar.model).value;
+			contentView.scrollRect = new Rectangle(0, vpos, contentView.width, vpos + contentView.height);
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/VScrollBarLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/VScrollBarLayout.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/VScrollBarLayout.as
new file mode 100644
index 0000000..3d33ca0
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/VScrollBarLayout.as
@@ -0,0 +1,84 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.layouts
+{
+	import flash.display.DisplayObject;
+	
+	import org.apache.flex.core.IBeadLayout;
+	import org.apache.flex.core.IScrollBarModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.html.staticControls.beads.IScrollBarView;
+
+	public class VScrollBarLayout implements IBeadLayout
+	{
+		public function VScrollBarLayout()
+		{
+		}
+		
+		private var sbModel:IScrollBarModel;
+		private var sbView:IScrollBarView;
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			sbView = value as IScrollBarView;
+			sbModel = sbView.scrollBarModel;
+			sbModel.addEventListener("maximumChange", changeHandler);
+			sbModel.addEventListener("minimumChange", changeHandler);
+			sbModel.addEventListener("snapIntervalChange", changeHandler);
+			sbModel.addEventListener("stepSizeChange", changeHandler);
+            sbModel.addEventListener("pageSizeChange", changeHandler);
+			sbModel.addEventListener("valueChange", changeHandler);
+			IEventDispatcher(sbView.strand).addEventListener("heightChanged", changeHandler);
+			changeHandler(null);
+		}
+	
+		private function changeHandler(event:Event):void
+		{
+			var h:Number = DisplayObject(sbView.strand).height;
+			var increment:DisplayObject = sbView.increment;
+			var decrement:DisplayObject = sbView.decrement;
+			var track:DisplayObject = sbView.track;
+			var thumb:DisplayObject = sbView.thumb;
+			
+			decrement.x = 0;
+			decrement.y = 0;
+			increment.x = 0;
+			increment.y = h - increment.height;
+			track.x = 0;
+			track.y = decrement.height;
+			track.height = increment.y - decrement.height;
+            thumb.height = sbModel.pageSize / (sbModel.maximum - sbModel.minimum) * track.height;
+			if (track.height > thumb.height)
+			{
+				thumb.visible = true;
+				thumb.y = (sbModel.value / (sbModel.maximum - sbModel.minimum - sbModel.pageSize) * (track.height - thumb.height)) + track.y;
+			}
+			else
+			{
+				thumb.visible = false;
+			}
+		}
+						
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/AlertModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/AlertModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/AlertModel.as
new file mode 100644
index 0000000..12deea4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/AlertModel.as
@@ -0,0 +1,163 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.models
+{
+	import org.apache.flex.core.IAlertModel;
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.EventDispatcher;
+	
+	public class AlertModel extends EventDispatcher implements IAlertModel, IBead
+	{
+		public function AlertModel()
+		{
+			super();
+		}
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+		
+		private var _title:String;
+		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;
+		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 _message:String;
+		public function get message():String
+		{
+			return _message;
+		}
+		public function set message(value:String):void
+		{
+			if( value != _message ) {
+				_message = value;
+				dispatchEvent( new Event("messageChange") );
+			}
+		}
+		
+		private var _htmlMessage:String;
+		public function get htmlMessage():String
+		{
+			return _htmlMessage;
+		}
+		public function set htmlMessage(value:String):void
+		{
+			if( value != _htmlMessage )
+			{
+				_htmlMessage = value;
+				dispatchEvent( new Event("htmlMessageChange") );
+			}
+		}
+		
+		private var _flags:uint;
+		public function get flags():uint
+		{
+			return _flags;
+		}
+		public function set flags(value:uint):void
+		{
+			if( value != _flags )
+			{
+				_flags = value;
+				dispatchEvent( new Event("flagsChange") );
+			}
+		}
+		
+		private var _okLabel:String = "OK";
+		public function get okLabel():String
+		{
+			return _okLabel;
+		}
+		public function set okLabel(value:String):void
+		{
+			if( value != _okLabel )
+			{
+				_okLabel = value;
+				dispatchEvent( new Event("okLabelChange") );
+			}
+		}
+		
+		private var _cancelLabel:String = "Cancel";
+		public function get cancelLabel():String
+		{
+			return _cancelLabel;
+		}
+		public function set cancelLabel(value:String):void
+		{
+			if( value != _cancelLabel )
+			{
+				_cancelLabel = value;
+				dispatchEvent( new Event("cancelLabelChange") );
+			}
+		}
+		
+		private var _yesLabel:String = "YES";
+		public function get yesLabel():String
+		{
+			return _yesLabel;
+		}
+		public function set yesLabel(value:String):void
+		{
+			if( value != _yesLabel )
+			{
+				_yesLabel = value;
+				dispatchEvent( new Event("yesLabelChange") );
+			}
+		}
+		
+		private var _noLabel:String = "NO";
+		public function get noLabel():String
+		{
+			return _noLabel;
+		}
+		public function set noLabel(value:String):void
+		{
+			if( value != _noLabel )
+			{
+				_noLabel = value;
+				dispatchEvent( new Event("noLabelChange") );
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as
new file mode 100644
index 0000000..d1794be
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as
@@ -0,0 +1,120 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.models
+{
+	import org.apache.flex.core.IRollOverModel;
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.EventDispatcher;
+			
+	public class ArraySelectionModel extends EventDispatcher implements ISelectionModel, IRollOverModel
+	{
+		public function ArraySelectionModel()
+		{
+		}
+
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+		
+		private var _dataProvider:Object;
+        
+		public function get dataProvider():Object
+		{
+			return _dataProvider;
+		}
+		public function set dataProvider(value:Object):void
+		{
+            _dataProvider = value;
+			dispatchEvent(new Event("dataProviderChanged"));
+		}
+
+		private var _selectedIndex:int = -1;
+		private var _rollOverIndex:int = -1;
+		
+		public function get selectedIndex():int
+		{
+			return _selectedIndex;
+		}
+		public function set selectedIndex(value:int):void
+		{
+			_selectedIndex = value;
+			_selectedItem = (value == -1) ? null : (value < _dataProvider.length) ? _dataProvider[value] : null;
+			dispatchEvent(new Event("selectedIndexChanged"));			
+		}
+		
+		public function get rollOverIndex():int
+		{
+			return _rollOverIndex;
+		}
+		public function set rollOverIndex(value:int):void
+		{
+			_rollOverIndex = value;
+			dispatchEvent(new Event("rollOverIndexChanged"));			
+		}
+		
+		private var _selectedItem:Object;
+		
+		public function get selectedItem():Object
+		{
+			return _selectedItem;
+		}
+		public function set selectedItem(value:Object):void
+		{
+			_selectedItem = value;	
+			var n:int = _dataProvider.length;
+			for (var i:int = 0; i < n; i++)
+			{
+				if (_dataProvider[i] == value)
+				{
+					_selectedIndex = i;
+					break;
+				}
+			}
+			dispatchEvent(new Event("selectedItemChanged"));			
+			dispatchEvent(new Event("selectedIndexChanged"));
+		}
+		
+		private var _selectedString:String;
+		
+		public function get selectedString():String
+		{
+			return String(_selectedItem);
+		}
+		public function set selectedString(value:String):void
+		{
+			_selectedString = value;
+			var n:int = _dataProvider.length;
+			for (var i:int = 0; i < n; i++)
+			{
+				if (String(_dataProvider[i]) == value)
+				{
+					_selectedIndex = i;
+					break;
+				}
+			}
+			dispatchEvent(new Event("selectedItemChanged"));			
+			dispatchEvent(new Event("selectedIndexChanged"));			
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ComboBoxModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ComboBoxModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ComboBoxModel.as
new file mode 100644
index 0000000..91d2ce0
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ComboBoxModel.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.staticControls.beads.models
+{
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IComboBoxModel;
+	import org.apache.flex.events.Event;
+			
+	public class ComboBoxModel extends ArraySelectionModel implements IBead, IComboBoxModel
+	{
+		public function ComboBoxModel()
+		{
+		}
+
+		private var _text:String;
+		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;
+		public function get html():String
+		{
+			return _html;
+		}
+		
+		public function set html(value:String):void
+		{
+			if (value != _html)
+			{
+				_html = value;
+				dispatchEvent(new Event("htmlChange"));
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as
new file mode 100644
index 0000000..bc71bff
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as
@@ -0,0 +1,45 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.models
+{
+	import org.apache.flex.core.IDataGridModel;
+	import org.apache.flex.events.Event;
+	
+	public class DataGridModel extends ArraySelectionModel implements IDataGridModel
+	{
+		public function DataGridModel()
+		{
+			super();
+		}
+		
+		private var _labelFields:Object;
+		public function get labelFields():Object
+		{
+			return _labelFields;
+		}
+		
+		public function set labelFields(value:Object):void
+		{
+			if (value != _labelFields) {
+				_labelFields = value;
+				dispatchEvent( new Event("labelFieldsChanged"));
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridPresentationModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridPresentationModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridPresentationModel.as
new file mode 100644
index 0000000..4c19aac
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridPresentationModel.as
@@ -0,0 +1,65 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.models
+{
+	import org.apache.flex.core.IDataGridPresentationModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.EventDispatcher;
+	
+	public class DataGridPresentationModel extends EventDispatcher implements IDataGridPresentationModel
+	{
+		public function DataGridPresentationModel()
+		{
+			super();
+		}
+		
+		private var _columnLabels:Array;
+		public function get columnLabels():Array
+		{
+			return _columnLabels;
+		}
+		public function set columnLabels(value:Array):void
+		{
+			if (value != _columnLabels) {
+				_columnLabels = value;
+				dispatchEvent(new Event("columnsChanged"));
+			}
+		}
+		
+		private var _rowHeight:Number = 30;
+		public function get rowHeight():Number
+		{
+			return _rowHeight;
+		}
+		public function set rowHeight(value:Number):void
+		{
+			if (value != _rowHeight) {
+				_rowHeight = value;
+				dispatchEvent(new Event("rowHeightChanged"));
+			}
+		}
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ImageModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ImageModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ImageModel.as
new file mode 100644
index 0000000..c6e3e80
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ImageModel.as
@@ -0,0 +1,53 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.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;
+	
+	public class ImageModel extends EventDispatcher implements IImageModel
+	{
+		public function ImageModel()
+		{
+			super();
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+		
+		private var _source:String;
+		public function get source():String
+		{
+			return _source;
+		}
+		public function set source(value:String):void
+		{
+			if (value != _source) {
+				_source = value;
+				dispatchEvent( new Event("urlChanged") );
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/PanelModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/PanelModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/PanelModel.as
new file mode 100644
index 0000000..19c61aa
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/PanelModel.as
@@ -0,0 +1,82 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.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;
+	
+	public class PanelModel extends EventDispatcher implements IBead, IPanelModel
+	{
+		public function PanelModel()
+		{
+			super();
+		}
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+		
+		private var _title:String;
+		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;
+		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;
+		public function get showCloseButton():Boolean
+		{
+			return _showCloseButton;
+		}
+		
+		public function set showCloseButton(value:Boolean):void
+		{
+			if( value != _showCloseButton ) {
+				_showCloseButton = value;
+				dispatchEvent( new Event('showCloseButtonChange') );
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/RangeModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/RangeModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/RangeModel.as
new file mode 100644
index 0000000..4b475be
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/RangeModel.as
@@ -0,0 +1,138 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.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;
+			
+	public class RangeModel extends EventDispatcher implements IBead, IRangeModel
+	{
+		public function RangeModel()
+		{
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+
+		private var _maximum:Number = 100;
+		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;
+		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;
+		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;
+		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;
+		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"));
+			}
+		}
+		
+		
+		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;
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ScrollBarModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ScrollBarModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ScrollBarModel.as
new file mode 100644
index 0000000..ce2e52d
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ScrollBarModel.as
@@ -0,0 +1,62 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.models
+{
+	
+	import org.apache.flex.core.IScrollBarModel;
+	import org.apache.flex.events.Event;
+		
+	public class ScrollBarModel extends RangeModel implements IScrollBarModel
+	{
+		public function ScrollBarModel()
+		{
+		}
+		
+		private var _pageSize:Number;
+		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;
+		public function get pageStepSize():Number
+		{
+			return _pageStepSize;
+		}
+		
+		public function set pageStepSize(value:Number):void
+		{
+			if (value != _pageStepSize)
+			{
+				_pageStepSize = value;
+				dispatchEvent(new Event("pageStepSizeChange"));
+			}
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/SingleLineBorderModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/SingleLineBorderModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/SingleLineBorderModel.as
new file mode 100644
index 0000000..39908e8
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/SingleLineBorderModel.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.staticControls.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;
+		
+	public class SingleLineBorderModel extends EventDispatcher implements IBead, IBorderModel
+	{
+		public function SingleLineBorderModel()
+		{
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+
+        static private var rect:Rectangle = new Rectangle(1, 1, 1, 1);
+        
+        public function get offsets():Rectangle
+        {
+            return rect;
+        }
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/StringSelectionModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/StringSelectionModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/StringSelectionModel.as
new file mode 100644
index 0000000..1313855
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/StringSelectionModel.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.staticControls.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;
+		
+	public class StringSelectionModel extends EventDispatcher implements ISelectionModel
+	{
+		public function StringSelectionModel()
+		{
+		}
+
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+		
+		private var _strings:Vector.<String>;
+		public function get strings():Vector.<String>
+		{
+			return _strings;
+		}
+		public function set strings(value:Vector.<String>):void
+		{
+			_strings = value;
+			dispatchEvent(new Event("dataProviderChanged"));
+		}
+		public function get dataProvider():Object
+		{
+			return _strings;
+		}
+		public function set dataProvider(value:Object):void
+		{
+			_strings = value as Vector.<String>;
+			dispatchEvent(new Event("dataProviderChanged"));
+		}
+
+		private var _selectedIndex:int = -1;
+		
+		public function get selectedIndex():int
+		{
+			return _selectedIndex;
+		}
+		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;
+		
+		public function get selectedItem():Object
+		{
+			return _selectedString;
+		}
+		public function set selectedItem(value:Object):void
+		{
+			selectedString = String(value);	
+		}
+		public function get selectedString():String
+		{
+			return _selectedString;
+		}
+		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"));			
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/TextModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/TextModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/TextModel.as
new file mode 100644
index 0000000..6a994b2
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/TextModel.as
@@ -0,0 +1,70 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.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;
+		
+	public class TextModel extends EventDispatcher implements IBead, ITextModel
+	{
+		public function TextModel()
+		{
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+
+		private var _text:String;
+		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;
+		public function get html():String
+		{
+			return _html;
+		}
+		
+		public function set html(value:String):void
+		{
+			if (value != _html)
+			{
+				_html = value;
+				dispatchEvent(new Event("htmlChange"));
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/TitleBarModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/TitleBarModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/TitleBarModel.as
new file mode 100644
index 0000000..d72fab9
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/TitleBarModel.as
@@ -0,0 +1,83 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.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;
+	
+	public class TitleBarModel extends EventDispatcher implements IBead, ITitleBarModel
+	{
+		public function TitleBarModel()
+		{
+			super();
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+		
+		private var _title:String;
+		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;
+		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;
+		public function get showCloseButton():Boolean
+		{
+			return _showCloseButton;
+		}
+		
+		public function set showCloseButton(value:Boolean):void
+		{
+			if( value != _showCloseButton ) {
+				_showCloseButton = value;
+				dispatchEvent( new Event('showCloseButtonChange') );
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ToggleButtonModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ToggleButtonModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ToggleButtonModel.as
new file mode 100644
index 0000000..c96e101
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ToggleButtonModel.as
@@ -0,0 +1,87 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.models
+{
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IToggleButtonModel;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.EventDispatcher;
+	
+	public class ToggleButtonModel extends EventDispatcher implements IBead, IToggleButtonModel
+	{
+		public function ToggleButtonModel()
+		{
+			super();
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+		
+		private var _text:String;
+		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;
+		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;
+		
+		public function get selected():Boolean
+		{
+			return _selected;
+		}
+		
+		public function set selected(value:Boolean):void
+		{
+			if( value != _selected )
+			{
+				_selected = value;
+				dispatchEvent(new Event("selectedChange"));
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ValueToggleButtonModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ValueToggleButtonModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ValueToggleButtonModel.as
new file mode 100644
index 0000000..a1cc0fb
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ValueToggleButtonModel.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.staticControls.beads.models
+{
+	
+	import org.apache.flex.core.IValueToggleButtonModel;
+	import org.apache.flex.events.Event;
+
+	public class ValueToggleButtonModel extends ToggleButtonModel implements IValueToggleButtonModel
+	{
+		public function ValueToggleButtonModel()
+		{
+			super();
+		}
+		
+		private var _value:Object;
+		
+		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;
+		
+		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;
+		
+		public function get selectedValue():Object
+		{
+			return _selectedValue;
+		}
+		
+		public function set selectedValue(newValue:Object):void
+		{
+			if( _selectedValue != newValue )
+			{
+				_selectedValue = newValue;
+				dispatchEvent(new Event("selectedValueChange"));
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/Border.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/Border.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/Border.as
new file mode 100644
index 0000000..615e35c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/Border.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.supportClasses
+{
+	import org.apache.flex.core.UIBase;
+	
+	public class Border extends UIBase
+	{
+		public function Border()
+		{
+			super();
+		}		
+        
+   	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/ButtonBarButtonItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/ButtonBarButtonItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/ButtonBarButtonItemRenderer.as
new file mode 100644
index 0000000..01750b8
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/ButtonBarButtonItemRenderer.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.staticControls.supportClasses
+{
+	import org.apache.flex.events.Event;
+	import org.apache.flex.html.staticControls.TextButton;
+	import org.apache.flex.html.staticControls.beads.ITextItemRenderer;
+
+	public class ButtonBarButtonItemRenderer extends UIItemRendererBase implements ITextItemRenderer
+	{
+		public function ButtonBarButtonItemRenderer()
+		{
+			super();
+		}
+		
+		private var textButton:TextButton;
+		
+		override public function addedToParent():void
+		{
+			super.addedToParent();
+		}
+		
+		private function handleClickEvent(event:Event):void
+		{
+			this.dispatchEvent(new Event("selected"));
+		}
+		
+		public function get text():String
+		{
+			return data as String;
+		}
+		public function set text(value:String):void
+		{
+			data = value;
+		}
+		
+		override public function set data(value:Object):void
+		{
+			super.data = value;
+			
+			var added:Boolean = false;
+			if (textButton == null) {
+				textButton = new TextButton();
+				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);
+		}
+		
+		override public function adjustSize():void
+		{
+			textButton.width = this.width;
+			textButton.height = this.height;
+			
+			updateRenderer();
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as
new file mode 100644
index 0000000..8f2a5cc
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.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.staticControls.supportClasses
+{
+	import flash.display.Sprite;
+
+	public class DataItemRenderer extends UIItemRendererBase
+	{
+		public function DataItemRenderer()
+		{
+			super();
+		}
+		
+		private var _columnIndex:int;
+		public function get columnIndex():int
+		{
+			return _columnIndex;
+		}
+		public function set columnIndex(value:int):void
+		{
+			_columnIndex = value;
+		}
+		
+		private var _rowIndex:int;
+		public function get rowIndex():int
+		{
+			return _rowIndex;
+		}
+		public function set rowIndex(value:int):void
+		{
+			_rowIndex = value;
+		}
+		
+		private var _labelField:String = "label";
+		public function get labelField():String
+		{
+			return _labelField;
+		}
+		public function set labelField(value:String):void
+		{
+			_labelField = value;
+		}
+		
+		private var background:Sprite;
+		
+		override public function addedToParent():void
+		{
+			super.addedToParent();
+			
+			background = new Sprite();
+			addChild(background);
+		}
+		
+		override public function updateRenderer():void
+		{
+			super.updateRenderer();
+			
+			background.graphics.clear();
+			background.graphics.beginFill(backgroundColor, (down||selected||hovered)?1:0);
+			background.graphics.drawRect(0, 0, this.width, this.height);
+			background.graphics.endFill();
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DropDownListList.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DropDownListList.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DropDownListList.as
new file mode 100644
index 0000000..04f9f7c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DropDownListList.as
@@ -0,0 +1,44 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.supportClasses
+{
+    import org.apache.flex.core.IPopUp;
+    import org.apache.flex.html.staticControls.List;
+    import org.apache.flex.html.staticControls.SimpleList;
+    import org.apache.flex.html.staticControls.beads.SolidBackgroundBead;
+    
+    [Event(name="change", type="org.apache.flex.events.Event")]
+    
+	public class DropDownListList extends SimpleList implements IPopUp
+	{
+		public function DropDownListList()
+		{
+			super();
+		}
+		
+		override public function addedToParent():void
+		{
+			super.addedToParent();
+			
+			var bb:SolidBackgroundBead = new SolidBackgroundBead();
+			bb.backgroundColor = 0xffffff;
+			addBead(bb);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/NonVirtualDataGroup.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/NonVirtualDataGroup.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/NonVirtualDataGroup.as
new file mode 100644
index 0000000..133ed18
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/NonVirtualDataGroup.as
@@ -0,0 +1,42 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.supportClasses
+{	
+    import org.apache.flex.core.IItemRenderer;
+    import org.apache.flex.core.IItemRendererParent;
+    import org.apache.flex.core.UIBase;
+
+	public class NonVirtualDataGroup extends UIBase implements IItemRendererParent
+	{
+		public function NonVirtualDataGroup()
+		{
+			super();
+		}
+
+        public function getItemRendererForIndex(index:int):IItemRenderer
+        {
+            return getChildAt(index) as IItemRenderer;
+        }
+		
+		public function removeAllElements():void
+		{
+			this.removeChildren(0);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/ScrollBar.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/ScrollBar.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/ScrollBar.as
new file mode 100644
index 0000000..2b33d08
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/ScrollBar.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.html.staticControls.supportClasses
+{
+	import org.apache.flex.core.UIBase;
+	
+	public class ScrollBar extends UIBase
+	{
+		public function ScrollBar()
+		{
+			super();
+		}		
+   	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as
new file mode 100644
index 0000000..1cef4c4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as
@@ -0,0 +1,75 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.supportClasses
+{
+	import flash.text.TextFieldType;
+	
+	import org.apache.flex.core.CSSTextField;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.html.staticControls.beads.ITextItemRenderer;
+
+	public class StringItemRenderer extends UIItemRendererBase implements ITextItemRenderer
+	{
+		public function StringItemRenderer()
+		{
+			super();
+			
+			textField = new CSSTextField();
+			textField.type = TextFieldType.DYNAMIC;
+			textField.selectable = false;
+		}
+		
+		public var textField:CSSTextField;
+		
+		override public function addedToParent():void
+		{
+			super.addedToParent();
+			
+			addChild(textField);
+
+			adjustSize();
+		}
+		
+		override public function adjustSize():void
+		{
+			textField.x = 0;
+			textField.y = 0;
+			textField.width = this.width;
+			textField.height = this.height;
+		}
+		
+		public function get text():String
+		{
+			return textField.text;
+		}
+		
+		public function set text(value:String):void
+		{
+			textField.text = value;
+		}
+		
+		override public function updateRenderer():void
+		{
+			super.updateRenderer();
+			
+			textField.background = (down || selected || hovered);
+			textField.backgroundColor = backgroundColor;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/TextFieldItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/TextFieldItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/TextFieldItemRenderer.as
new file mode 100644
index 0000000..6288951
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/TextFieldItemRenderer.as
@@ -0,0 +1,230 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.supportClasses
+{
+    import flash.text.TextFieldType;
+    
+    import org.apache.flex.core.CSSTextField;
+    import org.apache.flex.core.IBead;
+    import org.apache.flex.core.IBeadController;
+    import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.IUIBase;
+    import org.apache.flex.core.UIBase;
+    import org.apache.flex.core.ValuesManager;
+    import org.apache.flex.events.Event;
+    import org.apache.flex.html.staticControls.beads.ITextItemRenderer;
+	
+	public class TextFieldItemRenderer extends CSSTextField implements ITextItemRenderer, IStrand, IUIBase
+	{
+		public function TextFieldItemRenderer()
+		{
+			super();
+            type = TextFieldType.DYNAMIC;
+            selectable = false;
+		}
+        
+        public var highlightColor:uint = 0xCEDBEF;
+        public var selectedColor:uint = 0xA8C6EE;
+        public var downColor:uint = 0x808080;
+
+        private var _width:Number;
+        override public function get width():Number
+        {
+            if (isNaN(_width))
+            {
+                var value:* = ValuesManager.valuesImpl.getValue(this, "width");
+                if (value === undefined)
+                    return $width;
+                _width = Number(value);
+                super.width = value;
+            }
+            return _width;
+        }
+        override public function set width(value:Number):void
+        {
+            if (_width != value)
+            {
+                _width = value;
+                super.width = value;
+                dispatchEvent(new Event("widthChanged"));
+            }
+        }
+        protected function get $width():Number
+        {
+            return super.width;
+        }
+        
+        private var _height:Number;
+        override public function get height():Number
+        {
+            if (isNaN(_height))
+            {
+                var value:* = ValuesManager.valuesImpl.getValue(this, "height");
+                if (value === undefined)
+                    return $height;
+                _height = Number(value);
+                super.height = value;
+            }
+            return _height;
+        }
+        override public function set height(value:Number):void
+        {
+            if (_height != value)
+            {
+                _height = value;
+                super.height = value;
+                dispatchEvent(new Event("heightChanged"));
+            }
+        }
+        protected function get $height():Number
+        {
+            return super.height;
+        }
+
+        public function get data():Object
+        {
+            return text;
+        }
+        public function set data(value:Object):void
+        {
+            text = String(value);
+        }
+        
+        private var _index:int;
+        
+        public function get index():int
+        {
+            return _index;
+        }
+        public function set index(value:int):void
+        {
+            _index = value;
+        }
+        
+        private var _hovered:Boolean;
+        
+        public function get hovered():Boolean
+        {
+            return _hovered;
+        }
+        public function set hovered(value:Boolean):void
+        {
+            _hovered = value;
+            updateRenderer();
+        }
+        
+        private var _selected:Boolean;
+        
+        public function get selected():Boolean
+        {
+            return _selected;
+        }
+        public function set selected(value:Boolean):void
+        {
+            _selected = value;
+            updateRenderer();
+        }
+
+        private var _down:Boolean;
+        
+        public function get down():Boolean
+        {
+            return _down;
+        }
+        public function set down(value:Boolean):void
+        {
+            _down = value;
+            updateRenderer();
+        }
+        
+        public function updateRenderer():void
+        {
+            background = (down || selected || hovered);
+            if (down)
+                backgroundColor = downColor;
+            else if (hovered)
+                backgroundColor = highlightColor;
+            else if (selected)
+                backgroundColor = selectedColor;
+        }
+        
+        public function get element():Object
+        {
+            return this;
+        }
+
+        // beads declared in MXML are added to the strand.
+        // from AS, just call addBead()
+        public var beads:Array;
+        
+        private var _beads:Vector.<IBead>;
+        public function addBead(bead:IBead):void
+        {
+            if (!_beads)
+                _beads = new Vector.<IBead>;
+            _beads.push(bead);
+            bead.strand = this;
+        }
+        
+        public function getBeadByType(classOrInterface:Class):IBead
+        {
+            for each (var bead:IBead in _beads)
+            {
+                if (bead is classOrInterface)
+                    return bead;
+            }
+            return null;
+        }
+        
+        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;
+        }
+        
+        public function addedToParent():void
+        {
+            var c:Class;
+
+            // renderer has a default model (the 'data' property)
+            // and it is essentially a view of that model, so it
+            // only needs an assignable controller
+            
+            if (getBeadByType(IBeadController) == null) 
+            {
+                c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
+                if (c)
+                {
+                    var controller:IBeadController = new c as IBeadController;
+                    if (controller)
+                        addBead(controller);
+                }
+            }
+        }
+    }
+}
\ No newline at end of file


[10/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/FlexJSUIClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/FlexJSUIClasses.as b/frameworks/as/src/FlexJSUIClasses.as
deleted file mode 100644
index f9c6a68..0000000
--- a/frameworks/as/src/FlexJSUIClasses.as
+++ /dev/null
@@ -1,127 +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 FlexJSUIClasses
-{
-	import org.apache.flex.html.staticControls.accessories.NumericOnlyTextInputBead; NumericOnlyTextInputBead;
-	import org.apache.flex.html.staticControls.accessories.PasswordInputBead; PasswordInputBead;
-	import org.apache.flex.html.staticControls.accessories.TextPromptBead; TextPromptBead;
-    import org.apache.flex.html.staticControls.beads.AlertView; AlertView;
-	import org.apache.flex.html.staticControls.beads.ButtonBarView; ButtonBarView;
-	import org.apache.flex.html.staticControls.beads.CheckBoxView; CheckBoxView;
-    import org.apache.flex.html.staticControls.beads.ComboBoxView; ComboBoxView;
-    import org.apache.flex.html.staticControls.beads.ContainerView; ContainerView;
-    import org.apache.flex.html.staticControls.beads.ControlBarMeasurementBead; ControlBarMeasurementBead;
-	import org.apache.flex.html.staticControls.beads.CSSTextButtonView; CSSTextButtonView;
-	import org.apache.flex.html.staticControls.beads.DataGridColumnView; DataGridColumnView;
-	import org.apache.flex.html.staticControls.beads.DataGridView; DataGridView;
-    import org.apache.flex.html.staticControls.beads.DropDownListView; DropDownListView;
-	import org.apache.flex.html.staticControls.beads.ImageView; ImageView;
-    import org.apache.flex.html.staticControls.beads.ListView; ListView;
-    import org.apache.flex.html.staticControls.beads.NumericStepperView; NumericStepperView;
-    import org.apache.flex.html.staticControls.beads.PanelView; PanelView;
-	import org.apache.flex.html.staticControls.beads.RadioButtonView; RadioButtonView;
-    import org.apache.flex.html.staticControls.beads.ScrollBarView; ScrollBarView;
-	import org.apache.flex.html.staticControls.beads.SimpleAlertView; SimpleAlertView;
-	import org.apache.flex.html.staticControls.beads.SliderView; SliderView;
-	import org.apache.flex.html.staticControls.beads.SliderThumbView; SliderThumbView;
-	import org.apache.flex.html.staticControls.beads.SliderTrackView; SliderTrackView;
-    import org.apache.flex.html.staticControls.beads.SpinnerView; SpinnerView;
-    import org.apache.flex.html.staticControls.beads.TextButtonMeasurementBead; TextButtonMeasurementBead;
-	import org.apache.flex.html.staticControls.beads.TextFieldLabelMeasurementBead; TextFieldLabelMeasurementBead;
-    import org.apache.flex.html.staticControls.beads.TextAreaView; TextAreaView;
-    import org.apache.flex.html.staticControls.beads.TextButtonView; TextButtonView;
-    import org.apache.flex.html.staticControls.beads.TextFieldView; TextFieldView;
-    import org.apache.flex.html.staticControls.beads.TextInputView; TextInputView;
-    import org.apache.flex.html.staticControls.beads.TextInputWithBorderView; TextInputWithBorderView;
-    import org.apache.flex.html.staticControls.beads.TitleBarMeasurementBead; TitleBarMeasurementBead;
-    import org.apache.flex.html.staticControls.beads.models.AlertModel; AlertModel;
-    import org.apache.flex.html.staticControls.beads.models.ArraySelectionModel; ArraySelectionModel;
-    import org.apache.flex.html.staticControls.beads.models.ComboBoxModel; ComboBoxModel;
-	import org.apache.flex.html.staticControls.beads.models.DataGridModel; DataGridModel;
-	import org.apache.flex.html.staticControls.beads.models.DataGridPresentationModel; DataGridPresentationModel;
-	import org.apache.flex.html.staticControls.beads.models.ImageModel; ImageModel;
-	import org.apache.flex.html.staticControls.beads.models.PanelModel; PanelModel;
-	import org.apache.flex.html.staticControls.beads.models.TextModel; TextModel;
-    import org.apache.flex.html.staticControls.beads.models.TitleBarModel; TitleBarModel;
-	import org.apache.flex.html.staticControls.beads.models.ToggleButtonModel; ToggleButtonModel;
-	import org.apache.flex.html.staticControls.beads.models.ValueToggleButtonModel; ValueToggleButtonModel;
-    import org.apache.flex.html.staticControls.beads.controllers.AlertController; AlertController;
-	import org.apache.flex.html.staticControls.beads.controllers.ComboBoxController; ComboBoxController;
-    import org.apache.flex.html.staticControls.beads.controllers.DropDownListController; DropDownListController;
-	import org.apache.flex.html.staticControls.beads.controllers.EditableTextKeyboardController; EditableTextKeyboardController;
-    import org.apache.flex.html.staticControls.beads.controllers.ItemRendererMouseController; ItemRendererMouseController;
-    import org.apache.flex.html.staticControls.beads.controllers.ListSingleSelectionMouseController; ListSingleSelectionMouseController;
-	import org.apache.flex.html.staticControls.beads.controllers.SliderMouseController; SliderMouseController;
-	import org.apache.flex.html.staticControls.beads.controllers.SpinnerMouseController; SpinnerMouseController;
-    import org.apache.flex.html.staticControls.beads.controllers.VScrollBarMouseController; VScrollBarMouseController;
-	import org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout; ButtonBarLayout;
-    import org.apache.flex.html.staticControls.beads.layouts.NonVirtualVerticalScrollingLayout; NonVirtualVerticalScrollingLayout;  
-	import org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalScrollingLayout; NonVirtualHorizontalScrollingLayout;
-    import org.apache.flex.html.staticControls.beads.layouts.VScrollBarLayout; VScrollBarLayout;
-    import org.apache.flex.html.staticControls.beads.TextItemRendererFactoryForArrayData; TextItemRendererFactoryForArrayData;
-	import org.apache.flex.html.staticControls.beads.DataItemRendererFactoryForArrayData; DataItemRendererFactoryForArrayData;
-    import org.apache.flex.core.ItemRendererClassFactory; ItemRendererClassFactory;    
-	import org.apache.flex.events.CustomEvent; CustomEvent;
-	import org.apache.flex.events.Event; Event;
-	import org.apache.flex.utils.Timer; Timer;
-    import org.apache.flex.core.SimpleStatesImpl; SimpleStatesImpl;
-    
-    import mx.binding.ArrayElementWatcher; ArrayElementWatcher;
-    import mx.binding.Binding; Binding;
-    import mx.binding.BindingManager; BindingManager;
-    import mx.binding.FunctionReturnWatcher; FunctionReturnWatcher;
-    import mx.binding.IBindingClient; IBindingClient;
-    import mx.binding.IWatcherSetupUtil2; IWatcherSetupUtil2;
-    import mx.binding.PropertyWatcher; PropertyWatcher;
-    import mx.binding.RepeaterComponentWatcher; RepeaterComponentWatcher;
-    import mx.binding.RepeaterItemWatcher; RepeaterItemWatcher;
-    import mx.binding.StaticPropertyWatcher; StaticPropertyWatcher;
-    import mx.binding.Watcher; Watcher;
-    import mx.binding.XMLWatcher; XMLWatcher;
-    import mx.core.ClassFactory; ClassFactory;
-    import mx.core.DeferredInstanceFromClass; DeferredInstanceFromClass;
-    import mx.core.DeferredInstanceFromFunction; DeferredInstanceFromFunction;
-    import mx.core.IDeferredInstance; IDeferredInstance;
-    import mx.core.IFactory; IFactory;
-    import mx.core.IFlexModuleFactory; IFlexModuleFactory;
-    import mx.core.IPropertyChangeNotifier; IPropertyChangeNotifier;
-    import mx.core.IStateClient2; IStateClient2;
-    import mx.events.PropertyChangeEvent; PropertyChangeEvent;
-    import mx.filters.IBitmapFilter; IBitmapFilter;
-    import mx.styles.CSSCondition; CSSCondition;
-    import mx.styles.CSSSelector; CSSSelector;
-    import mx.styles.CSSStyleDeclaration; CSSStyleDeclaration;
-    import mx.styles.IStyleManager2; IStyleManager2;
-    import mx.styles.StyleManager; StyleManager;
-    
-    import mx.states.AddItems; AddItems;
-    import mx.states.SetProperty; SetProperty;
-    import mx.states.State; State;
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/binding/ArrayElementWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/binding/ArrayElementWatcher.as b/frameworks/as/src/mx/binding/ArrayElementWatcher.as
deleted file mode 100644
index 024af6c..0000000
--- a/frameworks/as/src/mx/binding/ArrayElementWatcher.as
+++ /dev/null
@@ -1,77 +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 mx.binding
-{
-
-[ExcludeClass]
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class ArrayElementWatcher extends Watcher
-{
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-	 *  @private
-	 *  Constructor
-	 */
-    public function ArrayElementWatcher(document:Object,
-                                        accessorFunc:Function,
-                                        listeners:Array)
-    {
-		super(listeners);
-
-        this.document = document;
-        this.accessorFunc = accessorFunc;
-    }
-
-	//--------------------------------------------------------------------------
-	//
-	//  Variables
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-	 *  @private
-	 */
-	private var document:Object;
-    
-    /**
-	 *  @private
-	 */
-	private var accessorFunc:Function;
-
-    /**
-	 *  @private
-	 */
-    public var arrayWatcher:Watcher;
-
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/binding/Binding.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/binding/Binding.as b/frameworks/as/src/mx/binding/Binding.as
deleted file mode 100644
index b822dcd..0000000
--- a/frameworks/as/src/mx/binding/Binding.as
+++ /dev/null
@@ -1,85 +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 mx.binding
-{
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class Binding
-{
-    
-    //--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-     *  Create a Binding object
-	 *
-     *  @param document The document that is the target of all of this work.
-	 *
-     *  @param srcFunc The function that returns us the value
-	 *  to use in this Binding.
-	 *
-     *  @param destFunc The function that will take a value
-	 *  and assign it to the destination.
-	 *
-     *  @param destString The destination represented as a String.
-	 *  We can then tell the ValidationManager to validate this field.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function Binding(document:Object, srcFunc:Function,
-						    destFunc:Function, destString:String,
-							srcString:String = null)
-    {
-    }
-
- 	//--------------------------------------------------------------------------
-	//
-	//  Variables
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-     *  Execute the binding.
-     *  Call the source function and get the value we'll use.
-     *  Then call the destination function passing the value as an argument.
-     *  Finally try to validate the destination.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function execute(o:Object = null):void
-    {
-    }
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/binding/BindingManager.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/binding/BindingManager.as b/frameworks/as/src/mx/binding/BindingManager.as
deleted file mode 100644
index 3ef557b..0000000
--- a/frameworks/as/src/mx/binding/BindingManager.as
+++ /dev/null
@@ -1,37 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-package mx.binding
-{
-	public class BindingManager
-	{
-        public static function executeBindings(document:Object,
-                                               destStr:String,
-                                               destObj:Object):void
-        {
-            
-        }
- 	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/binding/FunctionReturnWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/binding/FunctionReturnWatcher.as b/frameworks/as/src/mx/binding/FunctionReturnWatcher.as
deleted file mode 100644
index 2dfd63e..0000000
--- a/frameworks/as/src/mx/binding/FunctionReturnWatcher.as
+++ /dev/null
@@ -1,129 +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 mx.binding
-{
-
-[ExcludeClass]
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class FunctionReturnWatcher extends Watcher
-{
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-	 *  @private
-	 *  Constructor.
-	 */
-	public function FunctionReturnWatcher(functionName:String,
-										  document:Object,
-										  parameterFunction:Function,
-										  events:Object,
-                                          listeners:Array,
-                                          functionGetter:Function = null,
-                                          isStyle:Boolean = false)
-    {
-		super(listeners);
-
-        this.functionName = functionName;
-        this.document = document;
-        this.parameterFunction = parameterFunction;
-        this.events = events;
-        this.functionGetter = functionGetter;
-        this.isStyle = isStyle;
-    }
-
-	//--------------------------------------------------------------------------
-	//
-	//  Variables
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-     *  The name of the property, used to actually get the property
-	 *  and for comparison in propertyChanged events.
-     */
-    private var functionName:String;
-    
-	/**
- 	 *  @private
-     *  The document is what we need to use to execute the parameter function.
-     */
-    private var document:Object;
-    
-	/**
- 	 *  @private
-     *  The function that will give us the parameters for calling the function.
-     */
-    private var parameterFunction:Function;
-    
-    /**
- 	 *  @private
-     *  The events that indicate the property has changed.
-     */
-    private var events:Object;
-    
-	/**
-	 *  @private
-     *  The parent object of this function.
-     */
-    private var parentObj:Object;
-    
-	/**
-	 *  @private
-     *  The watcher holding onto the parent object.
-     */
-    public var parentWatcher:Watcher;
-
-    /**
-     *  Storage for the functionGetter property.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    private var functionGetter:Function;
-
-    /**
-     *  Storage for the isStyle property.  This will be true, when
-     *  watching a function marked with [Bindable(style="true")].  For
-     *  example, UIComponent.getStyle().
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
-     */
-    private var isStyle:Boolean;
-
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/binding/IBindingClient.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/binding/IBindingClient.as b/frameworks/as/src/mx/binding/IBindingClient.as
deleted file mode 100644
index 14f2fb4..0000000
--- a/frameworks/as/src/mx/binding/IBindingClient.as
+++ /dev/null
@@ -1,33 +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 mx.binding
-{
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public interface IBindingClient
-{
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/binding/IWatcherSetupUtil2.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/binding/IWatcherSetupUtil2.as b/frameworks/as/src/mx/binding/IWatcherSetupUtil2.as
deleted file mode 100644
index e2311d4..0000000
--- a/frameworks/as/src/mx/binding/IWatcherSetupUtil2.as
+++ /dev/null
@@ -1,47 +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 mx.binding
-{
-
-[ExcludeClass]
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public interface IWatcherSetupUtil2
-{
-	//--------------------------------------------------------------------------
-	//
-	//  Methods
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	function setup(target:Object, propertyGetter:Function,
-                   staticPropertyGetter:Function,
-				   bindings:Array, watchers:Array):void;
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/binding/PropertyWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/binding/PropertyWatcher.as b/frameworks/as/src/mx/binding/PropertyWatcher.as
deleted file mode 100644
index 6bad414..0000000
--- a/frameworks/as/src/mx/binding/PropertyWatcher.as
+++ /dev/null
@@ -1,148 +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 mx.binding
-{
-
-[ExcludeClass]
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class PropertyWatcher extends Watcher
-{
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-     *  Create a PropertyWatcher
-     *
-     *  @param prop The name of the property to watch.
-     *  @param event The event type that indicates the property has changed.
-     *  @param listeners The binding objects that are listening to this Watcher.
-     *  @param propertyGetter A helper function used to access non-public variables.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function PropertyWatcher(propertyName:String,
-                                    events:Object,
-                                    listeners:Array,
-                                    propertyGetter:Function = null)
-    {
-		super(listeners);
-
-    }
-
-	//--------------------------------------------------------------------------
-	//
-	//  Variables
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-     *  The parent object of this property.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    private var parentObj:Object;
-
-    /**
-     *  The events that indicate the property has changed
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    protected var events:Object;
-
-    /**
-     *  Storage for the propertyGetter property.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    protected var propertyGetter:Function;
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  propertyName
-	//----------------------------------
-
-	/**
-     *  Storage for the propertyName property.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    private var _propertyName:String;
-    
-    /**
-     *  The name of the property this Watcher is watching.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function get propertyName():String
-    {
-        return _propertyName;
-    }
-
-	//----------------------------------
-	//  useRTTI
-	//----------------------------------
-
-    /**
-     *	If compiler can't determine bindability from static type,
-	 *  use RTTI on runtime values.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    private var useRTTI:Boolean;
-
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/binding/RepeaterComponentWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/binding/RepeaterComponentWatcher.as b/frameworks/as/src/mx/binding/RepeaterComponentWatcher.as
deleted file mode 100644
index b16f2ae..0000000
--- a/frameworks/as/src/mx/binding/RepeaterComponentWatcher.as
+++ /dev/null
@@ -1,74 +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 mx.binding
-{
-
-
-[ExcludeClass]
-
-/**
- *  @private
- */
-public class RepeaterComponentWatcher extends PropertyWatcher
-{
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-     *
-     *  Create a RepeaterComponentWatcher
-     *
-     *  @param prop The name of the property to watch.
-     *  @param event The event type that indicates the property has changed.
-     *  @param listeners The binding objects that are listening to this Watcher.
-     *  @param propertyGetter A helper function used to access non-public variables.
-	 */
-    public function RepeaterComponentWatcher(propertyName:String,
-                                             events:Object,
-                                             listeners:Array,
-                                             propertyGetter:Function = null)
-    {
-		super(propertyName, events, listeners, propertyGetter);
-    }
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-    private var clones:Array;
-
-	/**
-	 *  @private
-	 */
-    private var original:Boolean = true;
-
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/binding/RepeaterItemWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/binding/RepeaterItemWatcher.as b/frameworks/as/src/mx/binding/RepeaterItemWatcher.as
deleted file mode 100644
index 8d5e8e2..0000000
--- a/frameworks/as/src/mx/binding/RepeaterItemWatcher.as
+++ /dev/null
@@ -1,74 +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 mx.binding
-{
-
-[ExcludeClass]
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class RepeaterItemWatcher extends Watcher
-{
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 *  Constructor.
-	 */
-    public function RepeaterItemWatcher(dataProviderWatcher:PropertyWatcher)
-    {
-		super();
-
-        this.dataProviderWatcher = dataProviderWatcher;
-    }
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-    private var dataProviderWatcher:PropertyWatcher;
-
-	/**
-	 *  @private
-	 */
-    private var clones:Array;
-
-	/**
-	 *  @private
-	 */
-    private var original:Boolean = true;
-
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/binding/StaticPropertyWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/binding/StaticPropertyWatcher.as b/frameworks/as/src/mx/binding/StaticPropertyWatcher.as
deleted file mode 100644
index 726211a..0000000
--- a/frameworks/as/src/mx/binding/StaticPropertyWatcher.as
+++ /dev/null
@@ -1,136 +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 mx.binding
-{
-
-[ExcludeClass]
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class StaticPropertyWatcher extends Watcher
-{
-
-    //--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Create a StaticPropertyWatcher
-     *
-     *  @param prop The name of the static property to watch.
-     *  @param event The event type that indicates the static property has changed.
-     *  @param listeners The binding objects that are listening to this Watcher.
-     *  @param propertyGetter A helper function used to access non-public variables.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function StaticPropertyWatcher(propertyName:String,
-                                          events:Object,
-                                          listeners:Array,
-                                          propertyGetter:Function = null)
-    {
-        super(listeners);
-
-        _propertyName = propertyName;
-        this.events = events;
-        this.propertyGetter = propertyGetter;
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Variables
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  The parent class of this static property.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    private var parentObj:Class;
-
-    /**
-     *  The events that indicate the static property has changed
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    protected var events:Object;
-
-    /**
-     *  Storage for the propertyGetter property.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    private var propertyGetter:Function;
-
-    //--------------------------------------------------------------------------
-    //
-    //  Properties
-    //
-    //--------------------------------------------------------------------------
-
-    //----------------------------------
-    //  propertyName
-    //----------------------------------
-
-    /**
-     *  Storage for the propertyName property.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    private var _propertyName:String;
-
-    /**
-     *  The name of the property this Watcher is watching.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function get propertyName():String
-    {
-        return _propertyName;
-    }
-
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/binding/Watcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/binding/Watcher.as b/frameworks/as/src/mx/binding/Watcher.as
deleted file mode 100644
index 39df030..0000000
--- a/frameworks/as/src/mx/binding/Watcher.as
+++ /dev/null
@@ -1,88 +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 mx.binding
-{
-
-[ExcludeClass]
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class Watcher
-{
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-    public function Watcher(listeners:Array = null)
-    {
-		super();
-
-        this.listeners = listeners;
-    }
-
-	//--------------------------------------------------------------------------
-	//
-	//  Variables
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     *  The binding objects that are listening to this Watcher.
-     *  The standard event mechanism isn't used because it's too heavyweight.
-     */
-    protected var listeners:Array;
-
-    /**
-     *  @private
-     *  Children of this watcher are watching sub values.
-     */
-    protected var children:Array;
-
-    /**
-     *  @private
-     *  The value itself.
-     */
-    public var value:Object;
-
-    /**
-     *  @private
-     *  Keep track of cloning when used in Repeaters.
-     */
-    protected var cloneIndex:int;
-
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/binding/XMLWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/binding/XMLWatcher.as b/frameworks/as/src/mx/binding/XMLWatcher.as
deleted file mode 100644
index b324638..0000000
--- a/frameworks/as/src/mx/binding/XMLWatcher.as
+++ /dev/null
@@ -1,106 +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 mx.binding 
-{
-
-[ExcludeClass]
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class XMLWatcher extends Watcher
-{
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-	 *  Constructor.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function XMLWatcher(propertyName:String, listeners:Array)
-    {
-		super(listeners);
-
-        _propertyName = propertyName;
-    }
-
-	//--------------------------------------------------------------------------
-	//
-	//  Variables
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-     *  The parent object of this property.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    private var parentObj:Object;
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  propertyName
-	//----------------------------------
-
-	/**
-     *  Storage for the propertyName property.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    private var _propertyName:String;
-
-    /**
-     *  The name of the property this Watcher is watching.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function get propertyName():String
-    {
-        return _propertyName;
-    }
-
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/core/ClassFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/core/ClassFactory.as b/frameworks/as/src/mx/core/ClassFactory.as
deleted file mode 100644
index 8ca4e79..0000000
--- a/frameworks/as/src/mx/core/ClassFactory.as
+++ /dev/null
@@ -1,100 +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 mx.core
-{
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class ClassFactory implements IFactory
-{
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-     *  Constructor.
-     *
-     *  @param generator The Class that the <code>newInstance()</code> method uses
-	 *  to generate objects from this factory object.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function ClassFactory(generator:Class = null)
-    {
-		super();
-    }
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  generator
-	//----------------------------------
-
-    /**
-     *  The Class that the <code>newInstance()</code> method uses
-	 *  to generate objects from this factory object.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public var generator:Class;
-
-	//----------------------------------
-	//  properties
-	//----------------------------------
-
-	/**
-	 *	An Object whose name/value pairs specify the properties to be set
-	 *  on each object generated by the <code>newInstance()</code> method.
-	 *
-	 *  <p>For example, if you set <code>properties</code> to
-	 *  <code>{ text: "Hello", width: 100 }</code>, then every instance
-	 *  of the <code>generator</code> class that is generated by calling
-	 *  <code>newInstance()</code> will have its <code>text</code> set to
-	 *  <code>"Hello"</code> and its <code>width</code> set to
-	 *  <code>100</code>.</p>
-	 *
-	 *  @default null
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public var properties:Object = null;
-
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/core/DeferredInstanceFromClass.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/core/DeferredInstanceFromClass.as b/frameworks/as/src/mx/core/DeferredInstanceFromClass.as
deleted file mode 100644
index 9893d34..0000000
--- a/frameworks/as/src/mx/core/DeferredInstanceFromClass.as
+++ /dev/null
@@ -1,115 +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 mx.core
-{
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class DeferredInstanceFromClass
-{
-    //--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Constructor.
-     *
-     *  @param generator The class whose instance the <code>getInstance()</code>
-     *  method creates and returns.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function DeferredInstanceFromClass(generator:Class)
-    {
-        super();
-
-        this.generator = generator;
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Variables
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     *  The generator class.
-     */
-    private var generator:Class;
-
-    /**
-     *  @private
-     *  The generated value.
-     */
-    private var instance:Object = null;
-
-    //--------------------------------------------------------------------------
-    //
-    //  Methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Creates and returns an instance of the class specified in the
-     *  DeferredInstanceFromClass constructor, if it does not yet exist;
-     *  otherwise, returns the already-created class instance.
-     *
-     *  @return An instance of the class specified in the
-     *  DeferredInstanceFromClass constructor.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function getInstance():Object
-    {
-        if (!instance)
-            instance = new generator();
-
-        return instance;
-    }
-    
-    /**
-     *  Resets the state of our factory to the initial, uninitialized state.
-     *  The reference to our cached instance is cleared.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
-     */
-    public function reset():void
-    {
-        instance = null;
-    }
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/core/DeferredInstanceFromFunction.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/core/DeferredInstanceFromFunction.as b/frameworks/as/src/mx/core/DeferredInstanceFromFunction.as
deleted file mode 100644
index b93a277..0000000
--- a/frameworks/as/src/mx/core/DeferredInstanceFromFunction.as
+++ /dev/null
@@ -1,131 +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 mx.core
-{
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class DeferredInstanceFromFunction
-{
-
-    //--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Constructor.
-     *
-     *  @param generator A function that creates and returns an instance
-     *  of the required object.
-     *
-     *  @param destructor An optional function used to cleanup outstanding
-     *  references when <code>reset()</code> is called.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function DeferredInstanceFromFunction(generator:Function,
-        destructor:Function = null )
-    {
-        super();
-
-        this.generator = generator;
-        this.destructor = destructor;
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Variables
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     *  The generator function.
-     */
-    private var generator:Function;
-
-    /**
-     *  @private
-     *  The generated value.
-     */
-    private var instance:Object = null;
-
-    /**
-     *  @private
-     *  An optional function used to cleanup outstanding
-     *  references when reset() is invoked
-     */
-    private var destructor:Function;
-
-    //--------------------------------------------------------------------------
-    //
-    //  Methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Returns a reference to an instance of the desired object.
-     *  If no instance of the required object exists, calls the function
-     *  specified in this class' <code>generator</code> constructor parameter.
-     * 
-     *  @return An instance of the object.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function getInstance():Object
-    {
-        if (!instance)
-            instance = generator();
-
-        return instance;
-    }
-    
-    /**
-     *  Resets the state of our factory to the initial, uninitialized state.
-     *  The reference to our cached instance is cleared.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 4
-     */
-    public function reset():void
-    {
-        instance = null;
-        
-        if (destructor != null)
-            destructor();
-    }
-
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/core/IDeferredInstance.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/core/IDeferredInstance.as b/frameworks/as/src/mx/core/IDeferredInstance.as
deleted file mode 100644
index e3ac094..0000000
--- a/frameworks/as/src/mx/core/IDeferredInstance.as
+++ /dev/null
@@ -1,51 +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 mx.core
-{
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public interface IDeferredInstance
-{
-    //--------------------------------------------------------------------------
-    //
-    //  Methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Creates an instance Object from a class or function,
-     *  if the instance does not yet exist.
-     *  
-     *  @return The instance Object.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    function getInstance():Object;
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/core/IFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/core/IFactory.as b/frameworks/as/src/mx/core/IFactory.as
deleted file mode 100644
index 205200b..0000000
--- a/frameworks/as/src/mx/core/IFactory.as
+++ /dev/null
@@ -1,39 +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 mx.core
-{
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public interface IFactory
-{
-	//--------------------------------------------------------------------------
-	//
-	//  Methods
-	//
-	//--------------------------------------------------------------------------
-
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/core/IFlexModuleFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/core/IFlexModuleFactory.as b/frameworks/as/src/mx/core/IFlexModuleFactory.as
deleted file mode 100644
index 536c92a..0000000
--- a/frameworks/as/src/mx/core/IFlexModuleFactory.as
+++ /dev/null
@@ -1,147 +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 mx.core
-{
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public interface IFlexModuleFactory
-{
-
-    
-    /**
-     *  Calls the <code>Security.allowDomain()</code> method for the SWF 
-     *  associated with this IFlexModuleFactory plus all the SWFs associated
-     *  with RSLs preloaded by this IFlexModuleFactory. RSLs loaded after this
-     *  call will, by default, allow the same domains as have been allowed by
-     *  previous calls to this method. This behavior is controlled by the <code>
-     *  allowDomainsInNewRSLs</code> property.
-     *
-     *  @param domains One or more strings or URLRequest objects that name 
-     *  the domains from which you want to allow access. 
-     *  You can specify the special domain "&#42;" to allow access from all domains. 
-     *
-     *  @see flash.system.Security#allowDomain()
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion Flex 4.5
-     */  
-    function allowDomain(... domains):void;
-    
-    /**
-     *  Calls the <code>Security.allowInsecureDomain()</code> method for the 
-     *  SWF associated with this IFlexModuleFactory
-     *  plus all the SWFs associated with RSLs preloaded by this 
-     *  IFlexModuleFactory. RSLs loaded after this call will, by default, 
-     *  allow the same domains as have been allowed by
-     *  previous calls to this method. This behavior is controlled by the <code>
-     *  allowInsecureDomainsInNewRSLs</code> property.
-     *
-     *  @param domains One or more strings or URLRequest objects that name 
-     *  the domains from which you want to allow access. 
-     *  You can specify the special domain "&#42;" to allow access from all domains. 
-     *
-     *  @see flash.system.Security#allowInsecureDomain()
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion Flex 4.5
-     */  
-    function allowInsecureDomain(... domains):void;
-    
-    /**
-     *  A way to call a method in this IFlexModuleFactory's context
-     *
-     *  @param fn The function or method to call.
-     *  @param thisArg The <code>this</code> pointer for the function.
-     *  @param argArray The arguments for the function.
-     *  @param returns If <code>true</code>, the function returns a value.
-     *
-     *  @return Whatever the function returns, if anything.
-     *  
-     *  @see Function.apply
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 3
-     */
-    function callInContext(fn:Function, thisArg:Object,
-                           argArray:Array, returns:Boolean = true):*;
-    
-    /**
-     *  A factory method that requests
-     *  an instance of a definition known to the module.
-     *
-     *  <p>You can provide an optional set of parameters to let
-     *  building factories change what they create based
-     *  on the input.
-     *  Passing <code>null</code> indicates that the default
-     *  definition is created, if possible.</p>
-     *
-     *  @param parameters An optional list of arguments. You can pass any number
-     *  of arguments, which are then stored in an Array called <code>parameters</code>.
-     *
-     *  @return An instance of the module, or <code>null</code>.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    function create(... parameters):Object;
-    
-    /**
-     *  Returns a block of key/value pairs
-     *  that hold static data known to the module.
-     *  This method always succeeds, but can return an empty object.
-     *
-     *  @return An object containing key/value pairs. Typically, this object
-     *  contains information about the module or modules created by this 
-     *  factory; for example:
-     * 
-     *  <pre>
-     *  return {"description": "This module returns 42."};
-     *  </pre>
-     *  
-     *  Other common values in the returned object include the following:
-     *  <ul>
-     *   <li><code>fonts</code>: A list of embedded font faces.</li>
-     *   <li><code>rsls</code>: A list of run-time shared libraries.</li>
-     *   <li><code>mixins</code>: A list of classes initialized at startup.</li>
-     *  </ul>
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    function info():Object;
-    
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/core/IPropertyChangeNotifier.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/core/IPropertyChangeNotifier.as b/frameworks/as/src/mx/core/IPropertyChangeNotifier.as
deleted file mode 100644
index 39d86ed..0000000
--- a/frameworks/as/src/mx/core/IPropertyChangeNotifier.as
+++ /dev/null
@@ -1,40 +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 mx.core
-{
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public interface IPropertyChangeNotifier
-{
-    //--------------------------------------------------------------------------
-    //
-    //  Properties
-    //
-    //--------------------------------------------------------------------------
-
-	// Inherits uid property from IUID
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/core/IStateClient2.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/core/IStateClient2.as b/frameworks/as/src/mx/core/IStateClient2.as
deleted file mode 100644
index ae21531..0000000
--- a/frameworks/as/src/mx/core/IStateClient2.as
+++ /dev/null
@@ -1,31 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-/**
- * @private
- * shim the mx classes for states.  This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-package mx.core
-{
-	public interface IStateClient2
-	{
- 	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/events/PropertyChangeEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/events/PropertyChangeEvent.as b/frameworks/as/src/mx/events/PropertyChangeEvent.as
deleted file mode 100644
index dcb2996..0000000
--- a/frameworks/as/src/mx/events/PropertyChangeEvent.as
+++ /dev/null
@@ -1,78 +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 mx.events
-{
-
-import flash.events.Event;
-import mx.events.PropertyChangeEventKind;
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class PropertyChangeEvent extends Event
-{
-
-    //--------------------------------------------------------------------------
-    //
-    //  Class constants
-    //
-    //--------------------------------------------------------------------------
-
-    public static const PROPERTY_CHANGE:String = "propertyChange";
-
-    //--------------------------------------------------------------------------
-    //
-    //  Class methods
-    //
-    //--------------------------------------------------------------------------
-
-    public static function createUpdateEvent(
-                                    source:Object,
-                                    property:Object,
-                                    oldValue:Object,
-                                    newValue:Object):PropertyChangeEvent
-    {
-        return null;
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-
-
-    public function PropertyChangeEvent(type:String, bubbles:Boolean = false,
-                                        cancelable:Boolean = false,
-                                        kind:String = null,
-                                        property:Object = null, 
-                                        oldValue:Object = null,
-                                        newValue:Object = null,
-                                        source:Object = null)
-    {
-        super(type, bubbles, cancelable);
-    }
-
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/events/PropertyChangeEventKind.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/events/PropertyChangeEventKind.as b/frameworks/as/src/mx/events/PropertyChangeEventKind.as
deleted file mode 100644
index 3c7d321..0000000
--- a/frameworks/as/src/mx/events/PropertyChangeEventKind.as
+++ /dev/null
@@ -1,59 +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 mx.events
-{
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public final class PropertyChangeEventKind
-{
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class constants
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-	 *  Indicates that the value of the property changed.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public static const UPDATE:String = "update";
-
-    /**
-	 *  Indicates that the property was deleted from the object.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public static const DELETE:String = "delete";
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/filters/IBitmapFilter.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/filters/IBitmapFilter.as b/frameworks/as/src/mx/filters/IBitmapFilter.as
deleted file mode 100644
index efe40a9..0000000
--- a/frameworks/as/src/mx/filters/IBitmapFilter.as
+++ /dev/null
@@ -1,31 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-package mx.filters
-{
-	public interface IBitmapFilter
-	{
- 	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/states/AddItems.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/states/AddItems.as b/frameworks/as/src/mx/states/AddItems.as
deleted file mode 100644
index a2821a4..0000000
--- a/frameworks/as/src/mx/states/AddItems.as
+++ /dev/null
@@ -1,67 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-// shim the mx classes for states.  Be careful about updates to the main SDK's
-// version as that will move the timestamp ahead of this one and then it will
-// take precedence over this one at link time.
-package mx.states
-{
-    import org.apache.flex.core.IDocument;
-    
-	public class AddItems implements IDocument
-	{
-		public function AddItems()
-		{
-			super();
-		}
-		
-        public var items:Array;
-        
-		public var itemsDescriptor:Array;     
-
-        public var destination:String;
-        
-        public var propertyName:String;
-        
-        public var position:String;
-        
-        public var relativeTo:String;
-        
-        public var document:Object;
-        
-        public function setDocument(document:Object, id:String = null):void
-        {
-            this.document = document;
-        }
-        
-        /**
-         * @private 
-         * Initialize this object from a descriptor.
-         */
-        public function initializeFromObject(properties:Object):Object
-        {
-            for (var p:String in properties)
-            {
-                this[p] = properties[p];
-            }
-            
-            return Object(this);
-        }
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/states/SetProperty.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/states/SetProperty.as b/frameworks/as/src/mx/states/SetProperty.as
deleted file mode 100644
index 78e0a73..0000000
--- a/frameworks/as/src/mx/states/SetProperty.as
+++ /dev/null
@@ -1,60 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-// shim the mx classes for states
-package mx.states
-{
-    import org.apache.flex.core.IDocument;
-    
-	public class SetProperty implements IDocument
-	{
-		public function SetProperty()
-		{
-			super();
-		}
-		
-        public var target:String;
-        
-        public var name:String;
-        
-        public var value:*;
-
-        public var previousValue:*;
-        
-        public var document:Object;
-        
-        public function setDocument(document:Object, id:String = null):void
-        {
-            this.document = document;
-        }
-        
-        /**
-         * @private 
-         * Initialize this object from a descriptor.
-         */
-        public function initializeFromObject(properties:Object):Object
-        {
-            for (var p:String in properties)
-            {
-                this[p] = properties[p];
-            }
-            
-            return Object(this);
-        }
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/states/State.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/states/State.as b/frameworks/as/src/mx/states/State.as
deleted file mode 100644
index 3a38d54..0000000
--- a/frameworks/as/src/mx/states/State.as
+++ /dev/null
@@ -1,34 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-// shim the mx classes for states
-package mx.states
-{
-	public class State
-	{
-		public function State(properties:Object = null)
-		{
-			super();
-		}
-		
-		public var name:String;
-        
-        public var overrides:Array;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/styles/CSSCondition.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/styles/CSSCondition.as b/frameworks/as/src/mx/styles/CSSCondition.as
deleted file mode 100644
index 82052ff..0000000
--- a/frameworks/as/src/mx/styles/CSSCondition.as
+++ /dev/null
@@ -1,61 +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 mx.styles
-{
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class CSSCondition
-{
-    //--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Constructor.
-     * 
-     *  @param kind The kind of condition. For valid values see the
-     *  CSSConditionKind enumeration.
-     *  @param value The condition value (without CSS syntax).
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */ 
-    public function CSSCondition(kind:String, value:String)
-    {
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Properties
-    //
-    //--------------------------------------------------------------------------
-
-}
-
-}


[04/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SpinnerView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SpinnerView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/SpinnerView.as
deleted file mode 100644
index 0590f71..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SpinnerView.as
+++ /dev/null
@@ -1,88 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.Button;
-	import org.apache.flex.html.staticControls.beads.controllers.ButtonAutoRepeatController;
-	
-	public class SpinnerView implements ISpinnerView, IBeadView
-	{
-		public function SpinnerView()
-		{
-		}
-		
-		private var rangeModel:IRangeModel;
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            
-			_increment = new Button();
-			Button(_increment).addBead(new UpArrowButtonView());
-			Button(_increment).addBead(new ButtonAutoRepeatController());
-			_decrement = new Button();
-			Button(_decrement).addBead(new DownArrowButtonView());
-			Button(_decrement).addBead(new ButtonAutoRepeatController());
-						
-			Button(_increment).x = 0;
-			Button(_increment).y = 0;
-			Button(_decrement).x = 0;
-			Button(_decrement).y = Button(_increment).height;
-			
-			UIBase(_strand).addChild(_decrement);
-			UIBase(_strand).addChild(_increment);
-			rangeModel = _strand.getBeadByType(IBeadModel) as IRangeModel;
-			
-			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
-		}
-		
-		private var _decrement:DisplayObject;
-		private var _increment:DisplayObject;
-		
-		public function get decrement():DisplayObject
-		{
-			return _decrement;
-		}
-		public function get increment():DisplayObject
-		{
-			return _increment;
-		}
-		
-		private function sizeChangeHandler( event:Event ) : void
-		{
-			_increment.width = UIBase(_strand).width;
-			_increment.height = UIBase(_strand).height/2;
-			_increment.y      = 0;
-			_decrement.width = UIBase(_strand).width;
-			_decrement.height = UIBase(_strand).height/2;
-			_decrement.y      = _increment.height;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextAreaView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextAreaView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextAreaView.as
deleted file mode 100644
index bea4cb5..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextAreaView.as
+++ /dev/null
@@ -1,188 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	import flash.events.Event;
-	import flash.events.IEventDispatcher;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IParent;
-	import org.apache.flex.html.staticControls.beads.models.ScrollBarModel;
-	import org.apache.flex.html.staticControls.beads.models.SingleLineBorderModel;
-	import org.apache.flex.html.staticControls.supportClasses.Border;
-	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
-
-	public class TextAreaView extends TextFieldViewBase implements IStrand
-	{
-		public function TextAreaView()
-		{
-			super();
-			
-			textField.selectable = true;
-			textField.type = TextFieldType.INPUT;
-			textField.mouseEnabled = true;
-			textField.multiline = true;
-			textField.wordWrap = true;
-		}
-		
-		private var _border:Border;
-		
-		public function get border():Border
-		{
-			return _border;
-		}
-		
-		private var _vScrollBar:ScrollBar;
-		
-		public function get vScrollBar():ScrollBar
-		{
-			if (!_vScrollBar)
-				_vScrollBar = createScrollBar();
-			return _vScrollBar;
-		}
-		
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-			// add a border to this
-			_border = new Border();
-			_border.model = new SingleLineBorderModel();
-			_border.addBead(new SingleLineBorderBead());
-            IParent(strand).addElement(border);
-			
-			var vb:ScrollBar = vScrollBar;
-			
-			// Default size
-			var ww:Number = DisplayObject(strand).width;
-			if( isNaN(ww) || ww == 0 ) DisplayObject(strand).width = 100;
-			var hh:Number = DisplayObject(strand).height;
-			if( isNaN(hh) || hh == 0 ) DisplayObject(strand).height = 42;
-			
-			// for input, listen for changes to the _textField and update
-			// the model
-			textField.addEventListener(Event.SCROLL, textScrollHandler);
-			
-			IEventDispatcher(strand).addEventListener("widthChanged", sizeChangedHandler);
-			IEventDispatcher(strand).addEventListener("heightChanged", sizeChangedHandler);
-			sizeChangedHandler(null);
-		}
-				
-		private function createScrollBar():ScrollBar
-		{
-			var vsb:ScrollBar;
-			vsb = new ScrollBar();
-			var vsbm:ScrollBarModel = new ScrollBarModel();
-			vsbm.maximum = 100;
-			vsbm.minimum = 0;
-			vsbm.pageSize = 10;
-			vsbm.pageStepSize = 10;
-			vsbm.snapInterval = 1;
-			vsbm.stepSize = 1;
-			vsbm.value = 0;
-			vsb.model = vsbm;
-			vsb.width = 16;
-            IParent(strand).addElement(vsb);
-			
-			vsb.addEventListener("scroll", scrollHandler);
-			
-			return vsb;
-		}
-		
-		private function textScrollHandler(event:Event):void
-		{
-			var visibleLines:int = textField.bottomScrollV - textField.scrollV + 1;
-			var scrollableLines:int = textField.numLines - visibleLines + 1;
-			var vsbm:ScrollBarModel = ScrollBarModel(vScrollBar.model);
-			vsbm.minimum = 0;
-			vsbm.maximum = textField.numLines+1;
-			vsbm.value = textField.scrollV;
-			vsbm.pageSize = visibleLines;
-			vsbm.pageStepSize = visibleLines;
-		}
-		
-		private function sizeChangedHandler(event:Event):void
-		{
-			var ww:Number = DisplayObject(strand).width - DisplayObject(vScrollBar).width;
-			if( !isNaN(ww) && ww > 0 ) {
-				textField.width = ww;
-				_border.width = ww;
-			}
-			
-			var hh:Number = DisplayObject(strand).height;
-			if( !isNaN(hh) && hh > 0 ) {
-				textField.height = hh;
-				_border.height = hh;
-			}
-			
-			var sb:DisplayObject = DisplayObject(vScrollBar);
-			sb.y = 0;
-			sb.x = textField.width - 1;
-			sb.height = textField.height;
-		}
-		
-		private function scrollHandler(event:Event):void
-		{
-			var vpos:Number = IScrollBarModel(vScrollBar.model).value;
-			textField.scrollV = vpos;
-		}
-		
-		// beads declared in MXML are added to the strand.
-		// from AS, just call addBead()
-		public var beads:Array;
-		
-		private var _beads:Vector.<IBead>;
-		public function addBead(bead:IBead):void
-		{
-			if (!_beads)
-				_beads = new Vector.<IBead>;
-			_beads.push(bead);
-			bead.strand = this;
-		}
-		
-		public function getBeadByType(classOrInterface:Class):IBead
-		{
-			for each (var bead:IBead in _beads)
-			{
-				if (bead is classOrInterface)
-					return bead;
-			}
-			return null;
-		}
-		
-		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/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextButtonMeasurementBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextButtonMeasurementBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextButtonMeasurementBead.as
deleted file mode 100644
index c6e3b6d..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextButtonMeasurementBead.as
+++ /dev/null
@@ -1,50 +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.staticControls.beads
-{
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IStrand;
-	
-	public class TextButtonMeasurementBead implements IMeasurementBead
-	{
-		public function TextButtonMeasurementBead()
-		{
-		}
-		
-		public function get measuredWidth():Number
-		{
-			var view:TextButtonView = _strand.getBeadByType(TextButtonView) as TextButtonView;
-			if( view ) return Math.max(view.upTextField.textWidth,view.downTextField.textWidth,view.overTextField.textWidth);
-			else return 0;
-		}
-		
-		public function get measuredHeight():Number
-		{
-			var view:TextButtonView = _strand.getBeadByType(TextButtonView) as TextButtonView;
-			if( view ) return Math.max(view.upTextField.textHeight,view.downTextField.textHeight,view.overTextField.textHeight);
-			else return 0;
-		}
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextButtonView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextButtonView.as
deleted file mode 100644
index c81782c..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextButtonView.as
+++ /dev/null
@@ -1,144 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-
-	public class TextButtonView implements IBeadView
-	{
-		public function TextButtonView()
-		{
-			upTextField = new CSSTextField();
-			downTextField = new CSSTextField();
-			overTextField = new CSSTextField();
-			upTextField.border = true;
-			downTextField.border = true;
-			overTextField.border = true;
-			upTextField.background = true;
-			downTextField.background = true;
-			overTextField.background = true;
-			upTextField.borderColor = 0;
-			downTextField.borderColor = 0;
-			overTextField.borderColor = 0;
-			upTextField.backgroundColor = 0xCCCCCC;
-			downTextField.backgroundColor = 0x808080;
-			overTextField.backgroundColor = 0xFFCCCC;
-			upTextField.selectable = false;
-			upTextField.type = TextFieldType.DYNAMIC;
-			downTextField.selectable = false;
-			downTextField.type = TextFieldType.DYNAMIC;
-			overTextField.selectable = false;
-			overTextField.type = TextFieldType.DYNAMIC;
-			upTextField.autoSize = "left";
-			downTextField.autoSize = "left";
-			overTextField.autoSize = "left";
-
-		}
-		
-		private var textModel:ITextModel;
-		
-		private var _strand:IStrand;
-		
-		private var shape:Shape;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			textModel = value.getBeadByType(ITextModel) as ITextModel;
-			textModel.addEventListener("textChange", textChangeHandler);
-			textModel.addEventListener("htmlChange", htmlChangeHandler);
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 10, 10);
-			shape.graphics.endFill();
-			SimpleButton(value).upState = upTextField;
-			SimpleButton(value).downState = downTextField;
-			SimpleButton(value).overState = overTextField;
-			SimpleButton(value).hitTestState = shape;
-			upTextField.styleParent = value;
-			downTextField.styleParent = value;
-			overTextField.styleParent = value;
-			if (textModel.text !== null)
-				text = textModel.text;
-			if (textModel.html !== null)
-				html = textModel.html;
-			
-			IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
-		}
-		        
-		private function textChangeHandler(event:Event):void
-		{
-			text = textModel.text;
-		}
-		
-		private function htmlChangeHandler(event:Event):void
-		{
-			html = textModel.html;
-		}
-		
-		private function sizeChangeHandler(event:Event):void
-		{
-			upTextField.width = downTextField.width = overTextField.width = DisplayObject(_strand).width;
-			upTextField.height= downTextField.height= overTextField.height= DisplayObject(_strand).height;
-		}
-		
-		public var upTextField:CSSTextField;
-		public var downTextField:CSSTextField;
-		public var overTextField:CSSTextField;
-		
-		public function get text():String
-		{
-			return upTextField.text;
-		}
-		public function set text(value:String):void
-		{
-			upTextField.text = value;
-			downTextField.text = value;
-			overTextField.text = value;
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, upTextField.textWidth, upTextField.textHeight);
-			shape.graphics.endFill();
-			
-		}
-		
-		public function get html():String
-		{
-			return upTextField.htmlText;
-		}
-		
-		public function set html(value:String):void
-		{
-			upTextField.htmlText = value;
-			downTextField.htmlText = value;
-			overTextField.htmlText = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldLabelMeasurementBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldLabelMeasurementBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldLabelMeasurementBead.as
deleted file mode 100644
index dd21abd..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldLabelMeasurementBead.as
+++ /dev/null
@@ -1,50 +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.staticControls.beads
-{
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IStrand;
-	
-	public class TextFieldLabelMeasurementBead implements IMeasurementBead
-	{
-		public function TextFieldLabelMeasurementBead()
-		{
-		}
-		
-		public function get measuredWidth():Number
-		{
-			var view:TextFieldView = _strand.getBeadByType(TextFieldView) as TextFieldView;
-			if( view ) return view.textField.textWidth;
-			else return 0;
-		}
-		
-		public function get measuredHeight():Number
-		{
-			var view:TextFieldView = _strand.getBeadByType(TextFieldView) as TextFieldView;
-			if( view ) return view.textField.textHeight;
-			else return 0;
-		}
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldView.as
deleted file mode 100644
index aedb964..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldView.as
+++ /dev/null
@@ -1,34 +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.staticControls.beads
-{
-	import flash.text.TextFieldType;
-	
-	public class TextFieldView extends TextFieldViewBase
-	{
-		public function TextFieldView()
-		{
-			super();
-			
-			textField.selectable = false;
-			textField.type = TextFieldType.DYNAMIC;
-			textField.mouseEnabled = false;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldViewBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldViewBase.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldViewBase.as
deleted file mode 100644
index 5f5ba8f..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldViewBase.as
+++ /dev/null
@@ -1,111 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.events.Event;
-	
-	public class TextFieldViewBase implements IBeadView, ITextFieldView
-	{
-		public function TextFieldViewBase()
-		{
-			_textField = new CSSTextField();
-		}
-		
-		private var _textField:CSSTextField;
-		
-		public function get textField() : CSSTextField
-		{
-			return _textField;
-		}
-		
-		private var _textModel:ITextModel;
-		
-		public function get textModel() : ITextModel
-		{
-			return _textModel;
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			_textModel = value.getBeadByType(ITextModel) as ITextModel;
-			textModel.addEventListener("textChange", textChangeHandler);
-			textModel.addEventListener("htmlChange", htmlChangeHandler);
-			textModel.addEventListener("widthChanged", sizeChangeHandler);
-			textModel.addEventListener("heightChanged", sizeChangeHandler);
-			DisplayObjectContainer(value).addChild(_textField);
-			sizeChangeHandler(null);
-			if (textModel.text !== null)
-				text = textModel.text;
-			if (textModel.html !== null)
-				html = textModel.html;
-		}
-        
-		public function get strand() : IStrand
-		{
-			return _strand;
-		}
-		
-		public function get text():String
-		{
-			return _textField.text;
-		}
-		public function set text(value:String):void
-		{
-            if (value == null)
-                value = "";
-			_textField.text = value;
-		}
-		
-		public function get html():String
-		{
-			return _textField.htmlText;
-		}
-		
-		public function set html(value:String):void
-		{
-			_textField.htmlText = value;
-		}
-		
-		private function textChangeHandler(event:Event):void
-		{
-			text = textModel.text;
-		}
-		
-		private function htmlChangeHandler(event:Event):void
-		{
-			html = textModel.html;
-		}
-		
-		private function sizeChangeHandler(event:Event):void
-		{
-			textField.width = DisplayObject(_strand).width;
-			textField.height = DisplayObject(_strand).height;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextInputView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextInputView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextInputView.as
deleted file mode 100644
index a129763..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextInputView.as
+++ /dev/null
@@ -1,66 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	import flash.events.IOErrorEvent;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public class TextInputView extends TextFieldViewBase
-	{
-		public function TextInputView()
-		{
-			super();
-			
-			textField.selectable = true;
-			textField.type = TextFieldType.INPUT;
-			textField.mouseEnabled = true;
-			textField.multiline = false;
-			textField.wordWrap = false;
-		}
-		
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-			// Default size
-			var ww:Number = DisplayObject(strand).width;
-			if( isNaN(ww) || ww == 0 ) DisplayObject(strand).width = 100;
-			var hh:Number = DisplayObject(strand).height;
-			if( isNaN(hh) || hh == 0 ) DisplayObject(strand).height = 18;
-			
-			IEventDispatcher(strand).addEventListener("widthChanged", sizeChangedHandler);
-			IEventDispatcher(strand).addEventListener("heightChanged", sizeChangedHandler);
-			sizeChangedHandler(null);
-		}
-		
-		private function sizeChangedHandler(event:Event):void
-		{
-			var ww:Number = DisplayObject(strand).width;
-			if( !isNaN(ww) && ww > 0 ) textField.width = ww;
-			
-			var hh:Number = DisplayObject(strand).height;
-			if( !isNaN(hh) && hh > 0 ) textField.height = hh;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextInputWithBorderView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextInputWithBorderView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextInputWithBorderView.as
deleted file mode 100644
index 8d5e405..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextInputWithBorderView.as
+++ /dev/null
@@ -1,68 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IParent;
-	import org.apache.flex.html.staticControls.beads.models.SingleLineBorderModel;
-	import org.apache.flex.html.staticControls.supportClasses.Border;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-
-	public class TextInputWithBorderView extends TextInputView
-	{
-		public function TextInputWithBorderView()
-		{
-			super();
-		}
-		
-		private var _border:Border;
-		
-		public function get border():Border
-		{
-			return _border;
-		}
-		
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-			// add a border to this
-			_border = new Border();
-			_border.model = new SingleLineBorderModel();
-			_border.addBead(new SingleLineBorderBead());
-            IParent(strand).addElement(border);
-			
-			IEventDispatcher(strand).addEventListener("widthChanged", sizeChangedHandler);
-			IEventDispatcher(strand).addEventListener("heightChanged", sizeChangedHandler);
-			sizeChangedHandler(null);
-		}
-		
-		private function sizeChangedHandler(event:Event):void
-		{
-			var ww:Number = DisplayObject(strand).width;
-			_border.width = ww;
-			
-			var hh:Number = DisplayObject(strand).height;
-			_border.height = hh;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForArrayData.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForArrayData.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForArrayData.as
deleted file mode 100644
index 5fc7188..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForArrayData.as
+++ /dev/null
@@ -1,93 +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.staticControls.beads
-{
-    import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IItemRendererClassFactory;
-    import org.apache.flex.core.IItemRendererParent;
-    import org.apache.flex.core.ISelectionModel;
-    import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-
-	public class TextItemRendererFactoryForArrayData implements IBead, IDataProviderItemRendererMapper
-	{
-		public function TextItemRendererFactoryForArrayData()
-		{
-
-		}
-		
-		private var selectionModel:ISelectionModel;
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
-			var listView:IListView = value.getBeadByType(IListView) as IListView;
-			dataGroup = listView.dataGroup;
-			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-            
-            if (!itemRendererFactory)
-            {
-                _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-                _strand.addBead(_itemRendererFactory);
-            }
-            
-			dataProviderChangeHandler(null);
-		}
-		
-        public var _itemRendererFactory:IItemRendererClassFactory;
-        
-        public function get itemRendererFactory():IItemRendererClassFactory
-        {
-            return _itemRendererFactory
-        }
-        
-        public function set itemRendererFactory(value:IItemRendererClassFactory):void
-        {
-            _itemRendererFactory = value;
-        }
-        
-		protected var dataGroup:IItemRendererParent;
-		
-		private function dataProviderChangeHandler(event:Event):void
-		{
-			var dp:Array = selectionModel.dataProvider as Array;
-			if (!dp)
-				return;
-			
-			dataGroup.removeAllElements();
-			
-			var n:int = dp.length; 
-			for (var i:int = 0; i < n; i++)
-			{
-				var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
-                tf.index = i;
-                dataGroup.addElement(tf);
-				tf.text = dp[i];
-			}
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForStringVectorData.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForStringVectorData.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForStringVectorData.as
deleted file mode 100644
index 77302f4..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForStringVectorData.as
+++ /dev/null
@@ -1,73 +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.staticControls.beads
-{
-    import flash.display.DisplayObject;
-    
-    import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IItemRendererClassFactory;
-    import org.apache.flex.core.IItemRendererParent;
-    import org.apache.flex.core.ISelectionModel;
-    import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IUIBase;
-	import org.apache.flex.events.Event;
-
-	public class TextItemRendererFactoryForStringVectorData implements IBead
-	{
-		public function TextItemRendererFactoryForStringVectorData()
-		{
-
-		}
-		
-		private var selectionModel:ISelectionModel;
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
-			var listView:IListView = value.getBeadByType(IListView) as IListView;
-			dataGroup = listView.dataGroup;
-			selectionModel.addEventListener("dataProviderChange", dataProviderChangeHandler);
-			dataProviderChangeHandler(null);
-		}
-		
-        public var itemRendererFactory:IItemRendererClassFactory;
-        
-		public var dataGroup:IItemRendererParent;
-		
-		private function dataProviderChangeHandler(event:Event):void
-		{
-			var dp:Vector.<String> = selectionModel.dataProvider as Vector.<String>;
-			
-			dataGroup.removeAllElements();
-			
-			var n:int = dp.length; 
-			for (var i:int = 0; i < n; i++)
-			{
-				var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
-                tf.index = i;
-                dataGroup.addElement(tf);
-				tf.text = dp[i];
-			}			
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TitleBarMeasurementBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TitleBarMeasurementBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TitleBarMeasurementBead.as
deleted file mode 100644
index 221120a..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TitleBarMeasurementBead.as
+++ /dev/null
@@ -1,64 +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.staticControls.beads
-{
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.html.staticControls.TitleBar;
-	
-	public class TitleBarMeasurementBead implements IMeasurementBead
-	{
-		public function TitleBarMeasurementBead()
-		{
-		}
-		
-		public function get measuredWidth():Number
-		{
-			var mwidth:Number = 0;
-			var titleBar:TitleBar = _strand as TitleBar;
-			var labelMeasure:IMeasurementBead = titleBar.titleLabel.measurementBead;
-			mwidth = labelMeasure.measuredWidth;
-			if( titleBar.showCloseButton ) {
-				var buttonMeasure:IMeasurementBead = titleBar.closeButton.measurementBead;
-				mwidth += buttonMeasure.measuredWidth;
-			}
-			return mwidth;
-		}
-		
-		public function get measuredHeight():Number
-		{
-			var mheight:Number = 0;
-			var titleBar:TitleBar = _strand as TitleBar;
-			var labelMeasure:IMeasurementBead = titleBar.titleLabel.measurementBead;
-			mheight = labelMeasure.measuredHeight;
-			if( titleBar.showCloseButton ) {
-				var buttonMeasure:IMeasurementBead = titleBar.closeButton.measurementBead;
-				mheight = Math.max(mheight,buttonMeasure.measuredHeight);
-			}
-			return mheight;
-		}
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/UpArrowButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/UpArrowButtonView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/UpArrowButtonView.as
deleted file mode 100644
index bc3b76d..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/UpArrowButtonView.as
+++ /dev/null
@@ -1,78 +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.staticControls.beads
-{
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IBeadView;
-	
-	public class UpArrowButtonView implements IBeadView
-	{
-		public function UpArrowButtonView()
-		{
-			upView = new Shape();
-			downView = new Shape();
-			overView = new Shape();
-
-			drawView(upView.graphics, 0xCCCCCC);
-			drawView(downView.graphics, 0x808080);
-			drawView(overView.graphics, 0xEEEEEE);
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-			g.lineStyle(1);
-			g.beginFill(bgColor);
-			g.drawRect(0, 0, 16, 16);
-			g.endFill();
-			g.lineStyle(0);
-			g.beginFill(0);
-			g.moveTo(4, 12);
-			g.lineTo(12, 12);
-			g.lineTo(8, 4);
-			g.lineTo(4, 12);
-			g.endFill();
-		}
-		
-		private var _strand:IStrand;
-		
-		private var shape:Shape;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 16, 16);
-			shape.graphics.endFill();
-			SimpleButton(value).upState = upView;
-			SimpleButton(value).downState = downView;
-			SimpleButton(value).overState = overView;
-			SimpleButton(value).hitTestState = shape;
-		}
-        
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/VScrollBarThumbView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/VScrollBarThumbView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/VScrollBarThumbView.as
deleted file mode 100644
index d84fcb2..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/VScrollBarThumbView.as
+++ /dev/null
@@ -1,102 +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.staticControls.beads
-{
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-    import flash.display.DisplayObject;
-
-    import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;	
-	
-	public class VScrollBarThumbView implements IBeadView
-	{
-		public function VScrollBarThumbView()
-		{
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-            var hh:Number = DisplayObject(_strand).height;
-            g.clear();
-			g.lineStyle(1);
-			g.beginFill(bgColor);
-			g.drawRect(0, 0, 16, hh);
-			g.endFill();
-            hh = Math.round(hh / 2);
-			g.moveTo(4, hh);
-			g.lineTo(12, hh);
-			g.moveTo(4, hh - 4);
-			g.lineTo(12, hh - 4);
-			g.moveTo(4, hh + 4);
-			g.lineTo(12, hh + 4);
-		}
-		
-		private var _strand:IStrand;
-		
-		private var shape:Shape;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            
-            upView = new Shape();
-            downView = new Shape();
-            overView = new Shape();
-            
-            drawView(upView.graphics, 0xCCCCCC);
-            drawView(downView.graphics, 0x808080);
-            drawView(overView.graphics, 0xEEEEEE);
-
-            shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 16, 16);
-			shape.graphics.endFill();
-			SimpleButton(value).upState = upView;
-			SimpleButton(value).downState = downView;
-			SimpleButton(value).overState = overView;
-			SimpleButton(value).hitTestState = shape;
-            IEventDispatcher(_strand).addEventListener("heightChanged", heightChangedHandler);
-		}
-
-        private function heightChangedHandler(event:Event):void
-        {
-			DisplayObject(_strand).scaleY = 1.0;
-			DisplayObject(_strand).scaleX = 1.0;
-			
-            var hh:Number = DisplayObject(_strand).height;
-            drawView(upView.graphics, 0xCCCCCC);
-            drawView(downView.graphics, 0x808080);
-            drawView(overView.graphics, 0xEEEEEE);
-            
-            shape.graphics.clear();
-            shape.graphics.beginFill(0xCCCCCC);
-            shape.graphics.drawRect(0, 0, 16, hh);
-            shape.graphics.endFill();
-        }
-        
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/VScrollBarTrackView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/VScrollBarTrackView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/VScrollBarTrackView.as
deleted file mode 100644
index 528fcf3..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/VScrollBarTrackView.as
+++ /dev/null
@@ -1,87 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	
-	public class VScrollBarTrackView implements IBeadView
-	{
-		public function VScrollBarTrackView()
-		{
-			upView = new Shape();
-			downView = new Shape();
-			overView = new Shape();
-
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint, h:Number):void
-		{
-			g.clear();
-			g.lineStyle(1);
-			g.beginFill(bgColor);
-			g.drawRect(0, 0, 16, h);
-			g.endFill();
-			g.lineStyle(0);
-		}
-
-		private function heightChangeHandler(event:Event):void
-		{
-			DisplayObject(_strand).scaleY = 1.0;
-			DisplayObject(_strand).scaleX = 1.0;
-			
-			var h:Number = SimpleButton(_strand).height;
-			
-			drawView(upView.graphics, 0xCCCCCC, h);
-			drawView(downView.graphics, 0x808080, h);
-			drawView(overView.graphics, 0xEEEEEE, h);	
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 16, h);
-			shape.graphics.endFill();
-			
-		}
-		
-		private var _strand:IStrand;
-		
-		private var shape:Shape;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			SimpleButton(value).addEventListener("heightChanged", heightChangeHandler);
-			shape = new Shape();
-			SimpleButton(value).upState = upView;
-			SimpleButton(value).downState = downView;
-			SimpleButton(value).overState = overView;
-			SimpleButton(value).hitTestState = shape;
-		}
-
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/AlertController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/AlertController.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/AlertController.as
deleted file mode 100644
index 01ba18a..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/AlertController.as
+++ /dev/null
@@ -1,52 +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.staticControls.beads.controllers
-{	
-    import flash.display.DisplayObject;
-    
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-
-    public class AlertController implements IBeadController
-	{
-		public function AlertController()
-		{
-		}
-		
-        private var _strand:IStrand;
-        
-        public function get strand():IStrand
-        {
-            return _strand;
-        }
-        
-        public function set strand(value:IStrand):void
-        {
-            _strand = value;
-            IEventDispatcher(value).addEventListener("close",handleAlertClose);
-        }
-        
-        private function handleAlertClose(event:Event):void
-        {
-            DisplayObject(_strand).parent.removeChild(DisplayObject(_strand));
-        }
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ButtonAutoRepeatController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ButtonAutoRepeatController.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ButtonAutoRepeatController.as
deleted file mode 100644
index 18239f7..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ButtonAutoRepeatController.as
+++ /dev/null
@@ -1,102 +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.staticControls.beads.controllers
-{
-	import flash.events.MouseEvent;
-	import flash.utils.clearInterval;
-	import flash.utils.clearTimeout;
-	import flash.utils.setInterval;
-	import flash.utils.setTimeout;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-
-    public class ButtonAutoRepeatController implements IBead, IBeadController
-	{
-		public function ButtonAutoRepeatController()
-		{
-		}
-		
-        private var _strand:IStrand;
-        
-        public function get strand():IStrand
-        {
-            return _strand;
-        }
-        
-        public function set strand(value:IStrand):void
-        {
-            _strand = value;
-            IEventDispatcher(value).addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
-        }
-        
-        public var delay:int = 250;
-        public var interval:int = 100;
-        
-        private var timeout:uint;
-        private var repeater:uint;
-        
-        private function mouseDownHandler(event:MouseEvent):void
-        {
-            event.target.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);   
-            event.target.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
-            timeout = setTimeout(sendFirstRepeat, delay); 
-        }
-        
-        private function mouseOutHandler(event:MouseEvent):void
-        {
-            event.target.removeEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);   
-            event.target.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); 
-            if (repeater > 0)
-                clearInterval(repeater);
-            repeater = 0;
-            if (timeout > 0)
-                clearTimeout(timeout);
-            timeout = 0;
-        }
-        
-        private function mouseUpHandler(event:MouseEvent):void
-        {
-            event.target.removeEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);   
-            event.target.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);  
-            if (repeater > 0)
-                clearInterval(repeater);
-            repeater = 0;
-            if (timeout > 0)
-                clearTimeout(timeout);
-            timeout = 0;
-        }
-        
-        private function sendFirstRepeat():void
-        {
-            clearTimeout(timeout);
-            timeout = 0;
-        	repeater = setInterval(sendRepeats, interval);
-        	IEventDispatcher(_strand).dispatchEvent(new Event("buttonRepeat"));
-        }
-        
-        private function sendRepeats():void
-        {
-       	    IEventDispatcher(_strand).dispatchEvent(new Event("buttonRepeat"));
-        }
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ComboBoxController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ComboBoxController.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ComboBoxController.as
deleted file mode 100644
index ed2d228..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ComboBoxController.as
+++ /dev/null
@@ -1,71 +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.staticControls.beads.controllers
-{
-	import flash.display.DisplayObject;
-	import flash.events.MouseEvent;
-	
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.beads.IComboBoxView;
-
-	public class ComboBoxController implements IBeadController
-	{
-		public function ComboBoxController()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            IEventDispatcher(value).addEventListener(MouseEvent.CLICK, clickHandler);
-		}
-		
-        private function clickHandler(event:MouseEvent):void
-        {
-            var viewBead:IComboBoxView = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
-            viewBead.popUpVisible = true;
-            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-            var popUpModel:ISelectionModel = viewBead.popUp.getBeadByType(ISelectionModel) as ISelectionModel;
-            popUpModel.dataProvider = selectionModel.dataProvider;
-            popUpModel.selectedIndex = selectionModel.selectedIndex;
-			DisplayObject(viewBead.popUp).width = DisplayObject(_strand).width;
-			DisplayObject(viewBead.popUp).height = 200;
-			DisplayObject(viewBead.popUp).x = DisplayObject(_strand).x;
-			DisplayObject(viewBead.popUp).y = DisplayObject(_strand).y;
-            IEventDispatcher(viewBead.popUp).addEventListener("change", changeHandler);
-        }
-        
-        private function changeHandler(event:Event):void
-        {
-            var viewBead:IComboBoxView = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
-            viewBead.popUpVisible = false;
-            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-            var popUpModel:ISelectionModel = viewBead.popUp.getBeadByType(ISelectionModel) as ISelectionModel;
-            selectionModel.selectedIndex = popUpModel.selectedIndex;
-			IEventDispatcher(_strand).dispatchEvent(new Event("change"));
-        }
-	
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/DropDownListController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/DropDownListController.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/DropDownListController.as
deleted file mode 100644
index fa41001..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/DropDownListController.as
+++ /dev/null
@@ -1,74 +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.staticControls.beads.controllers
-{
-	import flash.display.DisplayObject;
-	import flash.geom.Point;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.beads.IDropDownListView;
-
-	public class DropDownListController implements IBead, IBeadController
-	{
-		public function DropDownListController()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            IEventDispatcher(value).addEventListener("click", clickHandler);
-		}
-		
-        private function clickHandler(event:Event):void
-        {
-            var viewBead:IDropDownListView = _strand.getBeadByType(IDropDownListView) as IDropDownListView;
-            viewBead.popUpVisible = true;
-            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-            var popUpModel:ISelectionModel = viewBead.popUp.getBeadByType(ISelectionModel) as ISelectionModel;
-            popUpModel.dataProvider = selectionModel.dataProvider;
-            popUpModel.selectedIndex = selectionModel.selectedIndex;
-			DisplayObject(viewBead.popUp).width = DisplayObject(_strand).width;
-			DisplayObject(viewBead.popUp).height = 200;
-            var pt:Point = new Point(DisplayObject(_strand).x, DisplayObject(_strand).y);
-            pt = DisplayObject(_strand).parent.localToGlobal(pt);
-			DisplayObject(viewBead.popUp).x = pt.x;
-			DisplayObject(viewBead.popUp).y = pt.y;
-            IEventDispatcher(viewBead.popUp).addEventListener("change", changeHandler);
-        }
-        
-        private function changeHandler(event:Event):void
-        {
-            var viewBead:IDropDownListView = _strand.getBeadByType(IDropDownListView) as IDropDownListView;
-            viewBead.popUpVisible = false;
-            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-            var popUpModel:ISelectionModel = viewBead.popUp.getBeadByType(ISelectionModel) as ISelectionModel;
-            selectionModel.selectedIndex = popUpModel.selectedIndex;
-			IEventDispatcher(_strand).dispatchEvent(new Event("change"));
-        }
-	
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/EditableTextKeyboardController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/EditableTextKeyboardController.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/EditableTextKeyboardController.as
deleted file mode 100644
index e505217..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/EditableTextKeyboardController.as
+++ /dev/null
@@ -1,55 +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.staticControls.beads.controllers
-{
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.html.staticControls.beads.ITextFieldView;
-	
-	public class EditableTextKeyboardController implements IBead, IBeadController
-	{
-		public function EditableTextKeyboardController()
-		{
-		}
-		
-		private var model:ITextModel;
-		private var textField:CSSTextField;
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			model = UIBase(_strand).model as ITextModel;
-			
-			var viewBead:ITextFieldView = _strand.getBeadByType(ITextFieldView) as ITextFieldView;
-			textField = viewBead.textField;
-			textField.addEventListener("change", inputChangeHandler);
-		}
-		
-		private function inputChangeHandler( event:Object ) : void
-		{
-			model.text = textField.text;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ItemRendererMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ItemRendererMouseController.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ItemRendererMouseController.as
deleted file mode 100644
index fbc0b1c..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ItemRendererMouseController.as
+++ /dev/null
@@ -1,88 +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.staticControls.beads.controllers
-{
-	import flash.events.MouseEvent;
-	
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IItemRenderer;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-
-	public class ItemRendererMouseController implements IBeadController
-	{
-		public function ItemRendererMouseController()
-		{
-		}
-		
-        private var renderer:IItemRenderer;
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            renderer = value as IItemRenderer;
-            renderer.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
-            renderer.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
-            renderer.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
-		}
-		
-		protected function rollOverHandler(event:MouseEvent):void
-		{
-			var target:IItemRenderer = event.target as IItemRenderer;
-			if (target)
-			{
-                target.hovered = true;
-				target.dispatchEvent(new Event("rollover"));
-			}
-		}
-		
-		protected function rollOutHandler(event:MouseEvent):void
-		{
-			var target:IItemRenderer = event.target as IItemRenderer;
-			if (target)
-			{
-                target.hovered = false;
-                target.down = false;
-			}
-		}
-
-		protected function mouseDownHandler(event:MouseEvent):void
-		{
-			var target:IItemRenderer = event.currentTarget as IItemRenderer;
-			if (target)
-			{
-                target.down = true;
-				target.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
-			}
-		}
-		
-		protected function mouseUpHandler(event:MouseEvent):void
-		{
-			var target:IItemRenderer = event.currentTarget as IItemRenderer;
-			if (target)
-			{
-                target.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);                
-				target.selected = true;
-				target.dispatchEvent(new Event("selected"));
-			}			
-		}
-	
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ListSingleSelectionMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ListSingleSelectionMouseController.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ListSingleSelectionMouseController.as
deleted file mode 100644
index ea870ab..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ListSingleSelectionMouseController.as
+++ /dev/null
@@ -1,67 +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.staticControls.beads.controllers
-{
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IItemRenderer;
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.IRollOverModel;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.beads.IListView;
-	
-
-	public class ListSingleSelectionMouseController implements IBeadController
-	{
-		public function ListSingleSelectionMouseController()
-		{
-		}
-		
-		protected var listModel:ISelectionModel;
-		protected var listView:IListView;
-		protected var dataGroup:IItemRendererParent;
-
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			listModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
-			listView = value.getBeadByType(IListView) as IListView;
-			dataGroup = listView.dataGroup;
-            dataGroup.addEventListener("selected", selectedHandler, true);
-            dataGroup.addEventListener("rollover", rolloverHandler, true);
-		}
-		
-        private function selectedHandler(event:Event):void
-        {
-            listModel.selectedIndex = IItemRenderer(event.target).index;
-            IEventDispatcher(listView.strand).dispatchEvent(new Event("change"));
-        }
-		
-        private function rolloverHandler(event:Event):void
-        {
-            IRollOverModel(listModel).rollOverIndex = IItemRenderer(event.target).index;
-            IEventDispatcher(listView.strand).dispatchEvent(new Event("rollover"));
-        }
-	
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ScrollBarMouseControllerBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ScrollBarMouseControllerBase.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ScrollBarMouseControllerBase.as
deleted file mode 100644
index bb3d5d2..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/ScrollBarMouseControllerBase.as
+++ /dev/null
@@ -1,97 +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.staticControls.beads.controllers
-{
-	import flash.events.MouseEvent;
-	
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.beads.IScrollBarView;
-
-	public class ScrollBarMouseControllerBase implements IBeadController
-	{
-		public function ScrollBarMouseControllerBase()
-		{
-		}
-		
-		protected var sbModel:IScrollBarModel;
-		protected var sbView:IScrollBarView;
-		
-		private var _strand:IStrand;
-		
-		public function get strand():IStrand
-		{
-			return _strand;
-		}
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			sbModel = value.getBeadByType(IScrollBarModel) as IScrollBarModel;
-			sbView = value.getBeadByType(IScrollBarView) as IScrollBarView;
-			sbView.decrement.addEventListener(MouseEvent.CLICK, decrementClickHandler);
-			sbView.increment.addEventListener(MouseEvent.CLICK, incrementClickHandler);
-            sbView.decrement.addEventListener("buttonRepeat", decrementClickHandler);
-            sbView.increment.addEventListener("buttonRepeat", incrementClickHandler);
-			sbView.track.addEventListener(MouseEvent.CLICK, trackClickHandler);
-			sbView.thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbMouseDownHandler);
-		}
-		
-	
-		protected function snap(value:Number):Number
-		{
-			var si:Number = sbModel.snapInterval;
-			var n:Number = Math.round((value - sbModel.minimum) / si) * si + sbModel.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;
-		}
-		
-		protected function decrementClickHandler(event:Event):void
-		{
-			sbModel.value = snap(Math.max(sbModel.minimum, sbModel.value - sbModel.stepSize));
-			IEventDispatcher(_strand).dispatchEvent(new Event("scroll"));
-		}
-		
-		protected function incrementClickHandler(event:Event):void
-		{
-			sbModel.value = snap(Math.min(sbModel.maximum - sbModel.pageSize, sbModel.value + sbModel.stepSize));	
-			IEventDispatcher(_strand).dispatchEvent(new Event("scroll"));
-		}
-		
-		protected function trackClickHandler(event:MouseEvent):void
-		{
-		}
-		
-		protected function thumbMouseDownHandler(event:MouseEvent):void
-		{
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/SliderMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/SliderMouseController.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/SliderMouseController.as
deleted file mode 100644
index 60c153a..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/SliderMouseController.as
+++ /dev/null
@@ -1,108 +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.staticControls.beads.controllers
-{
-	import flash.events.MouseEvent;
-	import flash.geom.Point;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.beads.ISliderView;
-	
-	public class SliderMouseController implements IBead, IBeadController
-	{
-		public function SliderMouseController()
-		{
-		}
-		
-		private var rangeModel:IRangeModel;
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			rangeModel = UIBase(value).model as IRangeModel;
-			
-			var sliderView:ISliderView = value.getBeadByType(ISliderView) as ISliderView;
-			sliderView.thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbDownHandler);
-			
-			// add handler to detect click on track
-			sliderView.track.addEventListener(MouseEvent.CLICK, trackClickHandler, false, 99999);
-		}
-		
-		private function thumbDownHandler( event:MouseEvent ) : void
-		{
-			UIBase(_strand).stage.addEventListener(MouseEvent.MOUSE_MOVE, thumbMoveHandler);
-			UIBase(_strand).stage.addEventListener(MouseEvent.MOUSE_UP, thumbUpHandler);
-			
-			var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
-			
-			origin = new Point(event.stageX, event.stageY);
-			thumb = new Point(sliderView.thumb.x,sliderView.thumb.y);
-		}
-		
-		private function thumbUpHandler( event:MouseEvent ) : void
-		{
-			UIBase(_strand).stage.removeEventListener(MouseEvent.MOUSE_MOVE, thumbMoveHandler);
-			UIBase(_strand).stage.removeEventListener(MouseEvent.MOUSE_UP, thumbUpHandler);
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("valueChanged"));
-		}
-		
-		private var origin:Point;
-		private var thumb:Point;
-		
-		private function thumbMoveHandler( event:MouseEvent ) : void
-		{
-			var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
-			
-			var deltaX:Number = event.stageX - origin.x;
-			var thumbW:Number = sliderView.thumb.width/2;
-			var newX:Number = thumb.x + deltaX;
-			
-			var p:Number = newX/UIBase(_strand).width;
-			var n:Number = p*(rangeModel.maximum - rangeModel.minimum) + rangeModel.minimum;
-		
-			rangeModel.value = n;
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("valueChanged"));
-		}
-		
-		private function trackClickHandler( event:MouseEvent ) : void
-		{
-			event.stopImmediatePropagation();
-			
-			var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
-			
-			var xloc:Number = event.localX;
-			var p:Number = xloc/UIBase(_strand).width;
-			var n:Number = p*(rangeModel.maximum - rangeModel.minimum) + rangeModel.minimum;
-			
-			rangeModel.value = n;
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("valueChanged"));
-		}
-	}
-}
\ No newline at end of file


[06/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/TitleBar.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/TitleBar.as b/frameworks/as/src/org/apache/flex/html/staticControls/TitleBar.as
deleted file mode 100644
index cf1e584..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/TitleBar.as
+++ /dev/null
@@ -1,173 +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.staticControls
-{
-	import flash.display.Shape;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.core.ITitleBarModel;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.html.staticControls.Label;
-	
-	public class TitleBar extends Container implements IChrome
-	{
-		public function TitleBar()
-		{
-			super();
-			
-			className = "TitleBar";
-		}
-		
-		public function get title():String
-		{
-			return ITitleBarModel(model).title;
-		}
-		public function set title(value:String):void
-		{
-			ITitleBarModel(model).title = value;
-		}
-		
-		public function get htmlTitle():String
-		{
-			return ITitleBarModel(model).htmlTitle;
-		}
-		public function set htmlTitle(value:String):void
-		{
-			ITitleBarModel(model).htmlTitle = value;
-		}
-		
-		public function get showCloseButton():Boolean
-		{
-			return ITitleBarModel(model).showCloseButton;
-		}
-		public function set showCloseButton(value:Boolean):void
-		{
-			ITitleBarModel(model).showCloseButton = value;
-		}
-		
-		private var _titleLabel:Label;
-		public function get titleLabel():Label
-		{
-			return _titleLabel;
-		}
-		
-		private var _closeButton:Button;
-		public function get closeButton():Button
-		{
-			return closeButton;
-		}
-		
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-			
-			if( getBeadByType(IBeadLayout) == null )
-				addBead(new (ValuesManager.valuesImpl.getValue(this, "iBeadLayout")) as IBead);
-			
-			// add the label for the title and the button for the close
-			_titleLabel = createTitle();
-			_titleLabel.className = className;
-			_titleLabel.id = "title";
-			addElement(_titleLabel);
-			
-			_closeButton = createCloseButton();
-			_closeButton.className = className;
-			_closeButton.id = "closeButton";
-			addElement(_closeButton);
-			
-			childrenAdded();
-            
-            model.addEventListener('titleChange',handlePropertyChange);
-            model.addEventListener('htmlTitleChange',handlePropertyChange);
-            model.addEventListener('showCloseButtonChange',handlePropertyChange);
-
-			// dispatch this event to force any beads to update
-			dispatchEvent(new Event("widthChanged"));
-		}
-		
-		private function handlePropertyChange(event:Event):void
-		{
-			if( event.type == "showCloseButtonChange" ) {
-				if( closeButton ) closeButton.visible = showCloseButton;
-			}
-			else if( event.type == "titleChange" ) {
-				if( titleLabel ) {
-					titleLabel.text = title;
-				}
-			}
-			else if( event.type == "htmlTitleChange" ) {
-				if( titleLabel ) {
-					titleLabel.html = htmlTitle;
-				}
-			}
-			
-			dispatchEvent(new Event("widthChanged"));
-		}
-		
-		protected function createTitle() : Label
-		{
-			var label:Label = new Label();
-			label.text = title;
-			return label;
-		}
-		
-		protected function createCloseButton() : Button
-		{
-			var upState:Shape = new Shape();
-			upState.graphics.clear();
-			upState.graphics.beginFill(0xCCCCCC);
-			upState.graphics.drawRect(0,0,11,11);
-			upState.graphics.endFill();
-			
-			var overState:Shape = new Shape();
-			overState.graphics.clear();
-			overState.graphics.beginFill(0x999999);
-			overState.graphics.drawRect(0,0,11,11);
-			overState.graphics.endFill();
-			
-			var downState:Shape = new Shape();
-			downState.graphics.clear();
-			downState.graphics.beginFill(0x666666);
-			downState.graphics.drawRect(0, 0, 11, 11);
-			downState.graphics.endFill();
-			
-			var hitArea:Shape = new Shape();
-			hitArea.graphics.clear();
-			hitArea.graphics.beginFill(0x000000);
-			hitArea.graphics.drawRect(0, 0, 11, 11);
-			hitArea.graphics.endFill();
-			
-			var button:Button = new Button(upState, overState, downState, hitArea);
-			button.visible = showCloseButton;
-			
-			button.addEventListener('click',closeButtonHandler);
-			
-			return button;
-		}
-		
-		private function closeButtonHandler(event:org.apache.flex.events.Event) : void
-		{
-			var newEvent:Event = new Event('close',true);
-			dispatchEvent(newEvent);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/accessories/NumericOnlyTextInputBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/accessories/NumericOnlyTextInputBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/accessories/NumericOnlyTextInputBead.as
deleted file mode 100644
index b92a317..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/accessories/NumericOnlyTextInputBead.as
+++ /dev/null
@@ -1,84 +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.staticControls.accessories
-{
-	import flash.events.TextEvent;
-	
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.beads.ITextFieldView;
-	
-	public class NumericOnlyTextInputBead implements IBead
-	{
-		public function NumericOnlyTextInputBead()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			IEventDispatcher(value).addEventListener("viewChanged",viewChangeHandler);
-		}
-		
-		private var _decimalSeparator:String = ".";
-		public function get decimalSeparator():String
-		{
-			return _decimalSeparator;
-		}
-		public function set decimalSeparator(value:String):void
-		{
-			if (_decimalSeparator != value) {
-				_decimalSeparator = value;
-			}
-		}
-		
-		private function viewChangeHandler(event:Event):void
-		{			
-			// get the ITextFieldView bead, which is required for this bead to work
-			var textView:ITextFieldView = _strand.getBeadByType(ITextFieldView) as ITextFieldView;
-			if (textView) {
-				var textField:CSSTextField = textView.textField;
-				textField.restrict = "0-9" + decimalSeparator;
-				
-				// listen for changes to this textField and prevent non-numeric values, such
-				// as 34.09.94
-				textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput);
-			}
-			else {
-				throw new Error("NumericOnlyTextInputBead requires strand to have an ITextFieldView bead");
-			}
-		}
-		
-		private function handleTextInput(event:TextEvent):void
-		{
-			var insert:String = event.text;
-			var caretIndex:int = (event.target as CSSTextField).caretIndex;
-			var current:String = (event.target as CSSTextField).text;
-			var value:String = current.substring(0,caretIndex) + insert + current.substr(caretIndex);
-			var n:Number = Number(value);
-			if (isNaN(n)) event.preventDefault();
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/accessories/PasswordInputBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/accessories/PasswordInputBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/accessories/PasswordInputBead.as
deleted file mode 100644
index 9280317..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/accessories/PasswordInputBead.as
+++ /dev/null
@@ -1,56 +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.staticControls.accessories
-{
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.beads.ITextFieldView;
-	
-	public class PasswordInputBead implements IBead
-	{
-		public function PasswordInputBead()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			IEventDispatcher(value).addEventListener("viewChanged",viewChangeHandler);
-		}
-		
-		private function viewChangeHandler(event:Event):void
-		{			
-			// get the ITextFieldView bead, which is required for this bead to work
-			var textView:ITextFieldView = _strand.getBeadByType(ITextFieldView) as ITextFieldView;
-			if (textView) {
-				var textField:CSSTextField = textView.textField;
-				textField.displayAsPassword = true;
-			}
-			else {
-				throw new Error("PasswordInputBead requires strand to have a TextInputView bead");
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/accessories/TextPromptBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/accessories/TextPromptBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/accessories/TextPromptBead.as
deleted file mode 100644
index d27dafa..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/accessories/TextPromptBead.as
+++ /dev/null
@@ -1,92 +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.staticControls.accessories
-{
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public class TextPromptBead implements IBead
-	{
-		public function TextPromptBead()
-		{
-		}
-		
-		private var _prompt:String;
-		public function get prompt():String
-		{
-			return _prompt;
-		}
-		public function set prompt(value:String):void
-		{
-			_prompt = value;
-		}
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			// listen for changes in text to hide or show the prompt
-			var model:Object = UIBase(_strand).model;
-			if (!model.hasOwnProperty("text")) {
-				throw new Error("Model requires a text property when used with TextPromptBead");
-			}
-			IEventDispatcher(model).addEventListener("textChange",handleTextChange);
-			
-			// create a TextField that displays the prompt - it shows
-			// and hides based on the model's content
-			promptField = new CSSTextField();
-			promptField.selectable = false;
-			promptField.type = TextFieldType.DYNAMIC;
-			promptField.mouseEnabled = false;
-			promptField.multiline = false;
-			promptField.wordWrap = false;
-			promptField.textColor = 0xBBBBBB;
-			
-			// trigger the event handler to display if needed
-			handleTextChange(null);
-		}
-		
-		private var promptField:CSSTextField;
-		private var promptAdded:Boolean;
-		
-		private function handleTextChange( event:Event ):void
-		{	
-			// see what the model currently has to determine if the prompt should be
-			// displayed or not.
-			var model:Object = UIBase(_strand).model;
-			
-			if (model.text != null && model.text.length > 0 ) {
-				if (promptAdded) UIBase(_strand).removeChild(promptField);
-				promptAdded = false;
-			}
-			else {
-				if (!promptAdded) UIBase(_strand).addChild(promptField);
-				promptField.text = prompt;
-				promptAdded = true;
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/AlertMeasurementBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/AlertMeasurementBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/AlertMeasurementBead.as
deleted file mode 100644
index 8199b28..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/AlertMeasurementBead.as
+++ /dev/null
@@ -1,46 +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.staticControls.beads
-{
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IStrand;
-	
-	public class AlertMeasurementBead implements IMeasurementBead
-	{
-		public function AlertMeasurementBead()
-		{
-		}
-		
-		public function get measuredWidth():Number
-		{
-			return 0;
-		}
-		
-		public function get measuredHeight():Number
-		{
-			return 0;
-		}
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/AlertView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/AlertView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/AlertView.as
deleted file mode 100644
index b02911a..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/AlertView.as
+++ /dev/null
@@ -1,178 +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.staticControls.beads
-{
-	import org.apache.flex.core.IAlertModel;
-	import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IMeasurementBead;
-    import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.UIMetrics;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.createjs.staticControls.Label;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.Alert;
-	import org.apache.flex.html.staticControls.ControlBar;
-	import org.apache.flex.html.staticControls.TextButton;
-	import org.apache.flex.html.staticControls.TitleBar;
-	import org.apache.flex.utils.BeadMetrics;
-	
-	public class AlertView implements IBeadView
-	{
-		public function AlertView()
-		{
-		}
-		
-		private var _titleBar:TitleBar;
-		private var _controlBar:ControlBar;
-		private var _label:Label;
-		private var _okButton:TextButton;
-		private var _cancelButton:TextButton;
-		private var _yesButton:TextButton;
-		private var _noButton:TextButton;
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-
-            var backgroundColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
-			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(value, "background-image");
-			if (backgroundColor != null || backgroundImage != null)
-			{
-				if (value.getBeadByType(IBackgroundBead) == null)
-					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);					
-			}
-			
-			var borderStyle:String;
-			var borderStyles:Object = ValuesManager.valuesImpl.getValue(value, "border");
-			if (borderStyles is Array)
-			{
-				borderStyle = borderStyles[1];
-			}
-			if (borderStyle == null)
-			{
-				borderStyle = ValuesManager.valuesImpl.getValue(value, "border-style") as String;
-			}
-			if (borderStyle != null && borderStyle != "none")
-			{
-				if (value.getBeadByType(IBorderBead) == null)
-					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);	
-			}
-			
-			var flags:uint = IAlertModel(UIBase(_strand).model).flags;
-			if( flags & Alert.OK ) {
-				_okButton = new TextButton();
-				_okButton.text = IAlertModel(UIBase(_strand).model).okLabel;
-				_okButton.addEventListener("click",handleOK);
-			}
-			if( flags & Alert.CANCEL ) {
-				_cancelButton = new TextButton();
-				_cancelButton.text = IAlertModel(UIBase(_strand).model).cancelLabel;
-				_cancelButton.addEventListener("click",handleCancel);
-			}
-			if( flags & Alert.YES ) {
-				_yesButton = new TextButton();
-				_yesButton.text = IAlertModel(UIBase(_strand).model).yesLabel;
-				_yesButton.addEventListener("click",handleYes);
-			}
-			if( flags & Alert.NO ) {
-				_noButton = new TextButton();
-				_noButton.text = IAlertModel(UIBase(_strand).model).noLabel;
-				_noButton.addEventListener("click",handleNo);
-			}
-			
-			_titleBar = new TitleBar();
-			_titleBar.title = IAlertModel(UIBase(_strand).model).title;
-			
-			_label = new Label();
-			_label.text = IAlertModel(UIBase(_strand).model).message;
-			
-			_controlBar = new ControlBar();
-			if( _okButton ) _controlBar.addElement(_okButton);
-			if( _cancelButton ) _controlBar.addElement(_cancelButton);
-			if( _yesButton  ) _controlBar.addElement(_yesButton);
-			if( _noButton ) _controlBar.addElement(_noButton);
-			
-		    IParent(_strand).addElement(_titleBar);
-            IParent(_strand).addElement(_controlBar);
-            IParent(_strand).addElement(_label);
-			
-			sizeHandler(null);
-		}
-		
-		private function sizeHandler(event:Event):void
-		{
-			var labelMeasure:IMeasurementBead = _label.measurementBead;
-			var titleMeasure:IMeasurementBead = _titleBar.measurementBead;
-			var ctrlMeasure:IMeasurementBead  = _controlBar.measurementBead;
-			var maxWidth:Number = Math.max(titleMeasure.measuredWidth, ctrlMeasure.measuredWidth, labelMeasure.measuredWidth);
-			
-			var metrics:UIMetrics = BeadMetrics.getMetrics(_strand);
-
-			_titleBar.x = metrics.left;
-			_titleBar.y = metrics.top;
-			_titleBar.width = maxWidth;
-			
-			// content placement here
-			_label.x = metrics.left;
-			_label.y = _titleBar.y + _titleBar.height + 2;
-			_label.width = maxWidth;
-			
-			_controlBar.x = metrics.left;
-			_controlBar.y = _label.y + _label.height + 2;
-			_controlBar.width = maxWidth;
-			
-			UIBase(_strand).width = maxWidth + metrics.left + metrics.right;
-			UIBase(_strand).height = _controlBar.y + _controlBar.height + metrics.bottom + 2;
-		}
-		
-		private function handleOK(event:Event):void
-		{
-			// create some custom event where the detail value
-			// is the OK button flag. Do same for other event handlers
-			dispatchCloseEvent(Alert.OK);
-		}
-		
-		private function handleCancel(event:Event):void
-		{
-			dispatchCloseEvent(Alert.CANCEL);
-		}
-		
-		private function handleYes(event:Event):void
-		{
-			dispatchCloseEvent(Alert.YES);
-		}
-		
-		private function handleNo(event:Event):void
-		{
-			dispatchCloseEvent(Alert.NO);
-		}
-		
-		public function dispatchCloseEvent(buttonFlag:uint):void
-		{
-			// TO DO: buttonFlag should be part of the event
-			var newEvent:Event = new Event("close",true);
-			IEventDispatcher(_strand).dispatchEvent(newEvent);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ButtonBarView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ButtonBarView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ButtonBarView.as
deleted file mode 100644
index d1c781f..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ButtonBarView.as
+++ /dev/null
@@ -1,44 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-
-	public class ButtonBarView extends ListView
-	{
-		public function ButtonBarView()
-		{
-			super();
-		}
-		
-		private var _strand:IStrand;
-		
-		override public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			super.strand = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSButtonView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSButtonView.as
deleted file mode 100644
index f7dc60a..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSButtonView.as
+++ /dev/null
@@ -1,128 +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.staticControls.beads
-{
-	import flash.display.Loader;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.display.Sprite;
-	import flash.events.Event;
-	import flash.net.URLRequest;
-	
-	import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.utils.SolidBorderUtil;
-
-	public class CSSButtonView implements IBeadView
-	{
-		public function CSSButtonView()
-		{
-			upSprite = new Sprite();
-			downSprite = new Sprite();
-			overSprite = new Sprite();
-		}
-		
-		private var textModel:ITextModel;
-		
-		private var _strand:IStrand;
-		
-		private var shape:Shape;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 10, 10);
-			shape.graphics.endFill();
-			SimpleButton(value).upState = upSprite;
-			SimpleButton(value).downState = downSprite;
-			SimpleButton(value).overState = overSprite;
-			SimpleButton(value).hitTestState = shape;
-
-            setupBackground(overSprite, "hover");
-            setupBackground(downSprite, "active");
-            setupBackground(upSprite);
-		}
-	
-		private function setupSkin(sprite:Sprite, state:String = null):void
-		{
-			var borderColor:uint;
-			var borderThickness:uint;
-			var borderStyle:String;
-			var borderStyles:Object = ValuesManager.valuesImpl.getValue(_strand, "border", state);
-			if (borderStyles is Array)
-			{
-				borderColor = borderStyles[2];
-				borderStyle = borderStyles[1];
-				borderThickness = borderStyles[0];
-			}
-			var value:Object = ValuesManager.valuesImpl.getValue(_strand, "border-style", state);
-			if (value != null)
-				borderStyle = value as String;
-			value = ValuesManager.valuesImpl.getValue(_strand, "border-color", state);
-			if (value != null)
-				borderColor = value as uint;
-			value = ValuesManager.valuesImpl.getValue(_strand, "border-thickness", state);
-			if (value != null)
-				borderThickness = value as uint;
-			var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
-			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(_strand, "background-color", state);
-			if (borderStyle == "solid")
-			{
-				SolidBorderUtil.drawBorder(sprite.graphics, 
-					0, 0, sprite.width + Number(padding) * 2, sprite.height + Number(padding) * 2,
-					borderColor, backgroundColor, borderThickness);
-			}			
-		}
-		
-        private function setupBackground(sprite:Sprite, state:String = null):void
-        {
-            var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "background-image", state);
-            if (backgroundImage)
-            {
-                var loader:Loader = new Loader();
-                sprite.addChildAt(loader, 0);
-                var url:String = backgroundImage as String;
-                loader.load(new URLRequest(url));
-                loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { 
-                    setupSkin(sprite, state);
-                    updateHitArea();
-                });
-            }
-        }
-        
-		private var upSprite:Sprite;
-		private var downSprite:Sprite;
-		private var overSprite:Sprite;
-				
-		private function updateHitArea():void
-		{
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, upSprite.width, upSprite.height);
-			shape.graphics.endFill();
-			
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonView.as
deleted file mode 100644
index 23428d8..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonView.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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.Loader;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.display.Sprite;
-	import flash.events.Event;
-	import flash.net.URLRequest;
-	import flash.text.TextField;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.utils.SolidBorderUtil;
-
-	public class CSSTextButtonView implements IBeadView
-	{
-		public function CSSTextButtonView()
-		{
-			upSprite = new Sprite();
-			downSprite = new Sprite();
-			overSprite = new Sprite();
-			upTextField = new CSSTextField();
-			downTextField = new CSSTextField();
-			overTextField = new CSSTextField();
-			upTextField.selectable = false;
-			upTextField.type = TextFieldType.DYNAMIC;
-			downTextField.selectable = false;
-			downTextField.type = TextFieldType.DYNAMIC;
-			overTextField.selectable = false;
-			overTextField.type = TextFieldType.DYNAMIC;
-			upTextField.autoSize = "left";
-			downTextField.autoSize = "left";
-			overTextField.autoSize = "left";
-			upSprite.addChild(upTextField);
-			downSprite.addChild(downTextField);
-			overSprite.addChild(overTextField);
-		}
-		
-		private var textModel:ITextModel;
-		
-		private var _strand:IStrand;
-		
-		private var shape:Shape;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			textModel = value.getBeadByType(ITextModel) as ITextModel;
-			textModel.addEventListener("textChange", textChangeHandler);
-			textModel.addEventListener("htmlChange", htmlChangeHandler);
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 10, 10);
-			shape.graphics.endFill();
-			SimpleButton(value).upState = upSprite;
-			SimpleButton(value).downState = downSprite;
-			SimpleButton(value).overState = overSprite;
-			SimpleButton(value).hitTestState = shape;
-			if (textModel.text !== null)
-				text = textModel.text;
-			if (textModel.html !== null)
-				html = textModel.html;
-
-            setupSkin(overSprite, overTextField, "hover");
-			setupSkin(downSprite, downTextField, "active");
-			setupSkin(upSprite, upTextField);
-			
-			IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
-		}
-	
-		private function setupSkin(sprite:Sprite, textField:TextField, state:String = null):void
-		{
-			var sw:uint = DisplayObject(_strand).width;
-			var sh:uint = DisplayObject(_strand).height;
-			
-			var borderColor:uint;
-			var borderThickness:uint;
-			var borderStyle:String;
-			var borderStyles:Object = ValuesManager.valuesImpl.getValue(_strand, "border", state);
-			if (borderStyles is Array)
-			{
-				borderColor = borderStyles[2];
-				borderStyle = borderStyles[1];
-				borderThickness = borderStyles[0];
-			}
-			var value:Object = ValuesManager.valuesImpl.getValue(_strand, "border-style", state);
-			if (value != null)
-				borderStyle = value as String;
-			value = ValuesManager.valuesImpl.getValue(_strand, "border-color", state);
-			if (value != null)
-				borderColor = value as uint;
-			value = ValuesManager.valuesImpl.getValue(_strand, "border-thickness", state);
-			if (value != null)
-				borderThickness = value as uint;
-			var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
-			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(_strand, "background-color", state);
-			if (borderStyle == "solid")
-			{
-				SolidBorderUtil.drawBorder(sprite.graphics, 
-					0, 0, sw, textField.textHeight + Number(padding) * 2,
-					borderColor, backgroundColor, borderThickness);
-				textField.y = (sprite.height - textField.height) / 2;
-				textField.x = (sprite.width - textField.width) / 2;
-			}			
-			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "background-image", state);
-			if (backgroundImage)
-			{
-				var loader:Loader = new Loader();
-				sprite.addChildAt(loader, 0);
-				var url:String = backgroundImage as String;
-				loader.load(new URLRequest(url));
-				loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { 
-					textField.y = (sh - textField.height) / 2;
-					textField.x = (sw - textField.width) / 2;
-					updateHitArea();
-				});
-			}
-		}
-		
-		private function drawSkin() : void
-		{
-			setupSkin(overSprite, overTextField, "hover");
-			setupSkin(downSprite, downTextField, "active");
-			setupSkin(upSprite, upTextField);
-			
-			updateHitArea();
-		}
-		
-		private function textChangeHandler(event:org.apache.flex.events.Event):void
-		{
-			text = textModel.text;
-		}
-		
-		private function htmlChangeHandler(event:org.apache.flex.events.Event):void
-		{
-			html = textModel.html;
-		}
-		
-		private function sizeChangeHandler(event:org.apache.flex.events.Event):void
-		{
-			drawSkin();
-		}
-		
-		private var upTextField:CSSTextField;
-		private var downTextField:CSSTextField;
-		private var overTextField:CSSTextField;
-		private var upSprite:Sprite;
-		private var downSprite:Sprite;
-		private var overSprite:Sprite;
-		
-		public function get text():String
-		{
-			return upTextField.text;
-		}
-		public function set text(value:String):void
-		{
-			upTextField.text = value;
-			downTextField.text = value;
-			overTextField.text = value;
-			updateHitArea();
-		}
-		
-		private function updateHitArea():void
-		{
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, upSprite.width, upSprite.height);
-			shape.graphics.endFill();
-			
-		}
-		
-		public function get html():String
-		{
-			return upTextField.htmlText;
-		}
-		
-		public function set html(value:String):void
-		{
-			upTextField.htmlText = value;
-			downTextField.htmlText = value;
-			overTextField.htmlText = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CheckBoxView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CheckBoxView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/CheckBoxView.as
deleted file mode 100644
index c6a9cb3..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CheckBoxView.as
+++ /dev/null
@@ -1,214 +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.staticControls.beads
-{
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.display.Sprite;
-	import flash.text.TextFieldAutoSize;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IToggleButtonModel;
-	import org.apache.flex.events.Event;
-	
-	public class CheckBoxView implements IBeadView
-	{
-		public function CheckBoxView()
-		{
-			sprites = [ upSprite = new Sprite(),
-				        downSprite = new Sprite(),
-						overSprite = new Sprite(),
-						upAndSelectedSprite = new Sprite(),
-						downAndSelectedSprite = new Sprite(),
-						overAndSelectedSprite = new Sprite() ];
-			
-			for each( var s:Sprite in sprites )
-			{
-				var tf:CSSTextField = new CSSTextField();
-				tf.type = TextFieldType.DYNAMIC;
-				tf.autoSize = TextFieldAutoSize.LEFT;
-				tf.name = "textField";
-				var icon:Shape = new Shape();
-				icon.name = "icon";
-				s.addChild(icon);
-				s.addChild(tf);
-			}
-		}
-		
-		private var upSprite:Sprite;
-		private var downSprite:Sprite;
-		private var overSprite:Sprite;
-		private var upAndSelectedSprite:Sprite;
-		private var downAndSelectedSprite:Sprite;
-		private var overAndSelectedSprite:Sprite;
-		
-		private var sprites:Array;
-		
-		private var _toggleButtonModel:IToggleButtonModel;
-		
-		public function get toggleButtonModel() : IToggleButtonModel
-		{
-			return _toggleButtonModel;
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            
-			_toggleButtonModel = value.getBeadByType(IToggleButtonModel) as IToggleButtonModel;
-			_toggleButtonModel.addEventListener("textChange", textChangeHandler);
-			_toggleButtonModel.addEventListener("htmlChange", htmlChangeHandler);
-			_toggleButtonModel.addEventListener("selectedChange", selectedChangeHandler);
-			if (_toggleButtonModel.text !== null)
-				text = _toggleButtonModel.text;
-			
-			layoutControl();
-			
-			var hitArea:Shape = new Shape();
-			hitArea.graphics.beginFill(0x000000);
-			hitArea.graphics.drawRect(12,0,upSprite.width, upSprite.height);
-			hitArea.graphics.endFill();
-			
-			SimpleButton(value).upState = upSprite;
-			SimpleButton(value).downState = downSprite;
-			SimpleButton(value).overState = overSprite;
-			SimpleButton(value).hitTestState = hitArea;
-			
-			if (toggleButtonModel.text !== null)
-				text = toggleButtonModel.text;
-			if (toggleButtonModel.html !== null)
-				html = toggleButtonModel.html;
-		}
-		
-		public function get text():String
-		{
-			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
-			return tf.text;
-		}
-		
-		public function set text(value:String):void
-		{
-			for each( var s:Sprite in sprites )
-			{
-				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
-				tf.text = value;
-			}
-			
-			layoutControl();
-		}
-		
-		public function get html():String
-		{
-			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
-			return tf.htmlText;
-		}
-		
-		public function set html(value:String):void
-		{
-			for each(var s:Sprite in sprites)
-			{
-				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
-				tf.htmlText = value;
-			}
-			
-			layoutControl();
-		}
-		
-		private function textChangeHandler(event:Event):void
-		{
-			text = toggleButtonModel.text;
-		}
-		
-		private function htmlChangeHandler(event:Event):void
-		{
-			html = toggleButtonModel.html;
-		}
-		
-		private var _selected:Boolean;
-		
-		public function get selected():Boolean
-		{
-			return _selected;
-		}
-		
-		public function set selected(value:Boolean):void
-		{
-			_selected = value;
-			
-			layoutControl();
-			
-			if( value ) {
-				SimpleButton(_strand).upState = upAndSelectedSprite;
-				SimpleButton(_strand).downState = downAndSelectedSprite;
-				SimpleButton(_strand).overState = overAndSelectedSprite;
-				
-			} else {
-				SimpleButton(_strand).upState = upSprite;
-				SimpleButton(_strand).downState = downSprite;
-				SimpleButton(_strand).overState = overSprite;
-			}
-		}
-		
-		private function selectedChangeHandler(event:Event):void
-		{
-			selected = toggleButtonModel.selected;
-		}
-		
-		protected function layoutControl() : void
-		{
-			for each(var s:Sprite in sprites)
-			{
-				var icon:Shape = s.getChildByName("icon") as Shape;
-				var tf:CSSTextField = s.getChildByName("textField") as CSSTextField;
-				
-				drawCheckBox(icon);
-				
-				var mh:Number = Math.max(icon.height,tf.height);
-				
-				icon.x = 0;
-				icon.y = (mh - icon.height)/2;
-				
-				tf.x = icon.x + icon.width + 1;
-				tf.y = (mh - tf.height)/2;
-			}
-			
-		}
-		
-		protected function drawCheckBox(icon:Shape) : void
-		{
-			icon.graphics.clear();
-			icon.graphics.beginFill(0xCCCCCC);
-			icon.graphics.lineStyle(1,0x333333);
-			icon.graphics.drawRect(0,0,10,10);
-			icon.graphics.endFill();
-			
-			if( _toggleButtonModel.selected ) {
-				icon.graphics.moveTo(0,0);
-				icon.graphics.lineTo(10,10);
-				icon.graphics.moveTo(10,0);
-				icon.graphics.lineTo(0,10);
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ComboBoxView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ComboBoxView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ComboBoxView.as
deleted file mode 100644
index d7a5bba..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ComboBoxView.as
+++ /dev/null
@@ -1,175 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	import flash.display.Sprite;
-	
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IComboBoxModel;
-	import org.apache.flex.core.IPopUpHost;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.core.IParent;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.Button;
-	import org.apache.flex.html.staticControls.TextInput;
-	
-	public class ComboBoxView implements IBeadView, IComboBoxView
-	{
-		public function ComboBoxView()
-		{
-		}
-		
-		private var textInput:TextInput;
-		private var button:Button;
-		
-		public function get text():String
-		{
-			return textInput.text;
-		}
-		public function set text(value:String):void
-		{
-			textInput.text = value;
-		}
-		
-		public function get html():String
-		{
-			return textInput.html;
-		}
-		public function set html(value:String):void
-		{
-			textInput.html = value;
-		}
-		private var _strand:IStrand;
-		
-		public function get strand():IStrand
-		{
-			return _strand;
-		}
-		
-		private var selectionModel:IComboBoxModel;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-        
-			selectionModel = value.getBeadByType(IComboBoxModel) as IComboBoxModel;
-			selectionModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
-            
-			textInput = new TextInput();
-			IParent(strand).addElement(textInput);
-			textInput.width = 100;
-			textInput.height = 18;
-			
-			upSprite = new Sprite();
-			drawButton( upSprite, "up", 18, 18 );
-			overSprite = new Sprite();
-			drawButton( overSprite, "over", 18, 18 );
-			downSprite = new Sprite();
-			drawButton( downSprite, "down", 18, 18 );
-			
-			button = new Button( upSprite, overSprite, downSprite );
-			DisplayObjectContainer(strand).addChild(button);
-			button.width = 18;
-			button.height = 18;
-			button.x = textInput.width;
-			button.y = textInput.y;
-			
-			// listen for events on the text input and modify the list and selection
-			textInput.addEventListener("change", textChangeHandler,false,0,true);
-		}
-		
-		private var upSprite:Sprite;
-		private var overSprite:Sprite;
-		private var downSprite:Sprite;
-		
-		private function drawButton( sprite:Sprite, mode:String, width:Number, height:Number ) : void
-		{
-			sprite.graphics.clear();
-			sprite.graphics.lineStyle(1,0xFFFFFF);
-			sprite.graphics.drawRect(0, 0, width-1, height-1);
-			sprite.graphics.lineStyle(-1);
-			
-			if( mode == "over" ) sprite.graphics.beginFill(0xCCCCCC);
-			else if( mode == "down" ) sprite.graphics.beginFill(0x888888);
-			sprite.graphics.drawRect(0, 0, width-1, height-1);
-			sprite.graphics.endFill();
-			
-			sprite.graphics.beginFill(0x333333);
-			sprite.graphics.moveTo(4,4);
-			sprite.graphics.lineTo(width-4,4);
-			sprite.graphics.lineTo(int(width/2),height-4);
-			sprite.graphics.lineTo(4,4);
-			sprite.graphics.endFill();
-		}
-		
-		private var _popUp:IStrand;
-		public function get popUp():IStrand
-		{
-			return _popUp;
-		}
-		
-		private var _popUpVisible:Boolean;
-		
-		public function get popUpVisible():Boolean
-		{
-			return _popUpVisible;
-		}
-		
-		public function set popUpVisible(value:Boolean):void
-		{
-			if (value != _popUpVisible)
-			{
-				_popUpVisible = value;
-				if (value)
-				{
-					if (!_popUp)
-					{
-						var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
-						_popUp = new popUpClass() as IStrand;
-					}
-					var root:Object = DisplayObject(_strand).root;
-					var host:DisplayObjectContainer = DisplayObject(_strand).parent;
-					while (host && !(host is IPopUpHost))
-						host = host.parent;
-                    if (host)
-    					IPopUpHost(host).addElement(popUp);
-				}
-				else
-				{
-					DisplayObject(_popUp).parent.removeChild(_popUp as DisplayObject);                    
-				}
-			}
-		}
-		
-		private function selectionChangeHandler(event:Event):void
-		{
-			text = selectionModel.selectedItem.toString();
-		}
-		
-		private function textChangeHandler(event:Event):void
-		{	
-			var newEvent:Event = new Event("change");
-			IEventDispatcher(strand).dispatchEvent(newEvent);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ContainerView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ContainerView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ContainerView.as
deleted file mode 100644
index c0eb0b7..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ContainerView.as
+++ /dev/null
@@ -1,144 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	import flash.display.Sprite;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.html.staticControls.Container;
-	import org.apache.flex.html.staticControls.ContainerContentArea;
-	import org.apache.flex.html.staticControls.supportClasses.Border;
-	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
-	
-	public class ContainerView implements IBeadView, ILayoutParent
-	{
-		public function ContainerView()
-		{
-		}
-		
-		protected var actualParent:DisplayObjectContainer;
-				
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
-			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(value, "background-image");
-			if (backgroundColor != null || backgroundImage != null)
-			{
-				if (value.getBeadByType(IBackgroundBead) == null)
-					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);					
-			}
-			
-			var borderStyle:String;
-			var borderStyles:Object = ValuesManager.valuesImpl.getValue(value, "border");
-			if (borderStyles is Array)
-			{
-				borderStyle = borderStyles[1];
-			}
-			if (borderStyle == null)
-			{
-				borderStyle = ValuesManager.valuesImpl.getValue(value, "border-style") as String;
-			}
-			if (borderStyle != null && borderStyle != "none")
-			{
-				if (value.getBeadByType(IBorderBead) == null)
-					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);	
-			}
-			
-			var paddingLeft:Object;
-			var paddingTop:Object;
-			var padding:Object = ValuesManager.valuesImpl.getValue(value, "padding");
-			if (padding is Array)
-			{
-				if (padding.length == 1)
-					paddingLeft = paddingTop = padding[0];
-				else if (padding.length <= 3)
-				{
-					paddingLeft = padding[1];
-					paddingTop = padding[0];
-				}
-				else if (padding.length == 4)
-				{
-					paddingLeft = padding[3];
-					paddingTop = padding[0];					
-				}
-			}
-			else if (padding == null)
-			{
-				paddingLeft = ValuesManager.valuesImpl.getValue(value, "padding-left");
-				paddingTop = ValuesManager.valuesImpl.getValue(value, "padding-top");
-			}
-			else
-			{
-				paddingLeft = paddingTop = padding;
-			}
-			var pl:Number = Number(paddingLeft);
-			var pt:Number = Number(paddingTop);
-			if ((!isNaN(pl) && pl > 0 ||
-				!isNaN(pt) && pt > 0))
-			{
-				actualParent = new ContainerContentArea();
-				DisplayObjectContainer(value).addChild(actualParent);
-				Container(value).setActualParent(actualParent);
-				actualParent.x = pl;
-				actualParent.y = pt;
-			}
-			else
-			{
-				actualParent = value as DisplayObjectContainer;
-			}
-		}
-		
-		public function get contentView():DisplayObjectContainer
-		{
-			return actualParent;
-		}
-		
-		public function get border():Border
-		{
-			return null;
-		}
-		
-		public function get resizableView():DisplayObject
-		{
-			return _strand as DisplayObject;
-		}
-		
-		public function get vScrollBar():ScrollBar
-		{
-			return null;
-		}
-		
-		public function get hScrollBar():ScrollBar
-		{
-			return null;
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ControlBarMeasurementBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ControlBarMeasurementBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ControlBarMeasurementBead.as
deleted file mode 100644
index af16940..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ControlBarMeasurementBead.as
+++ /dev/null
@@ -1,74 +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.staticControls.beads
-{
-	import flash.display.DisplayObjectContainer;
-	
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.html.staticControls.Container;
-	
-	public class ControlBarMeasurementBead implements IMeasurementBead
-	{
-		public function ControlBarMeasurementBead()
-		{
-		}
-		
-		public function get measuredWidth():Number
-		{
-			// Note: the measurement should problably be done by the ControlBar's layout manager bead
-			// since it would know the arrangement of the items and how far apart they are and if
-			// there are margins and paddings and gaps involved.
-			var mwidth:Number = 0;
-			var children:Array = Container(_strand).getChildren();
-			var n:int = children.length;
-			for(var i:int=0; i < n; i++) {
-				var child:IUIBase = children[i] as IUIBase;
-				if( child == null ) continue;
-				var childMeasure:IMeasurementBead = child.getBeadByType(IMeasurementBead) as IMeasurementBead;
-                if (childMeasure)
-    				mwidth += childMeasure.measuredWidth;
-			}
-			return mwidth;
-		}
-		
-		public function get measuredHeight():Number
-		{
-			// Note: the measurement should problably be done by the ControlBar's layout manager bead
-			// since it would know the arrangement of the items and how far apart they are and if
-			// there are margins and paddings and gaps involved.
-			var mheight:Number = 0;
-			var n:int = DisplayObjectContainer(_strand).numChildren;
-			for(var i:int=0; i < n; i++) {
-				var child:IUIBase = DisplayObjectContainer(_strand).getChildAt(i) as IUIBase;
-				if( child == null ) continue;
-				var childMeasure:IMeasurementBead = child.getBeadByType(IMeasurementBead) as IMeasurementBead;
-				mheight += childMeasure.measuredHeight;
-			}
-			return mheight;
-		}
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as
deleted file mode 100644
index 94dc74c..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as
+++ /dev/null
@@ -1,56 +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.staticControls.beads
-{
-	import org.apache.flex.core.IStrand;
-	
-	public class DataGridColumnView extends ListView
-	{
-		public function DataGridColumnView()
-		{
-		}
-		
-		private var _strand:IStrand;
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			_strand = value;
-		}
-		
-		private var _columnIndex:uint;
-		public function get columnIndex():uint
-		{
-			return _columnIndex;
-		}
-		public function set columnIndex(value:uint):void
-		{
-			_columnIndex = value;
-		}
-		
-		private var _labelField:String;
-		public function get labelField():String
-		{
-			return _labelField;
-		}
-		public function set labelField(value:String):void
-		{
-			_labelField = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataGridView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataGridView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataGridView.as
deleted file mode 100644
index f2d3cc2..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataGridView.as
+++ /dev/null
@@ -1,156 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	import flash.display.Shape;
-	
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IDataGridModel;
-	import org.apache.flex.core.IDataGridPresentationModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.ButtonBar;
-	import org.apache.flex.html.staticControls.Container;
-	import org.apache.flex.html.staticControls.List;
-	import org.apache.flex.html.staticControls.SimpleList;
-	import org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout;
-	import org.apache.flex.html.staticControls.beads.models.ArraySelectionModel;
-	
-	public class DataGridView implements IDataGridView
-	{
-		public function DataGridView()
-		{
-		}
-		
-		private var background:Shape;
-		private var buttonBar:ButtonBar;
-		private var buttonBarModel:ArraySelectionModel;
-		private var columnContainer:Container;
-		private var columns:Array;
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			background = new Shape();
-			DisplayObjectContainer(_strand).addChild(background);
-			
-			var pm:IDataGridPresentationModel = _strand.getBeadByType(IDataGridPresentationModel) as IDataGridPresentationModel;
-			buttonBarModel = new ArraySelectionModel();
-			buttonBarModel.dataProvider = pm.columnLabels;
-			buttonBar = new ButtonBar();
-			buttonBar.addBead(buttonBarModel);
-			UIBase(_strand).addElement(buttonBar);
-			
-			columnContainer = new Container();
-			var layout:NonVirtualHorizontalLayout = new NonVirtualHorizontalLayout();
-			columnContainer.addBead(layout);
-			UIBase(_strand).addElement(columnContainer);
-			
-			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
-			
-			columns = new Array();
-			for(var i:int=0; i < pm.columnLabels.length; i++) {
-				var column:List = new SimpleList();
-				var columnView:DataGridColumnView = new DataGridColumnView();
-				columnView.labelField = sharedModel.labelFields[i];
-				var factory:DataItemRendererFactoryForColumnData = new DataItemRendererFactoryForColumnData();
-				columnView.columnIndex = i;
-				column.addBead(sharedModel);
-				column.addBead(columnView);
-				column.addBead(factory);
-				columnContainer.addElement(column);
-				columns.push(column);
-				
-				column.addEventListener('change',columnListChangeHandler);
-				column.addEventListener('rollover',columnListRollOverHandler);
-			}
-			
-			IEventDispatcher(_strand).addEventListener("widthChanged",handleSizeChange);
-			IEventDispatcher(_strand).addEventListener("heightChanged",handleSizeChange);
-			
-			handleSizeChange(null); // initial sizing
-		}
-		
-		private function handleSizeChange(event:Event):void
-		{
-			var sw:Number = DisplayObject(_strand).width;
-			var sh:Number = DisplayObject(_strand).height;
-			
-			var backgroundColor:Number = 0xDDDDDD;
-			var value:Object = ValuesManager.valuesImpl.getValue(_strand, "background-color");
-			if (value != null) backgroundColor = Number(value);
-			
-			background.graphics.clear();
-			background.graphics.beginFill(backgroundColor);
-			background.graphics.drawRect(0,0,sw,sh);
-			background.graphics.endFill();
-			
-			buttonBar.x = 0;
-			buttonBar.y = 0;
-			buttonBar.width = sw;
-			buttonBar.height = 25;
-			
-			columnContainer.x = 0;
-			columnContainer.y = 30;
-			columnContainer.width = sw;
-			columnContainer.height = sh - 25;
-			
-			for(var i:int=0; i < columns.length; i++) {
-				var column:List = columns[i];
-			
-				var cw:Number = sw/(columns.length);
-				column.x = i*cw; // should be positioned by the Container's layout
-				column.y = 0;
-				column.width = cw;
-				column.height = columnContainer.height; // this will actually be Nitem*rowHeight
-			}
-		}
-		
-		private function columnListChangeHandler(event:Event):void
-		{
-			var list:List = event.target as List;
-			for(var i:int=0; i < columns.length; i++) {
-				if (list != columns[i]) {
-					columns[i].selectedIndex = list.selectedIndex;
-				}
-			}
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event('change'));
-		}
-		
-		private function columnListRollOverHandler(event:Event):void
-		{
-			var list:List = event.target as List;
-			for(var i:int=0; i < columns.length; i++) {
-				if (list != columns[i]) {
-					columns[i].rollOverIndex = list.rollOverIndex;
-				}
-			}
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event('rollOver'));
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as
deleted file mode 100644
index dbb06ed..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as
+++ /dev/null
@@ -1,92 +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.staticControls.beads
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IItemRenderer;
-	import org.apache.flex.core.IItemRendererClassFactory;
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public class DataItemRendererFactoryForArrayData implements IBead, IDataProviderItemRendererMapper
-	{
-		public function DataItemRendererFactoryForArrayData()
-		{
-		}
-		
-		private var selectionModel:ISelectionModel;
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
-			var listView:IListView = value.getBeadByType(IListView) as IListView;
-			dataGroup = listView.dataGroup;
-			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-			
-			if (!itemRendererFactory)
-			{
-				_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-				_strand.addBead(_itemRendererFactory);
-			}
-			
-			dataProviderChangeHandler(null);
-		}
-		
-		public var _itemRendererFactory:IItemRendererClassFactory;
-		
-		public function get itemRendererFactory():IItemRendererClassFactory
-		{
-			return _itemRendererFactory
-		}
-		
-		public function set itemRendererFactory(value:IItemRendererClassFactory):void
-		{
-			_itemRendererFactory = value;
-		}
-		
-		protected var dataGroup:IItemRendererParent;
-		
-		private function dataProviderChangeHandler(event:Event):void
-		{
-			var dp:Array = selectionModel.dataProvider as Array;
-			if (!dp)
-				return;
-			
-			dataGroup.removeAllElements();
-			
-			var n:int = dp.length; 
-			for (var i:int = 0; i < n; i++)
-			{
-				var ir:IItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as IItemRenderer;
-				ir.index = i;
-				dataGroup.addElement(ir);
-				ir.data = dp[i];
-			}
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as
deleted file mode 100644
index 34b7969..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as
+++ /dev/null
@@ -1,98 +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.staticControls.beads
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IItemRenderer;
-	import org.apache.flex.core.IItemRendererClassFactory;
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.supportClasses.DataItemRenderer;
-	
-	public class DataItemRendererFactoryForColumnData implements IBead, IDataProviderItemRendererMapper
-	{
-		public function DataItemRendererFactoryForColumnData()
-		{
-		}
-		
-		private var selectionModel:ISelectionModel;
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
-			var listView:IListView = value.getBeadByType(IListView) as IListView;
-			dataGroup = listView.dataGroup;
-			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-			
-			if (!itemRendererFactory)
-			{
-				_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-				_strand.addBead(_itemRendererFactory);
-			}
-			
-			dataProviderChangeHandler(null);
-		}
-		
-		public var _itemRendererFactory:IItemRendererClassFactory;
-		
-		public function get itemRendererFactory():IItemRendererClassFactory
-		{
-			return _itemRendererFactory
-		}
-		
-		public function set itemRendererFactory(value:IItemRendererClassFactory):void
-		{
-			_itemRendererFactory = value;
-		}
-		
-		protected var dataGroup:IItemRendererParent;
-		
-		private function dataProviderChangeHandler(event:Event):void
-		{
-			var dp:Array = selectionModel.dataProvider as Array;
-			if (!dp)
-				return;
-			
-			dataGroup.removeAllElements();
-			
-			var view:DataGridColumnView = _strand.getBeadByType(IBeadView) as DataGridColumnView;
-			if (view == null) return;
-			
-			var n:int = dp.length; 
-			for (var i:int = 0; i < n; i++)
-			{
-				
-				var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
-				tf.index = i;
-				dataGroup.addElement(tf);
-				tf.text = dp[i][view.labelField];
-			}
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DownArrowButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DownArrowButtonView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/DownArrowButtonView.as
deleted file mode 100644
index 9a241f9..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DownArrowButtonView.as
+++ /dev/null
@@ -1,78 +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.staticControls.beads
-{
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IBeadView;
-	
-	public class DownArrowButtonView implements IBeadView
-	{
-		public function DownArrowButtonView()
-		{
-			upView = new Shape();
-			downView = new Shape();
-			overView = new Shape();
-
-			drawView(upView.graphics, 0xCCCCCC);
-			drawView(downView.graphics, 0x808080);
-			drawView(overView.graphics, 0xEEEEEE);
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-			g.lineStyle(1);
-			g.beginFill(bgColor);
-			g.drawRect(0, 0, 16, 16);
-			g.endFill();
-			g.lineStyle(0);
-			g.beginFill(0);
-			g.moveTo(4, 4);
-			g.lineTo(12, 4);
-			g.lineTo(8, 12);
-			g.lineTo(4, 4);
-			g.endFill();
-		}
-		
-		private var _strand:IStrand;
-		
-		private var shape:Shape;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 16, 16);
-			shape.graphics.endFill();
-			SimpleButton(value).upState = upView;
-			SimpleButton(value).downState = downView;
-			SimpleButton(value).overState = overView;
-			SimpleButton(value).hitTestState = shape;
-		}
-				
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-        
-	}
-}
\ No newline at end of file


[17/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IValuesImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IValuesImpl.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IValuesImpl.as
new file mode 100644
index 0000000..530861c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IValuesImpl.as
@@ -0,0 +1,28 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface IValuesImpl
+	{
+		function getValue(thisObject:Object, valueName:String, state:String = null, attrs:Object = null):*;
+        function getInstance(valueName:String):Object;
+        
+        function init(mainClass:Object):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ItemRendererClassFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ItemRendererClassFactory.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ItemRendererClassFactory.as
new file mode 100644
index 0000000..0dc1959
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ItemRendererClassFactory.as
@@ -0,0 +1,83 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.utils.MXMLDataInterpreter;
+
+	[DefaultProperty("mxmlContent")]
+	public class ItemRendererClassFactory extends Strand implements IItemRendererClassFactory, IDocument, IBead
+	{
+		public function ItemRendererClassFactory()
+		{
+			super();
+		}
+				
+        private var _strand:IStrand;
+        
+        public function set strand(value:IStrand):void
+        {
+            _strand = value;
+            itemRendererClass = ValuesManager.valuesImpl.getValue(_strand, "iItemRenderer") as Class;
+            if (itemRendererClass)
+                createFunction = createFromClass;
+        }
+
+		public function get MXMLDescriptor():Array
+		{
+			return null;
+		}
+		
+		public function get MXMLProperties():Array
+		{
+			return null;
+		}
+		
+		public var mxmlContent:Array;
+		
+        public function createItemRenderer(parent:IItemRendererParent):IItemRenderer
+        {
+            return createFunction(parent);
+        }
+        
+        public var createFunction:Function = createFromMXMLContent;
+
+        protected function createFromMXMLContent(parent:IItemRendererParent):IItemRenderer
+        {
+            return MXMLDataInterpreter.generateMXMLArray(document, parent as IParent, MXMLDescriptor, true)[0];
+        }
+        
+        public var itemRendererClass:Class;
+        
+        public function createFromClass(parent:IItemRendererParent):IItemRenderer
+        {
+            var renderer:IItemRenderer = new itemRendererClass();
+            parent.addElement(renderer);
+            return renderer;
+        }
+        
+        private var document:Object;
+        public function setDocument(document:Object, id:String = null):void
+        {
+            this.document = document;
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/PopUpManager.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/PopUpManager.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/PopUpManager.as
new file mode 100644
index 0000000..862d70c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/PopUpManager.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.core
+{
+    import flash.display.DisplayObject;
+    import flash.display.DisplayObjectContainer;
+    import flash.events.Event;
+
+	public class PopUpManager implements IDocument
+	{
+		public function PopUpManager()
+		{
+		}
+
+        private var document:DisplayObjectContainer;
+        
+        public function setDocument(document:Object, id:String = null):void
+        {
+            this.document = document as DisplayObjectContainer;
+            this.document.addEventListener(Event.ADDED, addedHandler);
+        }
+        
+        private function addedHandler(event:Event):void
+        {
+            if (event.target != document)
+                return;
+
+            var n:int = document.numChildren;
+            var lastPopUp:int = n - 1;
+            
+            for (var i:int = n - 1; i >= 0; i--)
+            {
+                var child:DisplayObject = document.getChildAt(n);
+                if (child is IPopUp)
+                {
+                    if (i < lastPopUp)
+                    {
+                        document.setChildIndex(child, lastPopUp);
+                        lastPopUp--;
+                    }
+                }
+            }
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleCSSValuesImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleCSSValuesImpl.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleCSSValuesImpl.as
new file mode 100644
index 0000000..6f9ad06
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleCSSValuesImpl.as
@@ -0,0 +1,301 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.system.ApplicationDomain;
+	import flash.utils.getQualifiedClassName;
+	import flash.utils.getQualifiedSuperclassName;
+	import flash.utils.getDefinitionByName;
+	
+	import org.apache.flex.events.ValueChangeEvent;
+	import org.apache.flex.events.EventDispatcher;
+	
+	public class SimpleCSSValuesImpl extends EventDispatcher implements IValuesImpl
+	{
+		public function SimpleCSSValuesImpl()
+		{
+			super();
+		}
+		
+        private var mainClass:Object;
+        
+		private var conditionCombiners:Object;
+
+        public function init(mainClass:Object):void
+        {
+			var styleClassName:String;
+			var c:Class;
+			if (!values)
+			{
+				values = {};
+	            this.mainClass = mainClass;
+	            var mainClassName:String = getQualifiedClassName(mainClass);
+				styleClassName = "_" + mainClassName + "_Styles";
+				c = ApplicationDomain.currentDomain.getDefinition(styleClassName) as Class;
+			}
+			else
+			{
+				var className:String = getQualifiedClassName(mainClass);
+				c = ApplicationDomain.currentDomain.getDefinition(className) as Class;
+			}
+            generateCSSStyleDeclarations(c["factoryFunctions"], c["data"]);
+        }
+        
+        public function generateCSSStyleDeclarations(factoryFunctions:Object, arr:Array):void
+        {
+			if (factoryFunctions == null)
+				return;
+			if (arr == null)
+				return;
+			
+            var declarationName:String = "";
+            var segmentName:String = "";
+            var n:int = arr.length;
+            for (var i:int = 0; i < n; i++)
+            {
+                var className:int = arr[i];
+                if (className == CSSClass.CSSSelector)
+                {
+                    var selectorName:String = arr[++i];
+                    segmentName = selectorName + segmentName;
+                    if (declarationName != "")
+                        declarationName += " ";
+                    declarationName += segmentName;
+                    segmentName = "";
+                }
+                else if (className == CSSClass.CSSCondition)
+                {
+					if (!conditionCombiners)
+					{
+						conditionCombiners = {};
+						conditionCombiners["class"] = ".";
+						conditionCombiners["id"] = "#";
+						conditionCombiners["pseudo"] = ':';    
+					}
+					var conditionType:String = arr[++i];
+					var conditionName:String = arr[++i];
+					segmentName = segmentName + conditionCombiners[conditionType] + conditionName;
+                }
+                else if (className == CSSClass.CSSStyleDeclaration)
+                {
+                    var factoryName:int = arr[++i]; // defaultFactory or factory
+                    var defaultFactory:Boolean = factoryName == CSSFactory.DefaultFactory;
+                    /*
+                    if (defaultFactory)
+                    {
+                        mergedStyle = styleManager.getMergedStyleDeclaration(declarationName);
+                        style = new CSSStyleDeclaration(selector, styleManager, mergedStyle == null);
+                    }
+                    else
+                    {
+                        style = styleManager.getStyleDeclaration(declarationName);
+                        if (!style)
+                        {
+                            style = new CSSStyleDeclaration(selector, styleManager, mergedStyle == null);
+                            if (factoryName == CSSFactory.Override)
+                                newSelectors.push(style);
+                        }
+                    }
+                    */
+                    var finalName:String;
+                    var valuesFunction:Function;
+                    var valuesObject:Object;
+                    if (defaultFactory)
+                    {
+                        valuesFunction = factoryFunctions[declarationName];
+                        valuesObject = new valuesFunction();
+                        finalName = fixNames(declarationName);
+                        values[finalName] = valuesObject;
+                    }
+                    else
+                    {
+                        valuesFunction = factoryFunctions[declarationName];
+                        valuesObject = new valuesFunction();
+                        var o:Object = values[declarationName];
+                        finalName = fixNames(declarationName);
+                        if (o == null)
+                            values[finalName] = valuesObject;
+                        else
+                        {
+                            valuesFunction.prototype = o;
+                            values[finalName] = new valuesFunction();
+                        }
+                    }
+                    declarationName = "";
+                }
+            }
+            
+        }
+
+        private function fixNames(s:String):String
+        {
+			if (s == "")
+				return "*";
+			
+            var arr:Array = s.split(" ");
+            var n:int = arr.length;
+            for (var i:int = 0; i < n; i++)
+            {
+                var segmentName:String = arr[i];
+				if (segmentName.charAt(0) == "#" || segmentName.charAt(0) == ".")
+					continue;
+				
+                var c:int = segmentName.lastIndexOf(".");
+                if (c > -1)	// it is 0 for class selectors
+                {
+                    segmentName = segmentName.substr(0, c) + "::" + segmentName.substr(c + 1);
+                    arr[i] = segmentName;
+                }
+            }
+            return arr.join(" ");
+        }
+
+        public var values:Object;
+		
+		public function getValue(thisObject:Object, valueName:String, state:String = null, attrs:Object = null):*
+		{
+            var c:int = valueName.indexOf("-");
+            while (c != -1)
+            {
+                valueName = valueName.substr(0, c) +
+                    valueName.charAt(c + 1).toUpperCase() +
+                    valueName.substr(c + 2);
+                c = valueName.indexOf("-");
+            }
+
+            var value:*;
+			var o:Object;
+			var className:String;
+			var selectorName:String;
+			
+			if ("className" in thisObject)
+			{
+				className = thisObject.className;
+				if (state)
+				{
+					selectorName = className + ":" + state;
+					o = values["." + selectorName];
+					if (o)
+					{
+						value = o[valueName];
+						if (value !== undefined)
+							return value;
+					}
+				}
+				
+				o = values["." + className];
+				if (o)
+				{
+					value = o[valueName];
+					if (value !== undefined)
+						return value;
+				}
+			}
+			
+			className = getQualifiedClassName(thisObject);
+			while (className != "Object")
+			{
+				if (state)
+				{
+					selectorName = className + ":" + state;
+					o = values[selectorName];
+					if (o)
+					{
+						value = o[valueName];
+						if (value !== undefined)
+							return value;
+					}
+				}
+				
+	            o = values[className];
+	            if (o)
+	            {
+	                value = o[valueName];
+	                if (value !== undefined)
+	                    return value;
+	            }
+				className = getQualifiedSuperclassName(thisObject);
+				thisObject = getDefinitionByName(className);
+			}
+            o = values["global"];
+            if (o)
+            {
+    			value = o[valueName];
+    			if (value !== undefined)
+    				return value;
+            }
+			o = values["*"];			
+			if(o)
+			{
+				return o[valueName];
+			}
+			return null;
+		}
+		
+		public function setValue(thisObject:Object, valueName:String, value:*):void
+		{
+            var c:int = valueName.indexOf("-");
+            while (c != -1)
+            {
+                valueName = valueName.substr(0, c) +
+                    valueName.charAt(c + 1).toUpperCase() +
+                    valueName..substr(c + 2);
+                c = valueName.indexOf("-");
+            }
+			var oldValue:Object = values[valueName];
+			if (oldValue != value)
+			{
+				values[valueName] = value;
+				dispatchEvent(new ValueChangeEvent(ValueChangeEvent.VALUE_CHANGE, false, false, oldValue, value));
+			}
+		}
+        
+        public function getInstance(valueName:String):Object
+        {
+            var o:Object = values["global"];
+            if (o is Class)
+            {
+                o[valueName] = new o[valueName]();
+                if (o[valueName] is IDocument)
+                    o[valueName].setDocument(mainClass);
+            }
+            return o[valueName];
+        }
+	}
+}
+
+class CSSClass
+{
+    public static const CSSSelector:int = 0;
+    public static const CSSCondition:int = 1;
+    public static const CSSStyleDeclaration:int = 2;
+}
+
+class CSSFactory
+{
+    public static const DefaultFactory:int = 0;
+    public static const Factory:int = 1;
+    public static const Override:int = 2;
+}
+
+class CSSDataType
+{
+    public static const Native:int = 0;
+    public static const Definition:int = 1;
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleStatesImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleStatesImpl.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleStatesImpl.as
new file mode 100644
index 0000000..1e850a6
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleStatesImpl.as
@@ -0,0 +1,137 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.events.IEventDispatcher;
+    
+    import mx.states.AddItems;
+    import mx.states.SetProperty;
+    import mx.states.State;
+    
+    import org.apache.flex.core.IParent;
+    import org.apache.flex.events.Event;
+    import org.apache.flex.events.EventDispatcher;
+    import org.apache.flex.events.ValueChangeEvent;
+    import org.apache.flex.utils.MXMLDataInterpreter;
+	
+	public class SimpleStatesImpl extends EventDispatcher implements IStatesImpl, IBead
+	{
+		public function SimpleStatesImpl()
+		{
+			super();
+		}
+        
+        private var _strand:IStrand;
+        
+        public function set strand(value:IStrand):void
+        {
+            _strand = value;
+            IEventDispatcher(_strand).addEventListener("currentStateChanged", stateChangeHandler);
+        }		
+     
+        private function stateChangeHandler(event:ValueChangeEvent):void
+        {
+            var doc:Object = event.target;
+            var arr:Array = doc.states;
+            for each (var s:State in arr)
+            {
+                if (s.name == event.oldValue)
+                {
+                    revert(s);
+                    break;
+                }
+            }
+            for each (s in arr)
+            {
+                if (s.name == event.newValue)
+                {
+                    apply(s);
+                    break;
+                }
+            }
+            
+        }
+        
+        private function revert(s:State):void
+        {
+            var arr:Array = s.overrides;
+            for each (var o:Object in arr)
+            {
+                if (o is AddItems)
+                {
+                    var ai:AddItems = AddItems(o);
+                    for each (var item:DisplayObject in ai.items)
+                    {
+                        var parent:IParent = ai.document[ai.destination] as IParent;
+                        parent.removeElement(item);
+                    }
+                    if (parent is IContainer)
+                        IContainer(parent).childrenAdded();
+                }
+                else if (o is SetProperty)
+                {
+                    var sp:SetProperty = SetProperty(o);
+                    sp.document[sp.target][sp.name] = sp.previousValue;
+                }
+            }
+        }
+        
+        private function apply(s:State):void
+        {
+            var arr:Array = s.overrides;
+            for each (var o:Object in arr)
+            {
+                if (o is AddItems)
+                {
+                    var ai:AddItems = AddItems(o);
+                    if (ai.items == null)
+                    {
+                        ai.items = MXMLDataInterpreter.generateMXMLArray(ai.document,
+                                                    null, ai.itemsDescriptor, true);
+                    }
+                    for each (var item:DisplayObject in ai.items)
+                    {
+                        var parent:IParent = ai.document[ai.destination] as IParent;
+                        if (ai.relativeTo != null)
+                        {
+                            var child:Object = ai.document[ai.relativeTo];
+                            var index:int = parent.getElementIndex(child);
+                            if (ai.position == "after")
+                                index++;
+                            parent.addElementAt(item, index);
+                        }
+                        else
+                        {
+                            parent.addElement(item);
+                        }
+                    }
+                    if (parent is IContainer)
+                        IContainer(parent).childrenAdded();
+                }
+                else if (o is SetProperty)
+                {
+                    var sp:SetProperty = SetProperty(o);
+                    sp.previousValue = sp.document[sp.target][sp.name];
+                    sp.document[sp.target][sp.name] = sp.value;
+                }
+            }            
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleValuesImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleValuesImpl.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleValuesImpl.as
new file mode 100644
index 0000000..eda53de
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleValuesImpl.as
@@ -0,0 +1,58 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.events.EventDispatcher;	
+	import org.apache.flex.events.ValueChangeEvent;
+	
+	public class SimpleValuesImpl extends EventDispatcher implements IValuesImpl
+	{
+		public function SimpleValuesImpl()
+		{
+			super();
+		}
+		
+		public var values:Object;
+		
+		public function getValue(thisObject:Object, valueName:String, state:String = null, attrs:Object = null):*
+		{
+			return values[valueName];
+		}
+		
+		public function setValue(thisObject:Object, valueName:String, value:Object):void
+		{
+			var oldValue:Object = values[valueName];
+			if (oldValue != value)
+			{
+				values[valueName] = value;
+				dispatchEvent(new ValueChangeEvent(ValueChangeEvent.VALUE_CHANGE, false, false, oldValue, value));
+			}
+		}
+        
+        public function getInstance(valueName:String):Object
+        {
+            return values[valueName];
+        }
+        
+        public function init(mainClass:Object):void
+        {
+            // do nothing
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/Strand.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/Strand.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/Strand.as
new file mode 100644
index 0000000..daeca4b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/Strand.as
@@ -0,0 +1,109 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.events.Event;
+	import org.apache.flex.events.EventDispatcher;
+
+    /**
+     * Base class for non-display objects implementing a IStrand
+     */
+	public class Strand extends EventDispatcher implements IStrand
+	{
+		public function Strand()
+		{
+			super();
+		}
+		
+		
+		private var _model:IBeadModel;
+		public function get model():IBeadModel
+		{
+            if (_model == null)
+            {
+                // addbead will set _model
+                addBead(new (ValuesManager.valuesImpl.getValue(this, "iBeadModel")) as IBead);
+            }
+			return _model;
+		}
+		public function set model(value:IBeadModel):void
+		{
+			if (_model != value)
+			{
+				addBead(value as IBead);
+				dispatchEvent(new Event("modelChanged"));
+			}
+		}
+		
+		private var _id:String;
+		public function get id():String
+		{
+			return _id;
+		}
+		public function set id(value:String):void
+		{
+			if (_id != value)
+			{
+				_id = value;
+				dispatchEvent(new Event("idChanged"));
+			}
+		}
+				
+		// beads declared in MXML are added to the strand.
+		// from AS, just call addBead()
+		public var beads:Array;
+		
+		private var _beads:Vector.<IBead>;
+		public function addBead(bead:IBead):void
+		{
+			if (!_beads)
+				_beads = new Vector.<IBead>;
+			_beads.push(bead);
+			if (bead is IBeadModel)
+				_model = bead as IBeadModel;
+			bead.strand = this;
+		}
+		
+		public function getBeadByType(classOrInterface:Class):IBead
+		{
+			for each (var bead:IBead in _beads)
+			{
+				if (bead is classOrInterface)
+					return bead;
+			}
+			return null;
+		}
+		
+		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/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIBase.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIBase.as
new file mode 100644
index 0000000..cdd3841
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIBase.as
@@ -0,0 +1,348 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.Sprite;
+	
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	
+	public class UIBase extends Sprite implements IStrand, IEventDispatcher, IUIBase, IParent
+	{
+		public function UIBase()
+		{
+			super();
+		}
+		
+		private var _explicitWidth:Number;
+		public function get explicitWidth():Number
+		{
+			return _explicitWidth;
+		}
+		public function set explicitWidth(value:Number):void
+		{
+			if (_explicitWidth == value)
+				return;
+			
+			// width can be pixel or percent not both
+			if (!isNaN(value))
+				_percentWidth = NaN;
+			
+			_explicitWidth = value;
+			
+			dispatchEvent(new Event("explicitWidthChanged"));
+		}
+		
+		private var _explicitHeight:Number;
+		public function get explicitHeight():Number
+		{
+			return _explicitHeight;
+		}
+		public function set explicitHeight(value:Number):void
+		{
+			if (_explicitHeight == value)
+				return;
+			
+			// height can be pixel or percent not both
+			if (!isNaN(value))
+				_percentHeight = NaN;
+			
+			_explicitHeight = value;
+			
+			dispatchEvent(new Event("explicitHeightChanged"));
+		}
+		
+		private var _percentWidth:Number;
+		public function get percentWidth():Number
+		{
+			return _percentWidth;
+		}
+		public function set percentWidth(value:Number):void
+		{
+			if (_percentWidth == value)
+				return;
+			
+			if (!isNaN(value))
+				_explicitWidth = NaN;
+			
+			_percentWidth = value;
+			
+			dispatchEvent(new Event("percentWidthChanged"));
+		}
+		private var _percentHeight:Number;
+		public function get percentHeight():Number
+		{
+			return _percentHeight;
+		}
+		public function set percentHeight(value:Number):void
+		{
+			if (_percentHeight == value)
+				return;
+			
+			if (!isNaN(value))
+				_explicitHeight = NaN;
+			
+			_percentHeight = value;
+			
+			dispatchEvent(new Event("percentHeightChanged"));
+		}
+		
+		private var _width:Number;
+		override public function get width():Number
+		{
+			if (isNaN(_width))
+            {
+                var value:* = ValuesManager.valuesImpl.getValue(this, "width");
+                if (value === undefined)
+                    return $width;
+				_width = Number(value);
+            }
+			return _width;
+		}
+		override public function set width(value:Number):void
+		{
+			if (explicitWidth != value)
+			{
+				explicitWidth = value;
+			}
+			
+			if (_width != value)
+			{
+				_width = value;
+				dispatchEvent(new Event("widthChanged"));
+			}
+		}
+		protected function get $width():Number
+		{
+			return super.width;
+		}
+		
+		private var _height:Number;
+		override public function get height():Number
+		{
+			if (isNaN(_height))
+            {
+                var value:* = ValuesManager.valuesImpl.getValue(this, "height");
+                if (value === undefined)
+                    return $height;
+  	            _height = Number(value);
+            }
+			return _height;
+		}
+		override public function set height(value:Number):void
+		{
+			if (explicitHeight != value)
+			{
+				explicitHeight = value;
+			}
+			
+			if (_height != value)
+			{
+				_height = value;
+				dispatchEvent(new Event("heightChanged"));
+			}
+		}
+		protected function get $height():Number
+		{
+			return super.height;
+		}
+		
+		private var _model:IBeadModel;
+		public function get model():IBeadModel
+		{
+            if (_model == null)
+            {
+                // addbead will set _model
+                addBead(new (ValuesManager.valuesImpl.getValue(this, "iBeadModel")) as IBead);
+            }
+			return _model;
+		}
+		public function set model(value:IBeadModel):void
+		{
+			if (_model != value)
+			{
+				addBead(value as IBead);
+				dispatchEvent(new Event("modelChanged"));
+			}
+		}
+		
+		private var _id:String;
+		public function get id():String
+		{
+			return _id;
+		}
+		public function set id(value:String):void
+		{
+			if (_id != value)
+			{
+				_id = value;
+				dispatchEvent(new Event("idChanged"));
+			}
+		}
+		
+		private var _className:String;
+		public function get className():String
+		{
+			return _className;
+		}
+		public function set className(value:String):void
+		{
+			if (_className != value)
+			{
+				_className = value;
+				dispatchEvent(new Event("classNameChanged"));
+			}
+		}
+        
+        public function get element():Object
+        {
+            return this;
+        }
+		
+		// beads declared in MXML are added to the strand.
+		// from AS, just call addBead()
+		public var beads:Array;
+		
+		private var _beads:Vector.<IBead>;
+		public function addBead(bead:IBead):void
+		{
+			if (!_beads)
+				_beads = new Vector.<IBead>;
+			_beads.push(bead);
+			if (bead is IBeadModel)
+				_model = bead as IBeadModel;
+			bead.strand = this;
+			
+			if (bead is IBeadView) {
+				IEventDispatcher(this).dispatchEvent(new Event("viewChanged"));
+			}
+		}
+		
+		public function getBeadByType(classOrInterface:Class):IBead
+		{
+			for each (var bead:IBead in _beads)
+			{
+				if (bead is classOrInterface)
+					return bead;
+			}
+			return null;
+		}
+		
+		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;
+		}
+		
+		public function addElement(c:Object):void
+		{
+            if (c is IUIBase)
+            {
+                addChild(IUIBase(c).element as DisplayObject);
+                IUIBase(c).addedToParent();
+            }
+            else
+                addChild(c as DisplayObject);
+		}
+        
+        public function addElementAt(c:Object, index:int):void
+        {
+            if (c is IUIBase)
+            {
+                addChildAt(IUIBase(c).element as DisplayObject, index);
+                IUIBase(c).addedToParent();
+            }
+            else
+                addChildAt(c as DisplayObject, index);
+        }
+        
+        public function getElementIndex(c:Object):int
+        {
+            if (c is IUIBase)
+                return getChildIndex(IUIBase(c).element as DisplayObject);
+            else
+                return getChildIndex(c as DisplayObject);
+        }
+
+        public function removeElement(c:Object):void
+        {
+            if (c is IUIBase)
+                removeChild(IUIBase(c).element as DisplayObject);
+            else
+                removeChild(c as DisplayObject);
+        }
+		
+        public function addedToParent():void
+        {
+            var c:Class;
+            
+            if (getBeadByType(IBeadModel) == null) 
+            {
+                c = ValuesManager.valuesImpl.getValue(this, "iBeadModel") as Class;
+                if (c)
+                {
+                    var model:IBeadModel = new c as IBeadModel;
+                    if (model)
+                        addBead(model);
+                }
+            }
+            if (getBeadByType(IBeadView) == null) 
+            {
+                c = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
+                if (c)
+                {
+                    var view:IBeadView = new c as IBeadView;
+                    if (view)
+                        addBead(view);
+                }
+            }
+            if (getBeadByType(IBeadController) == null) 
+            {
+                c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
+                if (c)
+                {
+                    var controller:IBeadController = new c as IBeadController;
+                    if (controller)
+                        addBead(controller);
+                }
+            }
+        }
+        		
+		public function get measurementBead() : IMeasurementBead
+		{
+			var measurementBead:IMeasurementBead = getBeadByType(IMeasurementBead) as IMeasurementBead;
+			if( measurementBead == null ) {
+				addBead(measurementBead = new (ValuesManager.valuesImpl.getValue(this, "iMeasurementBead")) as IMeasurementBead);
+			}
+			
+			return measurementBead;
+		}
+        
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIButtonBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIButtonBase.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIButtonBase.as
new file mode 100644
index 0000000..529cc60
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIButtonBase.as
@@ -0,0 +1,250 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flash.display.SimpleButton;
+	import flash.events.MouseEvent;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IMeasurementBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IUIBase;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	
+	[Event(name="click", type="org.apache.flex.events.Event")]
+
+	public class UIButtonBase extends SimpleButton implements IStrand, IEventDispatcher, IUIBase
+	{
+		public function UIButtonBase(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
+		{
+			super(upState, overState, downState, hitTestState);
+			// mouseChildren = true;
+			// mouseEnabled = true;
+			addEventListener(MouseEvent.CLICK, clickKiller, false, 9999); 
+		}
+		
+		private function clickKiller(event:flash.events.Event):void
+		{
+			if (event is MouseEvent)
+			{
+				event.stopImmediatePropagation();
+				dispatchEvent(new Event("click"));
+			}
+		}
+		
+		private var _width:Number;
+		override public function get width():Number
+		{
+            if (isNaN(_width))
+            {
+                var value:* = ValuesManager.valuesImpl.getValue(this, "width");
+                if (value === undefined)
+                    return $width;
+                _width = Number(value);
+            }
+            return _width;
+		}
+		override public function set width(value:Number):void
+		{
+			if (_width != value)
+			{
+				_width = value;
+				dispatchEvent(new Event("widthChanged"));
+			}
+		}
+		protected function get $width():Number
+		{
+			return super.width;
+		}
+		
+		private var _height:Number;
+		override public function get height():Number
+		{
+            if (isNaN(_height))
+            {
+                var value:* = ValuesManager.valuesImpl.getValue(this, "height");
+                if (value === undefined)
+                    return $height;
+                _height = Number(value);
+            }
+            return _height;
+		}
+        
+		override public function set height(value:Number):void
+		{
+			if (_height != value)
+			{
+				_height = value;
+				dispatchEvent(new Event("heightChanged"));
+			}
+		}
+		protected function get $height():Number
+		{
+			return super.height;
+		}
+
+        private var _model:IBeadModel;
+        public function get model():IBeadModel
+        {
+            if (_model == null)
+            {
+                // addbead will set _model
+                addBead(new (ValuesManager.valuesImpl.getValue(this, "iBeadModel")) as IBead);
+            }
+            return _model;
+        }
+        public function set model(value:IBeadModel):void
+        {
+            if (_model != value)
+            {
+                addBead(value as IBead);
+                dispatchEvent(new Event("modelChanged"));
+            }
+        }
+		
+		private var _id:String;
+		public function get id():String
+		{
+			return _id;
+		}
+		public function set id(value:String):void
+		{
+			if (_id != value)
+			{
+				_id = value;
+				dispatchEvent(new Event("idChanged"));
+			}
+		}
+
+		private var _className:String;
+		public function get className():String
+		{
+			return _className;
+		}
+		public function set className(value:String):void
+		{
+			if (_className != value)
+			{
+				_className = value;
+				dispatchEvent(new Event("classNameChanged"));
+			}
+		}
+        
+        public function get element():Object
+        {
+            return this;
+        }
+
+        // beads declared in MXML are added to the strand.
+        // from AS, just call addBead()
+        public var beads:Array;
+        
+		private var strand:Vector.<IBead>;
+		public function addBead(bead:IBead):void
+		{
+			if (!strand)
+				strand = new Vector.<IBead>;
+			strand.push(bead);
+			if (bead is IBeadModel)
+				_model = bead as IBeadModel;
+			bead.strand = this;
+		}
+		
+		public function getBeadByType(classOrInterface:Class):IBead
+		{
+			for each (var bead:IBead in strand)
+			{
+				if (bead is classOrInterface)
+					return bead;
+			}
+			return null;
+		}
+		
+		public function removeBead(value:IBead):IBead	
+		{
+			var n:int = strand.length;
+			for (var i:int = 0; i < n; i++)
+			{
+				var bead:IBead = strand[i];
+				if (bead == value)
+				{
+					strand.splice(i, 1);
+					return bead;
+				}
+			}
+			return null;
+		}
+		
+		public function addedToParent():void
+		{
+            var c:Class;
+            
+            if (getBeadByType(IBeadModel) == null) 
+            {
+                c = ValuesManager.valuesImpl.getValue(this, "iBeadModel") as Class;
+                if (c)
+                {
+                    var model:IBeadModel = new c as IBeadModel;
+                    if (model)
+                        addBead(model);
+                }
+            }
+            if (getBeadByType(IBeadView) == null) 
+            {
+                c = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
+                if (c)
+                {
+                    var view:IBeadView = new c as IBeadView;
+                    if (view)
+                        addBead(view);
+                }
+            }
+            if (getBeadByType(IBeadController) == null) 
+            {
+                c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
+                if (c)
+                {
+                    var controller:IBeadController = new c as IBeadController;
+                    if (controller)
+                        addBead(controller);
+                }
+            }
+
+            _width = $width;
+            _height = $height;
+            
+		}
+		
+		public function get measurementBead() : IMeasurementBead
+		{
+			var measurementBead:IMeasurementBead = getBeadByType(IMeasurementBead) as IMeasurementBead;
+			if( measurementBead == null ) {
+				addBead(measurementBead = new (ValuesManager.valuesImpl.getValue(this, "iMeasurementBead")) as IMeasurementBead);
+			}
+			
+			return measurementBead;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIMetrics.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIMetrics.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIMetrics.as
new file mode 100644
index 0000000..65cd424
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIMetrics.as
@@ -0,0 +1,35 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public class UIMetrics
+	{
+		public function UIMetrics()
+		{
+		}
+		
+		public var top:Number;
+		
+		public var left:Number;
+		
+		public var bottom:Number;
+		
+		public var right:Number;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ValuesManager.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ValuesManager.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ValuesManager.as
new file mode 100644
index 0000000..8bc8fa2
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ValuesManager.as
@@ -0,0 +1,38 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public class ValuesManager
+	{
+		public function ValuesManager()
+		{
+		}
+		
+		private static var _valuesImpl:IValuesImpl;
+		
+		public static function get valuesImpl():IValuesImpl
+		{
+			return _valuesImpl;
+		}
+		public static function set valuesImpl(value:IValuesImpl):void
+		{
+			_valuesImpl = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ViewBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ViewBase.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ViewBase.as
new file mode 100644
index 0000000..afeb04d
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ViewBase.as
@@ -0,0 +1,131 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.states.State;
+	
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.ValueChangeEvent;
+	import org.apache.flex.utils.MXMLDataInterpreter;
+
+	[Event(name="initComplete", type="org.apache.flex.events.Event")]
+	[DefaultProperty("mxmlContent")]
+	public class ViewBase extends UIBase implements IPopUpHost
+	{
+		public function ViewBase()
+		{
+			super();
+		}
+		
+		override public function addedToParent():void
+		{
+			// each MXML file can also have styles in fx:Style block
+			ValuesManager.valuesImpl.init(this);
+			
+			MXMLDataInterpreter.generateMXMLProperties(this, mxmlProperties);
+			MXMLDataInterpreter.generateMXMLInstances(this, this, MXMLDescriptor);
+			
+			dispatchEvent(new Event("initComplete"))
+		}
+		
+		public function get MXMLDescriptor():Array
+		{
+			return null;
+		}
+		
+		private var mxmlProperties:Array ;
+		
+		public function generateMXMLAttributes(data:Array):void
+		{
+			mxmlProperties = data;
+		}
+		
+		public var mxmlContent:Array;
+		
+		private var _applicationModel:Object;
+		
+		[Bindable("modelChanged")]
+		public function get applicationModel():Object
+		{
+			return _applicationModel;
+		}
+        public function set applicationModel(value:Object):void
+        {
+            _applicationModel = value;
+            dispatchEvent(new Event("modelChanged"));
+        }
+
+        private var _states:Array;
+        
+        public function get states():Array
+        {
+            return _states;
+        }
+        public function set states(value:Array):void
+        {
+            _states = value;
+			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);
+			}
+            
+        }
+        
+        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;
+        
+        public function get currentState():String
+        {
+            return _currentState;   
+        }
+        public function set currentState(value:String):void
+        {
+            var event:ValueChangeEvent = new ValueChangeEvent("currentStateChanged", false, false, _currentState, value)
+            _currentState = value;
+            dispatchEvent(event);
+        }
+        
+        private var _transitions:Array;
+        
+        public function get transitions():Array
+        {
+            return _transitions;   
+        }
+        public function set transitions(value:Array):void
+        {
+            _transitions = value;   
+        }
+
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ViewBaseDataBinding.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ViewBaseDataBinding.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ViewBaseDataBinding.as
new file mode 100644
index 0000000..0bff3a4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ViewBaseDataBinding.as
@@ -0,0 +1,266 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.binding.ConstantBinding;
+    import org.apache.flex.binding.GenericBinding;
+    import org.apache.flex.binding.PropertyWatcher;
+    import org.apache.flex.binding.SimpleBinding;
+    import org.apache.flex.binding.WatcherBase;
+    import org.apache.flex.core.IBead;
+    import org.apache.flex.core.IStrand;
+    import org.apache.flex.events.Event;
+    import org.apache.flex.events.IEventDispatcher;
+    
+	public class ViewBaseDataBinding implements IBead
+	{
+		public function ViewBaseDataBinding()
+		{
+			super();
+		}
+        
+        private var _strand:IStrand;
+        public function set strand(value:IStrand):void
+        {
+            _strand = value;
+            IEventDispatcher(_strand).addEventListener("initComplete", initCompleteHandler);
+        }    
+
+        private function initCompleteHandler(event:Event):void
+        {
+            var fieldWatcher:Object;
+            var sb:SimpleBinding;
+            if (!("_bindings" in _strand))
+                return;
+            var bindingData:Array = _strand["_bindings"];
+            var n:int = bindingData[0];
+            var bindings:Array = [];
+            var i:int;
+            var index:int = 1;
+            for (i = 0; i < n; i++)
+            {
+                var binding:Object = {};
+                binding.source = bindingData[index++];
+				binding.destFunc = bindingData[index++];
+                binding.destination = bindingData[index++];
+                bindings.push(binding);
+            }
+            var watchers:Object = decodeWatcher(bindingData.slice(index));
+            for (i = 0; i < n; i++)
+            {
+                    binding = bindings[i];
+                if (binding.source is Array)
+                {
+                    if (binding.source[0] == "applicationModel")
+                    {
+                        if (binding.source.length == 2 && binding.destination.length == 2)
+                        {
+                            var destination:IStrand;
+                            // can be simplebinding or constantbinding
+                            var modelWatcher:Object = watchers.watcherMap["applicationModel"];
+                            fieldWatcher = modelWatcher.children.watcherMap[binding.source[1]];
+                            if (fieldWatcher.eventNames is String)
+                            {
+                                sb = new SimpleBinding();
+                                sb.destinationPropertyName = binding.destination[1];
+                                sb.eventName = fieldWatcher.eventNames as String;
+                                sb.sourceID = binding.source[0];
+                                sb.sourcePropertyName = binding.source[1];
+                                sb.setDocument(_strand);
+                                destination = _strand[binding.destination[0]] as IStrand;
+                                if (destination)
+                                    destination.addBead(sb);
+                                else
+                                {
+                                    deferredBindings[binding.destination[0]] = sb;
+                                    IEventDispatcher(_strand).addEventListener("valueChange", deferredBindingsHandler);
+                                }
+                            }
+                            else if (fieldWatcher.eventNames == null)
+                            {
+                                var cb:ConstantBinding = new ConstantBinding();
+                                cb.destinationPropertyName = binding.destination[1];
+                                cb.sourceID = binding.source[0];
+                                cb.sourcePropertyName = binding.source[1];
+                                cb.setDocument(_strand);
+                                destination = _strand[binding.destination[0]] as IStrand;
+                                if (destination)
+                                    destination.addBead(cb);
+                                else
+                                {
+                                    deferredBindings[binding.destination[0]] = cb;
+                                    IEventDispatcher(_strand).addEventListener("valueChange", deferredBindingsHandler);
+                                }
+                            }
+                        }
+                    }
+                }
+                else if (binding.source is String)
+                {
+                    fieldWatcher = watchers.watcherMap[binding.source];
+                    if (fieldWatcher.eventNames is String)
+                    {
+                        sb = new SimpleBinding();
+                        sb.destinationPropertyName = binding.destination[1];
+                        sb.eventName = fieldWatcher.eventNames as String;
+                        sb.sourcePropertyName = binding.source;
+                        sb.setDocument(_strand);
+                        destination = _strand[binding.destination[0]] as IStrand;
+                        if (destination)
+                            destination.addBead(sb);
+                        else
+                        {
+                            deferredBindings[binding.destination[0]] = sb;
+                            IEventDispatcher(_strand).addEventListener("valueChange", deferredBindingsHandler);
+                        }
+                    }
+                }
+                else
+                {
+                    makeGenericBinding(binding, i, watchers);
+                }
+            }
+        }
+
+        private function makeGenericBinding(binding:Object, index:int, watchers:Object):void
+        {
+            var gb:GenericBinding = new GenericBinding();
+            gb.setDocument(_strand);
+            gb.destinationData = binding.destination;
+			gb.destinationFunction = binding.destFunc;
+            gb.source = binding.source;
+            setupWatchers(gb, index, watchers.watchers, null);
+        }
+        
+        private function setupWatchers(gb:GenericBinding, index:int, watchers:Array, parentWatcher:WatcherBase):void
+        {
+            var n:int = watchers.length;
+            for (var i:int = 0; i < n; i++)
+            {
+                var watcher:Object = watchers[i];
+                if (watcher.bindings.indexOf(index) != -1)
+                {
+                    var type:String = watcher.type;
+                    switch (type)
+                    {
+                        case "property":
+                        {
+                            var pw:PropertyWatcher = new PropertyWatcher(this, 
+                                        watcher.propertyName, 
+                                        watcher.eventNames,
+                                        watcher.getterFunction);
+                            watcher.watcher = pw;
+                            if (parentWatcher)
+                                pw.parentChanged(parentWatcher.value);
+                            else
+                                pw.parentChanged(_strand);
+                            if (parentWatcher)
+                                parentWatcher.addChild(pw);
+                            if (watcher.children == null)
+                                pw.addBinding(gb);
+                            break;
+                        }
+                    }
+                    if (watcher.children)
+                    {
+                        setupWatchers(gb, index, watcher.children, watcher.watcher);
+                    }
+                }
+            }
+        }
+        
+        private function decodeWatcher(bindingData:Array):Object
+        {
+            var watcherMap:Object = {};
+            var watchers:Array = [];
+            var n:int = bindingData.length;
+            var index:int = 0;
+            var watcherData:Object;
+            while (index < n)
+            {
+                var watcherIndex:int = bindingData[index++];
+                var type:int = bindingData[index++];
+                switch (type)
+                {
+                    case 0:
+                    {
+                        watcherData = { type: "function" };
+                        watcherData.functionName = bindingData[index++];
+						watcherData.paramFunction = bindingData[index++];
+                        watcherData.eventNames = bindingData[index++];
+                        watcherData.bindings = bindingData[index++];
+                        break;
+                    }
+                    case 1:
+					{
+						watcherData = { type: "static" };
+						watcherData.propertyName = bindingData[index++];
+						watcherData.eventNames = bindingData[index++];
+						watcherData.bindings = bindingData[index++];
+						watcherData.getterFunction = bindingData[index++];
+						watcherData.parentObj = bindingData[index++];
+						watcherMap[watcherData.propertyName] = watcherData;
+						break;
+					}
+                    case 2:
+                    {
+                        watcherData = { type: "property" };
+                        watcherData.propertyName = bindingData[index++];
+                        watcherData.eventNames = bindingData[index++];
+                        watcherData.bindings = bindingData[index++];
+                        watcherData.getterFunction = bindingData[index++];
+                        watcherMap[watcherData.propertyName] = watcherData;
+                        break;
+                    }
+                    case 3:
+                    {
+                        watcherData = { type: "xml" };
+                        watcherData.propertyName = bindingData[index++];
+                        watcherData.bindings = bindingData[index++];
+                        watcherMap[watcherData.propertyName] = watcherData;
+                        break;
+                    }
+                }
+                watcherData.children = bindingData[index++];
+                if (watcherData.children != null)
+                {
+                    watcherData.children = decodeWatcher(watcherData.children);
+                }
+                watcherData.index = watcherIndex;
+                watchers.push(watcherData);
+            }            
+            return { watchers: watchers, watcherMap: watcherMap };
+        }
+        
+        private var deferredBindings:Object = {};
+        private function deferredBindingsHandler(event:Event):void
+        {
+            for (var p:String in deferredBindings)
+            {
+                if (_strand[p] != null)
+                {
+                    var destination:IStrand = _strand[p] as IStrand;
+                    destination.addBead(deferredBindings[p]);
+                    delete deferredBindings[p];
+                }
+            }
+        }
+        
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/Application.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/Application.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/Application.as
new file mode 100644
index 0000000..2214325
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/Application.as
@@ -0,0 +1,140 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.createjs
+{
+	import flash.display.DisplayObject;
+	import flash.display.Sprite;
+	import flash.display.StageAlign;
+	import flash.display.StageScaleMode;
+	import flash.events.IOErrorEvent;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IFlexInfo;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IUIBase;
+	import org.apache.flex.core.IValuesImpl;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.createjs.core.ViewBase;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.utils.MXMLDataInterpreter;
+	
+	//--------------------------------------
+	//  Events
+	//--------------------------------------
+	
+	/**
+	 *  Dispatched at startup.
+	 */
+	[Event(name="initialize", type="org.apache.flex.events.Event")]
+	
+	public class Application extends Sprite implements IStrand, IFlexInfo
+	{
+		public function Application()
+		{
+			super();
+			if (stage)
+			{
+				stage.align = StageAlign.TOP_LEFT;
+				stage.scaleMode = StageScaleMode.NO_SCALE;
+			}
+			
+			loaderInfo.addEventListener(flash.events.Event.INIT, initHandler);
+		}
+		
+		private function initHandler(event:flash.events.Event):void
+		{
+			MXMLDataInterpreter.generateMXMLProperties(this, MXMLProperties);
+			
+			ValuesManager.valuesImpl = valuesImpl;
+			ValuesManager.valuesImpl.init(this);
+			
+			dispatchEvent(new Event("initialize"));
+			
+			addElement(initialView);
+			initialView.initUI(model);
+			dispatchEvent(new Event("viewChanged"));
+		}
+		
+		public var valuesImpl:IValuesImpl;
+		
+		public var initialView:ViewBase;
+		
+		public var model:Object;
+		
+		public var controller:Object;
+		
+		public function get MXMLDescriptor():Array
+		{
+			return null;
+		}
+		
+		public function get MXMLProperties():Array
+		{
+			return null;
+		}
+		
+		// beads declared in MXML are added to the strand.
+		// from AS, just call addBead()
+		public var beads:Array;
+		
+		private var _beads:Vector.<IBead>;
+		public function addBead(bead:IBead):void
+		{
+			if (!_beads)
+				_beads = new Vector.<IBead>;
+			_beads.push(bead);
+			bead.strand = this;
+		}
+		
+		public function getBeadByType(classOrInterface:Class):IBead
+		{
+			for each (var bead:IBead in _beads)
+			{
+				if (bead is classOrInterface)
+					return bead;
+			}
+			return null;
+		}
+		
+		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;
+		}
+		
+		public function get info():Object
+		{
+			return {};           
+		}
+        
+        public function addElement(c:Object):void
+        {
+            addChild(c as DisplayObject);
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/core/UIBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/core/UIBase.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/core/UIBase.as
new file mode 100644
index 0000000..d0761a0
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/core/UIBase.as
@@ -0,0 +1,141 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.createjs.core
+{
+	import flash.display.DisplayObjectContainer;
+	import flash.display.Sprite;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	
+	public class UIBase extends Sprite implements IStrand, IEventDispatcher
+	{
+		public function UIBase()
+		{
+			super();
+		}
+		
+		private var _width:Number = 0;
+		override public function get width():Number
+		{
+			return _width;
+		}
+		override public function set width(value:Number):void
+		{
+			if (_width != value)
+			{
+				_width = value;
+				dispatchEvent(new Event("widthChanged"));
+			}
+		}
+		protected function get $width():Number
+		{
+			return super.width;
+		}
+		
+		private var _height:Number = 0;
+		override public function get height():Number
+		{
+			return _height;
+		}
+		override public function set height(value:Number):void
+		{
+			if (_height != value)
+			{
+				_height = value;
+				dispatchEvent(new Event("heightChanged"));
+			}
+		}
+		protected function get $height():Number
+		{
+			return super.height;
+		}
+		
+		private var _model:IBeadModel;
+		public function get model():IBeadModel
+		{
+			return _model;
+		}
+		public function set model(value:IBeadModel):void
+		{
+			if (_model != value)
+			{
+				addBead(value as IBead);
+				dispatchEvent(new Event("modelChanged"));
+			}
+		}
+		
+		private var _id:String;
+		public function get id():String
+		{
+			return _id;
+		}
+		public function set id(value:String):void
+		{
+			if (_id != value)
+			{
+				_id = value;
+				dispatchEvent(new Event("idChanged"));
+			}
+		}
+		
+		// beads declared in MXML are added to the strand.
+		// from AS, just call addBead()
+		public var beads:Array;
+		
+		private var _beads:Vector.<IBead>;
+		public function addBead(bead:IBead):void
+		{
+			if (!_beads)
+				_beads = new Vector.<IBead>;
+			_beads.push(bead);
+			if (bead is IBeadModel)
+				_model = bead as IBeadModel;
+			bead.strand = this;
+		}
+		
+		public function getBeadByType(classOrInterface:Class):IBead
+		{
+			for each (var bead:IBead in _beads)
+			{
+				if (bead is classOrInterface)
+					return bead;
+			}
+			return null;
+		}
+		
+		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/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/core/ViewBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/core/ViewBase.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/core/ViewBase.as
new file mode 100644
index 0000000..195821f
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/core/ViewBase.as
@@ -0,0 +1,86 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.createjs.core
+{
+	import flash.display.DisplayObject;
+	
+	import org.apache.flex.core.IParent;
+	import org.apache.flex.core.IUIBase;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.utils.MXMLDataInterpreter;
+	
+	[DefaultProperty("mxmlContent")]
+	public class ViewBase extends UIBase implements IParent
+	{
+		public function ViewBase()
+		{
+			super();
+		}
+		
+		public function initUI(model:Object):void
+		{
+			_applicationModel = model;
+			dispatchEvent(new Event("modelChanged"));
+			MXMLDataInterpreter.generateMXMLProperties(this, MXMLProperties);
+			MXMLDataInterpreter.generateMXMLInstances(this, this, MXMLDescriptor);
+		}
+		
+		public function get MXMLDescriptor():Array
+		{
+			return null;
+		}
+		
+		public function get MXMLProperties():Array
+		{
+			return null;
+		}
+		
+		public var mxmlContent:Array;
+		
+		private var _applicationModel:Object;
+		
+		[Bindable("modelChanged")]
+		public function get applicationModel():Object
+		{
+			return _applicationModel;
+		}
+        
+        public function addElement(c:Object):void
+        {
+            addChild(c as DisplayObject);
+        }
+
+        public function addElementAt(c:Object, index:int):void
+        {
+            addChildAt(c as DisplayObject, index);
+        }
+        
+        public function getElementIndex(c:Object):int
+        {
+            return getChildIndex(c as DisplayObject);
+        }
+        
+        public function removeElement(c:Object):void
+        {
+            removeChild(c as DisplayObject);
+        }
+        
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/staticControls/CheckBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/staticControls/CheckBox.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/staticControls/CheckBox.as
new file mode 100644
index 0000000..b4dc469
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/staticControls/CheckBox.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.createjs.staticControls
+{
+	import org.apache.flex.html.staticControls.CheckBox;
+	
+	public class CheckBox extends org.apache.flex.html.staticControls.CheckBox
+	{	
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/staticControls/Label.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/staticControls/Label.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/staticControls/Label.as
new file mode 100644
index 0000000..fb8fb7e
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/staticControls/Label.as
@@ -0,0 +1,27 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.createjs.staticControls
+{
+	import org.apache.flex.html.staticControls.Label;
+	
+	public class Label extends org.apache.flex.html.staticControls.Label
+	{
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/staticControls/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/staticControls/TextButton.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/staticControls/TextButton.as
new file mode 100644
index 0000000..6764b22
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/staticControls/TextButton.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 org.apache.flex.createjs.staticControls
+{
+	import flash.display.DisplayObject;
+
+	import org.apache.flex.core.ITextModel;
+	import org.apache.flex.html.staticControls.Button;
+	
+	public class TextButton extends Button
+	{
+		public function TextButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
+		{
+			super(upState, overState, downState, hitTestState);
+		}
+		
+		public function get text():String
+		{
+			return ITextModel(model).text;
+		}
+		public function set text(value:String):void
+		{
+			ITextModel(model).text = value;
+		}
+		
+		public function get html():String
+		{
+			return ITextModel(model).html;
+		}
+		public function set html(value:String):void
+		{
+			ITextModel(model).html = value;
+		}
+				
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/data/ICollection.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/data/ICollection.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/data/ICollection.as
new file mode 100644
index 0000000..b1d706f
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/data/ICollection.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.data
+{
+	public interface ICollection
+	{
+		function getItemAt(index:int):Object
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/data/IStringCollection.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/data/IStringCollection.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/data/IStringCollection.as
new file mode 100644
index 0000000..b978a58
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/data/IStringCollection.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.data
+{
+	public interface IStringCollection
+	{
+		function getItemAt(index:int):String
+	}
+}
\ No newline at end of file


[02/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/DropDownListList.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/DropDownListList.as b/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/DropDownListList.as
deleted file mode 100644
index 04f9f7c..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/DropDownListList.as
+++ /dev/null
@@ -1,44 +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.staticControls.supportClasses
-{
-    import org.apache.flex.core.IPopUp;
-    import org.apache.flex.html.staticControls.List;
-    import org.apache.flex.html.staticControls.SimpleList;
-    import org.apache.flex.html.staticControls.beads.SolidBackgroundBead;
-    
-    [Event(name="change", type="org.apache.flex.events.Event")]
-    
-	public class DropDownListList extends SimpleList implements IPopUp
-	{
-		public function DropDownListList()
-		{
-			super();
-		}
-		
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-			
-			var bb:SolidBackgroundBead = new SolidBackgroundBead();
-			bb.backgroundColor = 0xffffff;
-			addBead(bb);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/NonVirtualDataGroup.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/NonVirtualDataGroup.as b/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/NonVirtualDataGroup.as
deleted file mode 100644
index 133ed18..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/NonVirtualDataGroup.as
+++ /dev/null
@@ -1,42 +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.staticControls.supportClasses
-{	
-    import org.apache.flex.core.IItemRenderer;
-    import org.apache.flex.core.IItemRendererParent;
-    import org.apache.flex.core.UIBase;
-
-	public class NonVirtualDataGroup extends UIBase implements IItemRendererParent
-	{
-		public function NonVirtualDataGroup()
-		{
-			super();
-		}
-
-        public function getItemRendererForIndex(index:int):IItemRenderer
-        {
-            return getChildAt(index) as IItemRenderer;
-        }
-		
-		public function removeAllElements():void
-		{
-			this.removeChildren(0);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/ScrollBar.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/ScrollBar.as b/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/ScrollBar.as
deleted file mode 100644
index 2b33d08..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/ScrollBar.as
+++ /dev/null
@@ -1,30 +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.staticControls.supportClasses
-{
-	import org.apache.flex.core.UIBase;
-	
-	public class ScrollBar extends UIBase
-	{
-		public function ScrollBar()
-		{
-			super();
-		}		
-   	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as b/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as
deleted file mode 100644
index 1cef4c4..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as
+++ /dev/null
@@ -1,75 +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.staticControls.supportClasses
-{
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.html.staticControls.beads.ITextItemRenderer;
-
-	public class StringItemRenderer extends UIItemRendererBase implements ITextItemRenderer
-	{
-		public function StringItemRenderer()
-		{
-			super();
-			
-			textField = new CSSTextField();
-			textField.type = TextFieldType.DYNAMIC;
-			textField.selectable = false;
-		}
-		
-		public var textField:CSSTextField;
-		
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-			
-			addChild(textField);
-
-			adjustSize();
-		}
-		
-		override public function adjustSize():void
-		{
-			textField.x = 0;
-			textField.y = 0;
-			textField.width = this.width;
-			textField.height = this.height;
-		}
-		
-		public function get text():String
-		{
-			return textField.text;
-		}
-		
-		public function set text(value:String):void
-		{
-			textField.text = value;
-		}
-		
-		override public function updateRenderer():void
-		{
-			super.updateRenderer();
-			
-			textField.background = (down || selected || hovered);
-			textField.backgroundColor = backgroundColor;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/TextFieldItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/TextFieldItemRenderer.as b/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/TextFieldItemRenderer.as
deleted file mode 100644
index 6288951..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/TextFieldItemRenderer.as
+++ /dev/null
@@ -1,230 +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.staticControls.supportClasses
-{
-    import flash.text.TextFieldType;
-    
-    import org.apache.flex.core.CSSTextField;
-    import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IBeadController;
-    import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IUIBase;
-    import org.apache.flex.core.UIBase;
-    import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.Event;
-    import org.apache.flex.html.staticControls.beads.ITextItemRenderer;
-	
-	public class TextFieldItemRenderer extends CSSTextField implements ITextItemRenderer, IStrand, IUIBase
-	{
-		public function TextFieldItemRenderer()
-		{
-			super();
-            type = TextFieldType.DYNAMIC;
-            selectable = false;
-		}
-        
-        public var highlightColor:uint = 0xCEDBEF;
-        public var selectedColor:uint = 0xA8C6EE;
-        public var downColor:uint = 0x808080;
-
-        private var _width:Number;
-        override public function get width():Number
-        {
-            if (isNaN(_width))
-            {
-                var value:* = ValuesManager.valuesImpl.getValue(this, "width");
-                if (value === undefined)
-                    return $width;
-                _width = Number(value);
-                super.width = value;
-            }
-            return _width;
-        }
-        override public function set width(value:Number):void
-        {
-            if (_width != value)
-            {
-                _width = value;
-                super.width = value;
-                dispatchEvent(new Event("widthChanged"));
-            }
-        }
-        protected function get $width():Number
-        {
-            return super.width;
-        }
-        
-        private var _height:Number;
-        override public function get height():Number
-        {
-            if (isNaN(_height))
-            {
-                var value:* = ValuesManager.valuesImpl.getValue(this, "height");
-                if (value === undefined)
-                    return $height;
-                _height = Number(value);
-                super.height = value;
-            }
-            return _height;
-        }
-        override public function set height(value:Number):void
-        {
-            if (_height != value)
-            {
-                _height = value;
-                super.height = value;
-                dispatchEvent(new Event("heightChanged"));
-            }
-        }
-        protected function get $height():Number
-        {
-            return super.height;
-        }
-
-        public function get data():Object
-        {
-            return text;
-        }
-        public function set data(value:Object):void
-        {
-            text = String(value);
-        }
-        
-        private var _index:int;
-        
-        public function get index():int
-        {
-            return _index;
-        }
-        public function set index(value:int):void
-        {
-            _index = value;
-        }
-        
-        private var _hovered:Boolean;
-        
-        public function get hovered():Boolean
-        {
-            return _hovered;
-        }
-        public function set hovered(value:Boolean):void
-        {
-            _hovered = value;
-            updateRenderer();
-        }
-        
-        private var _selected:Boolean;
-        
-        public function get selected():Boolean
-        {
-            return _selected;
-        }
-        public function set selected(value:Boolean):void
-        {
-            _selected = value;
-            updateRenderer();
-        }
-
-        private var _down:Boolean;
-        
-        public function get down():Boolean
-        {
-            return _down;
-        }
-        public function set down(value:Boolean):void
-        {
-            _down = value;
-            updateRenderer();
-        }
-        
-        public function updateRenderer():void
-        {
-            background = (down || selected || hovered);
-            if (down)
-                backgroundColor = downColor;
-            else if (hovered)
-                backgroundColor = highlightColor;
-            else if (selected)
-                backgroundColor = selectedColor;
-        }
-        
-        public function get element():Object
-        {
-            return this;
-        }
-
-        // beads declared in MXML are added to the strand.
-        // from AS, just call addBead()
-        public var beads:Array;
-        
-        private var _beads:Vector.<IBead>;
-        public function addBead(bead:IBead):void
-        {
-            if (!_beads)
-                _beads = new Vector.<IBead>;
-            _beads.push(bead);
-            bead.strand = this;
-        }
-        
-        public function getBeadByType(classOrInterface:Class):IBead
-        {
-            for each (var bead:IBead in _beads)
-            {
-                if (bead is classOrInterface)
-                    return bead;
-            }
-            return null;
-        }
-        
-        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;
-        }
-        
-        public function addedToParent():void
-        {
-            var c:Class;
-
-            // renderer has a default model (the 'data' property)
-            // and it is essentially a view of that model, so it
-            // only needs an assignable controller
-            
-            if (getBeadByType(IBeadController) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
-                if (c)
-                {
-                    var controller:IBeadController = new c as IBeadController;
-                    if (controller)
-                        addBead(controller);
-                }
-            }
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/UIItemRendererBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/UIItemRendererBase.as b/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/UIItemRendererBase.as
deleted file mode 100644
index 5936387..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/UIItemRendererBase.as
+++ /dev/null
@@ -1,123 +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.staticControls.supportClasses
-{
-	import org.apache.flex.core.IItemRenderer;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	
-	public class UIItemRendererBase extends UIBase implements IItemRenderer
-	{
-		public function UIItemRendererBase()
-		{
-		}
-		
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-			
-			// very common for item renderers to be resized by their containers,
-			addEventListener("widthChanged", sizeChangeHandler);
-			addEventListener("heightChanged", sizeChangeHandler);
-		}
-		
-		public var backgroundColor:uint = 0xFFFFFF;
-		public var highlightColor:uint = 0xCEDBEF;
-		public var selectedColor:uint = 0xA8C6EE;
-		public var downColor:uint = 0x808080;
-		
-		private var _data:Object;
-		
-		public function get data():Object
-		{
-			return _data;
-		}
-		public function set data(value:Object):void
-		{
-			_data = value;
-		}
-		
-		private var _index:int;
-		
-		public function get index():int
-		{
-			return _index;
-		}
-		public function set index(value:int):void
-		{
-			_index = value;
-		}
-		
-		private var _hovered:Boolean;
-		
-		public function get hovered():Boolean
-		{
-			return _hovered;
-		}
-		public function set hovered(value:Boolean):void
-		{
-			_hovered = value;
-			updateRenderer();
-		}
-		
-		private var _selected:Boolean;
-		
-		public function get selected():Boolean
-		{
-			return _selected;
-		}
-		public function set selected(value:Boolean):void
-		{
-			_selected = value;
-			updateRenderer();
-		}
-		
-		private var _down:Boolean;
-		
-		public function get down():Boolean
-		{
-			return _down;
-		}
-		public function set down(value:Boolean):void
-		{
-			_down = value;
-			updateRenderer();
-		}
-		
-		public function updateRenderer():void
-		{
-			if (down)
-				backgroundColor = downColor;
-			else if (hovered)
-				backgroundColor = highlightColor;
-			else if (selected)
-				backgroundColor = selectedColor;
-		}
-		
-		private function sizeChangeHandler(event:Event):void
-		{
-			adjustSize();
-		}
-		
-		public function adjustSize():void
-		{
-			// handle in subclass
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html5/staticControls/Button.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html5/staticControls/Button.as b/frameworks/as/src/org/apache/flex/html5/staticControls/Button.as
deleted file mode 100644
index 4b7731d..0000000
--- a/frameworks/as/src/org/apache/flex/html5/staticControls/Button.as
+++ /dev/null
@@ -1,26 +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.html5.staticControls
-{
-	import org.apache.flex.html.staticControls.Button;
-	
-	public class Button extends org.apache.flex.html.staticControls.Button
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html5/staticControls/CheckBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html5/staticControls/CheckBox.as b/frameworks/as/src/org/apache/flex/html5/staticControls/CheckBox.as
deleted file mode 100644
index ec92d72..0000000
--- a/frameworks/as/src/org/apache/flex/html5/staticControls/CheckBox.as
+++ /dev/null
@@ -1,26 +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.html5.staticControls
-{
-	import org.apache.flex.html.staticControls.CheckBox;
-	
-	public class CheckBox extends org.apache.flex.html.staticControls.CheckBox 
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html5/staticControls/ComboBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html5/staticControls/ComboBox.as b/frameworks/as/src/org/apache/flex/html5/staticControls/ComboBox.as
deleted file mode 100644
index ebeea35..0000000
--- a/frameworks/as/src/org/apache/flex/html5/staticControls/ComboBox.as
+++ /dev/null
@@ -1,26 +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.html5.staticControls
-{
-	import org.apache.flex.html.staticControls.ComboBox;
-	
-	public class ComboBox extends org.apache.flex.html.staticControls.ComboBox
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html5/staticControls/DropDownList.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html5/staticControls/DropDownList.as b/frameworks/as/src/org/apache/flex/html5/staticControls/DropDownList.as
deleted file mode 100644
index 14aa0fe..0000000
--- a/frameworks/as/src/org/apache/flex/html5/staticControls/DropDownList.as
+++ /dev/null
@@ -1,26 +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.html5.staticControls
-{
-    import org.apache.flex.html.staticControls.DropDownList;
-    
-    public class DropDownList extends org.apache.flex.html.staticControls.DropDownList
-	{
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html5/staticControls/Label.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html5/staticControls/Label.as b/frameworks/as/src/org/apache/flex/html5/staticControls/Label.as
deleted file mode 100644
index 8a8ad99..0000000
--- a/frameworks/as/src/org/apache/flex/html5/staticControls/Label.as
+++ /dev/null
@@ -1,33 +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.html5.staticControls
-{
-	import org.apache.flex.html.staticControls.Label;
-	
-	/**
-	 *  Label probably should extend TextField directly,
-	 *  but the player's APIs for TextLine do not allow
-	 *  direct instantiation, and we might want to allow
-	 *  Labels to be declared and have their actual
-	 *  view be swapped out.
-	 */
-	public class Label extends org.apache.flex.html.staticControls.Label
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html5/staticControls/List.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html5/staticControls/List.as b/frameworks/as/src/org/apache/flex/html5/staticControls/List.as
deleted file mode 100644
index 86e8ef8..0000000
--- a/frameworks/as/src/org/apache/flex/html5/staticControls/List.as
+++ /dev/null
@@ -1,33 +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.html5.staticControls
-{
-	import org.apache.flex.html.staticControls.List;
-	
-    /**
-	 *  Label probably should extend TextField directly,
-	 *  but the player's APIs for TextLine do not allow
-	 *  direct instantiation, and we might want to allow
-	 *  Labels to be declared and have their actual
-	 *  view be swapped out.
-	 */
-	public class List extends org.apache.flex.html.staticControls.List
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html5/staticControls/RadioButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html5/staticControls/RadioButton.as b/frameworks/as/src/org/apache/flex/html5/staticControls/RadioButton.as
deleted file mode 100644
index 78f117b..0000000
--- a/frameworks/as/src/org/apache/flex/html5/staticControls/RadioButton.as
+++ /dev/null
@@ -1,26 +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.html5.staticControls
-{
-	import org.apache.flex.html.staticControls.RadioButton;
-	
-	public class RadioButton extends org.apache.flex.html.staticControls.RadioButton
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html5/staticControls/TextArea.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html5/staticControls/TextArea.as b/frameworks/as/src/org/apache/flex/html5/staticControls/TextArea.as
deleted file mode 100644
index a2c4f0b..0000000
--- a/frameworks/as/src/org/apache/flex/html5/staticControls/TextArea.as
+++ /dev/null
@@ -1,26 +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.html5.staticControls
-{
-	import org.apache.flex.html.staticControls.TextArea;
-
-	public class TextArea extends org.apache.flex.html.staticControls.TextArea
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html5/staticControls/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html5/staticControls/TextButton.as b/frameworks/as/src/org/apache/flex/html5/staticControls/TextButton.as
deleted file mode 100644
index 6c87ea4..0000000
--- a/frameworks/as/src/org/apache/flex/html5/staticControls/TextButton.as
+++ /dev/null
@@ -1,32 +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.html5.staticControls
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.html.staticControls.TextButton;
-	
-	public class TextButton extends org.apache.flex.html.staticControls.TextButton
-	{
-		public function TextButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
-		{
-			super(upState, overState, downState, hitTestState);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html5/staticControls/TextInput.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html5/staticControls/TextInput.as b/frameworks/as/src/org/apache/flex/html5/staticControls/TextInput.as
deleted file mode 100644
index adb723f..0000000
--- a/frameworks/as/src/org/apache/flex/html5/staticControls/TextInput.as
+++ /dev/null
@@ -1,25 +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.html5.staticControls
-{
-	import org.apache.flex.html.staticControls.TextInput;
-	
-	public class TextInput extends org.apache.flex.html.staticControls.TextInput
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/jquery/Application.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/jquery/Application.as b/frameworks/as/src/org/apache/flex/jquery/Application.as
deleted file mode 100644
index e2a3113..0000000
--- a/frameworks/as/src/org/apache/flex/jquery/Application.as
+++ /dev/null
@@ -1,31 +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.jquery
-{
-    import org.apache.flex.core.Application;
-	import org.apache.flex.core.IFlexInfo;
-	
-	public class Application extends org.apache.flex.core.Application implements IFlexInfo
-	{
-		public function Application()
-		{
-			super();
-		}
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/jquery/staticControls/CheckBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/jquery/staticControls/CheckBox.as b/frameworks/as/src/org/apache/flex/jquery/staticControls/CheckBox.as
deleted file mode 100644
index a2f3a01..0000000
--- a/frameworks/as/src/org/apache/flex/jquery/staticControls/CheckBox.as
+++ /dev/null
@@ -1,26 +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.jquery.staticControls
-{
-	import org.apache.flex.html.staticControls.CheckBox;
-	
-	public class CheckBox extends org.apache.flex.html.staticControls.CheckBox 
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/jquery/staticControls/RadioButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/jquery/staticControls/RadioButton.as b/frameworks/as/src/org/apache/flex/jquery/staticControls/RadioButton.as
deleted file mode 100644
index a94739a..0000000
--- a/frameworks/as/src/org/apache/flex/jquery/staticControls/RadioButton.as
+++ /dev/null
@@ -1,26 +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.jquery.staticControls
-{
-	import org.apache.flex.html.staticControls.RadioButton;
-	
-	public class RadioButton extends org.apache.flex.html.staticControls.RadioButton
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/jquery/staticControls/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/jquery/staticControls/TextButton.as b/frameworks/as/src/org/apache/flex/jquery/staticControls/TextButton.as
deleted file mode 100644
index c2632f3..0000000
--- a/frameworks/as/src/org/apache/flex/jquery/staticControls/TextButton.as
+++ /dev/null
@@ -1,32 +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.jquery.staticControls
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.html.staticControls.TextButton;
-	
-	public class TextButton extends org.apache.flex.html.staticControls.TextButton
-	{
-		public function TextButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
-		{
-			super(upState, overState, downState, hitTestState);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/net/BinaryUploader.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/net/BinaryUploader.as b/frameworks/as/src/org/apache/flex/net/BinaryUploader.as
deleted file mode 100644
index e806518..0000000
--- a/frameworks/as/src/org/apache/flex/net/BinaryUploader.as
+++ /dev/null
@@ -1,305 +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.net
-{
-	import flash.events.HTTPStatusEvent;
-	import flash.events.IOErrorEvent;
-	import flash.net.URLLoader;
-	import flash.net.URLRequest;
-	import flash.net.URLRequestHeader;
-	import flash.net.URLRequestMethod;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.utils.BinaryData;
-	
-	[Event(name="complete", type="org.apache.flex.events.Event")]
-	
-	[Event(name="ioError", type="org.apache.flex.events.Event")]
-	
-	[Event(name="httpStatus", type="org.apache.flex.events.Event")]
-	
-	[Event(name="httpResponseStatus", type="org.apache.flex.events.Event")]
-    
-    [DefaultProperty("beads")]
-    
-	public class BinaryUploader extends EventDispatcher implements IStrand, IBead
-	{
-		public static const HTTP_METHOD_GET:String = URLRequestMethod.GET;
-		public static const HTTP_METHOD_POST:String = URLRequestMethod.POST;
-		public static const HTTP_METHOD_PUT:String = URLRequestMethod.PUT;
-		public static const HTTP_METHOD_DELETE:String = URLRequestMethod.DELETE;
-		
-		public function BinaryUploader()
-		{
-			super();
-		}
-		
-		private var _contentType:String = "application/octet-stream";
-		public function get contentType():String
-		{
-			return _contentType;
-		}
-		public function set contentType(value:String):void
-		{
-			if (_contentType != value)
-			{
-				_contentType = value;
-				dispatchEvent(new Event("contentTypeChanged"));
-			}
-		}
-		
-		private var _binaryData:BinaryData;
-		public function get binaryData():BinaryData
-		{
-			return _binaryData;
-		}
-		public function set binaryData(value:BinaryData):void
-		{
-			if (_binaryData != value)
-			{
-				_binaryData = value;
-				dispatchEvent(new Event("binaryDataChanged"));
-			}
-		}
-
-		private var _headers:Array;
-		public function get headers():Array
-		{
-			if (_headers == null)
-				_headers = [];
-			return _headers;
-		}
-		public function set headers(value:Array):void
-		{
-			if (_headers != value)
-			{
-				_headers = value;
-				dispatchEvent(new Event("headersChanged"));
-			}
-		}
-		
-		private var _method:String = HTTP_METHOD_POST;
-		public function get method():String
-		{
-			return _method;
-		}
-		public function set method(value:String):void
-		{
-			if (_method != value)
-			{
-				_method = value;
-				dispatchEvent(new Event("methodChanged"));
-			}
-		}
-		
-		private var _responseHeaders:Array;
-		public function get responseHeaders():Array
-		{
-			if (_responseHeaders && _responseHeaders.length > 0)
-			{
-				if (_responseHeaders[0] is URLRequestHeader)
-				{
-					var n:int = _responseHeaders.length;
-					for (var i:int = 0; i < n; i++)
-					{
-						var old:URLRequestHeader = _responseHeaders[i];
-						var nu:HTTPHeader = new HTTPHeader(old.name, old.value);
-						_responseHeaders[i] = nu;
-					}
-				}
-			}
-			return _responseHeaders;
-		}
-		
-		private var _responseURL:String;
-		public function get responseURL():String
-		{
-			return _responseURL;	
-		}
-		
-		private var _status:int;
-		public function get status():int
-		{
-			return _status;
-		}
-		
-		private var _url:String;
-		public function get url():String
-		{
-			return _url;
-		}
-		public function set url(value:String):void
-		{
-			if (_url != value)
-			{
-                _url = value;
-				dispatchEvent(new Event("urlChanged"));
-			}
-		}
-		
-		private var _timeout:Number = 0;
-		public function get timeout():Number
-		{
-			return _timeout;
-		}
-		public function set timeout(value:Number):void
-		{
-			if (_timeout != value)
-			{
-				_timeout = value;
-				dispatchEvent(new Event("timeoutChanged"));
-			}
-		}
-		
-		private var _id:String;
-		public function get id():String
-		{
-			return _id;
-		}
-		public function set id(value:String):void
-		{
-			if (_id != value)
-			{
-				_id = value;
-				dispatchEvent(new Event("idChanged"));
-			}
-		}
-		
-        private var _strand:IStrand;
-        
-        public function set strand(value:IStrand):void
-        {
-            _strand = value;
-        }
-
-		// beads declared in MXML are added to the strand.
-		// from AS, just call addBead()
-		public var beads:Array;
-		
-		private var _beads:Vector.<IBead>;
-		public function addBead(bead:IBead):void
-		{
-			if (!_beads)
-				_beads = new Vector.<IBead>;
-			_beads.push(bead);
-			bead.strand = this;
-		}
-		
-		public function getBeadByType(classOrInterface:Class):IBead
-		{
-			for each (var bead:IBead in _beads)
-			{
-				if (bead is classOrInterface)
-					return bead;
-			}
-			return null;
-		}
-		
-		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;
-		}
-
-        private var urlLoader:URLLoader;
-        
-        public function send():void
-        {
-            if (!urlLoader)
-                urlLoader = new URLLoader();
-			var request:URLRequest = new URLRequest(url);
-			request.method = method;
-			if ("idleTimeout" in request)
-			{
-				request["idleTimeout"] = timeout;
-			}
-			var sawContentType:Boolean;
-			if (headers)
-			{
-				for each (var header:HTTPHeader in headers)
-				{
-					var urlHeader:URLRequestHeader = new URLRequestHeader(header.name, header.value);
-					request.requestHeaders.push(urlHeader);
-					if (header.name == HTTPHeader.CONTENT_TYPE)
-						sawContentType = true;
-				}
-			}
-			if (method != HTTP_METHOD_GET && !sawContentType)
-			{
-				urlHeader = new URLRequestHeader(HTTPHeader.CONTENT_TYPE, contentType);
-				request.requestHeaders.push(urlHeader);
-			}
-			if (binaryData)
-			{
-				if (method == HTTP_METHOD_GET)
-				{
-					if (url.indexOf("?") != -1)
-						url += binaryData.data.toString();
-					else
-						url += "?" + binaryData.data.toString();
-				}
-				else
-					request.data = binaryData.data;
-			}
-			urlLoader.addEventListener(flash.events.Event.COMPLETE, completeHandler);
-			urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
-			if (HTTPStatusEvent.HTTP_RESPONSE_STATUS) // only on AIR
-				urlLoader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, statusHandler);
-			urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, statusHandler);
-            urlLoader.load(request);
-        }
-        
-		protected function statusHandler(event:HTTPStatusEvent):void
-		{
-			_status = event.status;
-			if ("responseHeaders" in event)
-				_responseHeaders = event.responseHeaders;
-			if ("responseURL" in event)
-				_responseURL = event.responseURL;
-			dispatchEvent(new Event(event.type));
-		}
-		
-		protected function ioErrorHandler(event:IOErrorEvent):void
-		{
-			dispatchEvent(new Event(event.type));
-		}
-		
-        protected function completeHandler(event:flash.events.Event):void
-        {
-            dispatchEvent(new Event(event.type));
-        }
-        
-        public function get data():*
-        {
-            return urlLoader.data;
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/net/HTTPHeader.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/net/HTTPHeader.as b/frameworks/as/src/org/apache/flex/net/HTTPHeader.as
deleted file mode 100644
index 4585530..0000000
--- a/frameworks/as/src/org/apache/flex/net/HTTPHeader.as
+++ /dev/null
@@ -1,35 +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.net
-{
-	public class HTTPHeader
-	{
-		public static const CONTENT_TYPE:String = "Content-type";
-
-		public function HTTPHeader(name:String = null, value:String = null)
-		{
-			super();
-			this.name = name;
-			this.value = value;
-		}
-		
-		public var name:String;
-		public var value:String;
-   }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/net/HTTPService.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/net/HTTPService.as b/frameworks/as/src/org/apache/flex/net/HTTPService.as
deleted file mode 100644
index 225ff08..0000000
--- a/frameworks/as/src/org/apache/flex/net/HTTPService.as
+++ /dev/null
@@ -1,304 +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.net
-{
-	import flash.events.HTTPStatusEvent;
-	import flash.events.IOErrorEvent;
-	import flash.net.URLLoader;
-	import flash.net.URLRequest;
-	import flash.net.URLRequestHeader;
-	import flash.net.URLRequestMethod;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	
-	[Event(name="complete", type="org.apache.flex.events.Event")]
-	
-	[Event(name="ioError", type="org.apache.flex.events.Event")]
-	
-	[Event(name="httpStatus", type="org.apache.flex.events.Event")]
-	
-	[Event(name="httpResponseStatus", type="org.apache.flex.events.Event")]
-    
-    [DefaultProperty("beads")]
-    
-	public class HTTPService extends EventDispatcher implements IStrand, IBead
-	{
-		public static const HTTP_METHOD_GET:String = URLRequestMethod.GET;
-		public static const HTTP_METHOD_POST:String = URLRequestMethod.POST;
-		public static const HTTP_METHOD_PUT:String = URLRequestMethod.PUT;
-		public static const HTTP_METHOD_DELETE:String = URLRequestMethod.DELETE;
-		
-		public function HTTPService()
-		{
-			super();
-		}
-		
-		private var _contentType:String = "application/x-www-form-urlencoded";
-		public function get contentType():String
-		{
-			return _contentType;
-		}
-		public function set contentType(value:String):void
-		{
-			if (_contentType != value)
-			{
-				_contentType = value;
-				dispatchEvent(new Event("contentTypeChanged"));
-			}
-		}
-		
-		private var _contentData:String;
-		public function get contentData():String
-		{
-			return _contentData;
-		}
-		public function set contentData(value:String):void
-		{
-			if (_contentData != value)
-			{
-				_contentData = value;
-				dispatchEvent(new Event("contentDataChanged"));
-			}
-		}
-
-		private var _headers:Array;
-		public function get headers():Array
-		{
-			if (_headers == null)
-				_headers = [];
-			return _headers;
-		}
-		public function set headers(value:Array):void
-		{
-			if (_headers != value)
-			{
-				_headers = value;
-				dispatchEvent(new Event("headersChanged"));
-			}
-		}
-		
-		private var _method:String = HTTP_METHOD_GET;
-		public function get method():String
-		{
-			return _method;
-		}
-		public function set method(value:String):void
-		{
-			if (_method != value)
-			{
-				_method = value;
-				dispatchEvent(new Event("methodChanged"));
-			}
-		}
-		
-		private var _responseHeaders:Array;
-		public function get responseHeaders():Array
-		{
-			if (_responseHeaders && _responseHeaders.length > 0)
-			{
-				if (_responseHeaders[0] is URLRequestHeader)
-				{
-					var n:int = _responseHeaders.length;
-					for (var i:int = 0; i < n; i++)
-					{
-						var old:URLRequestHeader = _responseHeaders[i];
-						var nu:HTTPHeader = new HTTPHeader(old.name, old.value);
-						_responseHeaders[i] = nu;
-					}
-				}
-			}
-			return _responseHeaders;
-		}
-		
-		private var _responseURL:String;
-		public function get responseURL():String
-		{
-			return _responseURL;	
-		}
-		
-		private var _status:int;
-		public function get status():int
-		{
-			return _status;
-		}
-		
-		private var _url:String;
-		public function get url():String
-		{
-			return _url;
-		}
-		public function set url(value:String):void
-		{
-			if (_url != value)
-			{
-                _url = value;
-				dispatchEvent(new Event("urlChanged"));
-			}
-		}
-		
-		private var _timeout:Number = 0;
-		public function get timeout():Number
-		{
-			return _timeout;
-		}
-		public function set timeout(value:Number):void
-		{
-			if (_timeout != value)
-			{
-				_timeout = value;
-				dispatchEvent(new Event("timeoutChanged"));
-			}
-		}
-		
-		private var _id:String;
-		public function get id():String
-		{
-			return _id;
-		}
-		public function set id(value:String):void
-		{
-			if (_id != value)
-			{
-				_id = value;
-				dispatchEvent(new Event("idChanged"));
-			}
-		}
-		
-        private var _strand:IStrand;
-        
-        public function set strand(value:IStrand):void
-        {
-            _strand = value;
-        }
-
-		// beads declared in MXML are added to the strand.
-		// from AS, just call addBead()
-		public var beads:Array;
-		
-		private var _beads:Vector.<IBead>;
-		public function addBead(bead:IBead):void
-		{
-			if (!_beads)
-				_beads = new Vector.<IBead>;
-			_beads.push(bead);
-			bead.strand = this;
-		}
-		
-		public function getBeadByType(classOrInterface:Class):IBead
-		{
-			for each (var bead:IBead in _beads)
-			{
-				if (bead is classOrInterface)
-					return bead;
-			}
-			return null;
-		}
-		
-		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;
-		}
-
-        private var urlLoader:URLLoader;
-        
-        public function send():void
-        {
-            if (!urlLoader)
-                urlLoader = new URLLoader();
-			var request:URLRequest = new URLRequest(url);
-			request.method = method;
-			if ("idleTimeout" in request)
-			{
-				request["idleTimeout"] = timeout;
-			}
-			var sawContentType:Boolean;
-			if (headers)
-			{
-				for each (var header:HTTPHeader in headers)
-				{
-					var urlHeader:URLRequestHeader = new URLRequestHeader(header.name, header.value);
-					request.requestHeaders.push(urlHeader);
-					if (header.name == HTTPHeader.CONTENT_TYPE)
-						sawContentType = true;
-				}
-			}
-			if (method != HTTP_METHOD_GET && !sawContentType && contentData != null)
-			{
-				urlHeader = new URLRequestHeader(HTTPHeader.CONTENT_TYPE, contentType);
-				request.requestHeaders.push(urlHeader);
-			}
-			if (contentData)
-			{
-				if (method == HTTP_METHOD_GET)
-				{
-					if (url.indexOf("?") != -1)
-						url += contentData;
-					else
-						url += "?" + contentData;
-				}
-				else
-					request.data = contentData;
-			}
-			urlLoader.addEventListener(flash.events.Event.COMPLETE, completeHandler);
-			urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
-			if (HTTPStatusEvent.HTTP_RESPONSE_STATUS) // only on AIR
-				urlLoader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, statusHandler);
-			urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, statusHandler);
-            urlLoader.load(request);
-        }
-        
-		protected function statusHandler(event:HTTPStatusEvent):void
-		{
-			_status = event.status;
-			if ("responseHeaders" in event)
-				_responseHeaders = event.responseHeaders;
-			if ("responseURL" in event)
-				_responseURL = event.responseURL;
-			dispatchEvent(new Event(event.type));
-		}
-		
-		protected function ioErrorHandler(event:IOErrorEvent):void
-		{
-			dispatchEvent(new Event(event.type));
-		}
-		
-        protected function completeHandler(event:flash.events.Event):void
-        {
-            dispatchEvent(new Event(event.type));
-        }
-        
-        public function get data():*
-        {
-            return urlLoader.data;
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/net/IInputParser.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/net/IInputParser.as b/frameworks/as/src/org/apache/flex/net/IInputParser.as
deleted file mode 100644
index 55e0d99..0000000
--- a/frameworks/as/src/org/apache/flex/net/IInputParser.as
+++ /dev/null
@@ -1,25 +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.net
-{
-	public interface IInputParser
-	{
-		function parseItems(s:String):Array;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/net/IItemConverter.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/net/IItemConverter.as b/frameworks/as/src/org/apache/flex/net/IItemConverter.as
deleted file mode 100644
index f736ce5..0000000
--- a/frameworks/as/src/org/apache/flex/net/IItemConverter.as
+++ /dev/null
@@ -1,25 +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.net
-{
-	public interface IItemConverter
-	{
-		function convertItem(data:String):Object
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/net/JSONInputParser.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/net/JSONInputParser.as b/frameworks/as/src/org/apache/flex/net/JSONInputParser.as
deleted file mode 100644
index 4abbbde..0000000
--- a/frameworks/as/src/org/apache/flex/net/JSONInputParser.as
+++ /dev/null
@@ -1,28 +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.net
-{
-	public class JSONInputParser implements IInputParser
-	{        
-		public function parseItems(s:String):Array
-        {
-            return s.split("},");
-        }
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/net/JSONItemConverter.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/net/JSONItemConverter.as b/frameworks/as/src/org/apache/flex/net/JSONItemConverter.as
deleted file mode 100644
index 0042e5b..0000000
--- a/frameworks/as/src/org/apache/flex/net/JSONItemConverter.as
+++ /dev/null
@@ -1,30 +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.net
-{
-    import org.apache.flex.net.IItemConverter;
-    
-	public class JSONItemConverter implements IItemConverter
-	{
-		public function convertItem(data:String):Object
-        {
-            return JSON.parse(data);
-        }
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/net/dataConverters/LazyCollection.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/net/dataConverters/LazyCollection.as b/frameworks/as/src/org/apache/flex/net/dataConverters/LazyCollection.as
deleted file mode 100644
index 7b1be41..0000000
--- a/frameworks/as/src/org/apache/flex/net/dataConverters/LazyCollection.as
+++ /dev/null
@@ -1,106 +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.net.dataConverters
-{
-	import flash.events.Event;
-	import flash.events.IEventDispatcher;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.data.ICollection;
-	import org.apache.flex.events.EventDispatcher;
-    import org.apache.flex.net.IInputParser;
-    import org.apache.flex.net.IItemConverter;
-    
-	public class LazyCollection extends EventDispatcher implements IBead, ICollection
-	{
-		public function LazyCollection()
-		{
-			super();
-		}
-		
-		private var _inputParser:IInputParser;
-		public function get inputParser():IInputParser
-		{
-			return _inputParser;
-		}
-		public function set inputParser(value:IInputParser):void
-		{
-			if (_inputParser != value)
-			{
-                _inputParser = value;
-				dispatchEvent(new Event("inputParserChanged"));
-			}
-		}
-		
-        private var _itemConverter:IItemConverter;
-        public function get itemConverter():IItemConverter
-        {
-            return _itemConverter;
-        }
-        public function set itemConverter(value:IItemConverter):void
-        {
-            if (_itemConverter != value)
-            {
-                _itemConverter = value;
-                dispatchEvent(new Event("itemConverterChanged"));
-            }
-        }
-
-        private var _id:String;
-		public function get id():String
-		{
-			return _id;
-		}
-		public function set id(value:String):void
-		{
-			if (_id != value)
-			{
-				_id = value;
-				dispatchEvent(new Event("idChanged"));
-			}
-		}
-		
-        private var _strand:IStrand;
-        
-        public function set strand(value:IStrand):void
-        {
-            _strand = value;
-            IEventDispatcher(_strand).addEventListener(Event.COMPLETE, completeHandler);
-        }
-        
-        private var rawData:Array;
-        private var data:Array;
-        
-        private function completeHandler(event:Event):void
-        {
-            rawData = inputParser.parseItems(_strand["data"]);  
-            data = new Array(rawData.length);
-        }
-        
-        public function getItemAt(index:int):Object
-        {
-            if (data[index] == undefined)
-            {
-                data[index] = itemConverter.convertItem(rawData[index]);
-            }
-            return data[index];
-        }   
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/svg/staticControls/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/svg/staticControls/TextButton.as b/frameworks/as/src/org/apache/flex/svg/staticControls/TextButton.as
deleted file mode 100644
index a493e31..0000000
--- a/frameworks/as/src/org/apache/flex/svg/staticControls/TextButton.as
+++ /dev/null
@@ -1,32 +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.svg.staticControls
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.html.staticControls.TextButton;
-	
-	public class TextButton extends org.apache.flex.html.staticControls.TextButton
-	{
-		public function TextButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
-		{
-			super(upState, overState, downState, hitTestState);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/utils/BeadMetrics.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/utils/BeadMetrics.as b/frameworks/as/src/org/apache/flex/utils/BeadMetrics.as
deleted file mode 100644
index 3ec3827..0000000
--- a/frameworks/as/src/org/apache/flex/utils/BeadMetrics.as
+++ /dev/null
@@ -1,79 +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.utils
-{
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIMetrics;
-	import org.apache.flex.core.ValuesManager;
-
-public class BeadMetrics
-{
-	
-	public static function getMetrics(strand:IStrand) : UIMetrics
-	{
-		var borderThickness:Object = ValuesManager.valuesImpl.getValue(strand,"border-thickness");
-		var borderOffset:Number;
-		if( borderThickness == null ) {
-			borderOffset = 0;
-		}
-		else {
-			borderOffset = Number(borderThickness);
-			if( isNaN(borderOffset) ) borderOffset = 0;
-		}
-		
-		var paddingLeft:Object;
-		var paddingTop:Object;
-		var padding:Object = ValuesManager.valuesImpl.getValue(strand, "padding");
-		if (padding is Array)
-		{
-			if (padding.length == 1)
-				paddingLeft = paddingTop = padding[0];
-			else if (padding.length <= 3)
-			{
-				paddingLeft = padding[1];
-				paddingTop = padding[0];
-			}
-			else if (padding.length == 4)
-			{
-				paddingLeft = padding[3];
-				paddingTop = padding[0];					
-			}
-		}
-		else if (padding == null)
-		{
-			paddingLeft = ValuesManager.valuesImpl.getValue(strand, "padding-left");
-			paddingTop = ValuesManager.valuesImpl.getValue(strand, "padding-top");
-		}
-		else
-		{
-			paddingLeft = paddingTop = padding;
-		}
-		var pl:Number = Number(paddingLeft);
-		var pt:Number = Number(paddingTop);
-		
-		var result:UIMetrics = new UIMetrics();
-		result.top = borderOffset + pt;
-		result.left = borderOffset + pl;
-		result.bottom = borderOffset + pt;
-		result.right = borderOffset + pl;
-		
-		return result;
-	}
-}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/utils/BinaryData.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/utils/BinaryData.as b/frameworks/as/src/org/apache/flex/utils/BinaryData.as
deleted file mode 100644
index 48cfd00..0000000
--- a/frameworks/as/src/org/apache/flex/utils/BinaryData.as
+++ /dev/null
@@ -1,106 +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.utils
-{
-	import flash.utils.ByteArray;
-
-public class BinaryData
-{
-	public function BinaryData()
-	{
-		
-	}
-	
-	private var ba:ByteArray = new ByteArray();
-	
-	/**
-	 * Get the platform-specific data for sending.
-	 * Generally only used by the network services.
-	 */
-	public function get data():Object
-	{
-		return ba;
-	}
-	
-	public function writeByte(byte:int):void
-	{
-		ba.writeByte(byte);
-	}
-	
-	public function writeShort(byte:int):void
-	{
-		ba.writeShort(byte);
-	}
-	
-	public function writeUnsignedInt(byte:uint):void
-	{
-		ba.writeUnsignedInt(byte);
-	}
-
-	public function writeInt(byte:uint):void
-	{
-		ba.writeInt(byte);
-	}
-
-	public function readByte():int
-	{
-		return ba.readByte();
-	}
-	
-	public function readShort():int
-	{
-		return ba.readShort();
-	}
-	
-	public function readUnsignedInt():uint
-	{
-		return ba.readUnsignedInt();
-	}
-	
-	public function readInt():int
-	{
-		return ba.readInt();
-	}
-
-	public function get length():int
-	{
-		return ba.length;
-	}
-	
-	public function get bytesAvailable():int
-	{
-		return ba.bytesAvailable;
-	}
-
-	public function get position():int
-	{
-		return ba.position;
-	}
-	
-	public function set position(value:int):void
-	{
-		ba.position = value;
-	}
-	
-	public function growBuffer(extra:int):void
-	{
-		// no need to do anything in AS
-	}
-}
-}


[13/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextFieldView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextFieldView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextFieldView.as
new file mode 100644
index 0000000..aedb964
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextFieldView.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.text.TextFieldType;
+	
+	public class TextFieldView extends TextFieldViewBase
+	{
+		public function TextFieldView()
+		{
+			super();
+			
+			textField.selectable = false;
+			textField.type = TextFieldType.DYNAMIC;
+			textField.mouseEnabled = false;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextFieldViewBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextFieldViewBase.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextFieldViewBase.as
new file mode 100644
index 0000000..5f5ba8f
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextFieldViewBase.as
@@ -0,0 +1,111 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	
+	import org.apache.flex.core.CSSTextField;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.ITextModel;
+	import org.apache.flex.events.Event;
+	
+	public class TextFieldViewBase implements IBeadView, ITextFieldView
+	{
+		public function TextFieldViewBase()
+		{
+			_textField = new CSSTextField();
+		}
+		
+		private var _textField:CSSTextField;
+		
+		public function get textField() : CSSTextField
+		{
+			return _textField;
+		}
+		
+		private var _textModel:ITextModel;
+		
+		public function get textModel() : ITextModel
+		{
+			return _textModel;
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			_textModel = value.getBeadByType(ITextModel) as ITextModel;
+			textModel.addEventListener("textChange", textChangeHandler);
+			textModel.addEventListener("htmlChange", htmlChangeHandler);
+			textModel.addEventListener("widthChanged", sizeChangeHandler);
+			textModel.addEventListener("heightChanged", sizeChangeHandler);
+			DisplayObjectContainer(value).addChild(_textField);
+			sizeChangeHandler(null);
+			if (textModel.text !== null)
+				text = textModel.text;
+			if (textModel.html !== null)
+				html = textModel.html;
+		}
+        
+		public function get strand() : IStrand
+		{
+			return _strand;
+		}
+		
+		public function get text():String
+		{
+			return _textField.text;
+		}
+		public function set text(value:String):void
+		{
+            if (value == null)
+                value = "";
+			_textField.text = value;
+		}
+		
+		public function get html():String
+		{
+			return _textField.htmlText;
+		}
+		
+		public function set html(value:String):void
+		{
+			_textField.htmlText = value;
+		}
+		
+		private function textChangeHandler(event:Event):void
+		{
+			text = textModel.text;
+		}
+		
+		private function htmlChangeHandler(event:Event):void
+		{
+			html = textModel.html;
+		}
+		
+		private function sizeChangeHandler(event:Event):void
+		{
+			textField.width = DisplayObject(_strand).width;
+			textField.height = DisplayObject(_strand).height;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextInputView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextInputView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextInputView.as
new file mode 100644
index 0000000..a129763
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextInputView.as
@@ -0,0 +1,66 @@
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	import flash.events.IOErrorEvent;
+	import flash.text.TextFieldType;
+	
+	import org.apache.flex.core.CSSTextField;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	
+	public class TextInputView extends TextFieldViewBase
+	{
+		public function TextInputView()
+		{
+			super();
+			
+			textField.selectable = true;
+			textField.type = TextFieldType.INPUT;
+			textField.mouseEnabled = true;
+			textField.multiline = false;
+			textField.wordWrap = false;
+		}
+		
+		override public function set strand(value:IStrand):void
+		{
+			super.strand = value;
+			
+			// Default size
+			var ww:Number = DisplayObject(strand).width;
+			if( isNaN(ww) || ww == 0 ) DisplayObject(strand).width = 100;
+			var hh:Number = DisplayObject(strand).height;
+			if( isNaN(hh) || hh == 0 ) DisplayObject(strand).height = 18;
+			
+			IEventDispatcher(strand).addEventListener("widthChanged", sizeChangedHandler);
+			IEventDispatcher(strand).addEventListener("heightChanged", sizeChangedHandler);
+			sizeChangedHandler(null);
+		}
+		
+		private function sizeChangedHandler(event:Event):void
+		{
+			var ww:Number = DisplayObject(strand).width;
+			if( !isNaN(ww) && ww > 0 ) textField.width = ww;
+			
+			var hh:Number = DisplayObject(strand).height;
+			if( !isNaN(hh) && hh > 0 ) textField.height = hh;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextInputWithBorderView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextInputWithBorderView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextInputWithBorderView.as
new file mode 100644
index 0000000..8d5e405
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextInputWithBorderView.as
@@ -0,0 +1,68 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IParent;
+	import org.apache.flex.html.staticControls.beads.models.SingleLineBorderModel;
+	import org.apache.flex.html.staticControls.supportClasses.Border;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+
+	public class TextInputWithBorderView extends TextInputView
+	{
+		public function TextInputWithBorderView()
+		{
+			super();
+		}
+		
+		private var _border:Border;
+		
+		public function get border():Border
+		{
+			return _border;
+		}
+		
+		override public function set strand(value:IStrand):void
+		{
+			super.strand = value;
+			
+			// add a border to this
+			_border = new Border();
+			_border.model = new SingleLineBorderModel();
+			_border.addBead(new SingleLineBorderBead());
+            IParent(strand).addElement(border);
+			
+			IEventDispatcher(strand).addEventListener("widthChanged", sizeChangedHandler);
+			IEventDispatcher(strand).addEventListener("heightChanged", sizeChangedHandler);
+			sizeChangedHandler(null);
+		}
+		
+		private function sizeChangedHandler(event:Event):void
+		{
+			var ww:Number = DisplayObject(strand).width;
+			_border.width = ww;
+			
+			var hh:Number = DisplayObject(strand).height;
+			_border.height = hh;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForArrayData.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForArrayData.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForArrayData.as
new file mode 100644
index 0000000..5fc7188
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForArrayData.as
@@ -0,0 +1,93 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+    import org.apache.flex.core.IBead;
+    import org.apache.flex.core.IItemRendererClassFactory;
+    import org.apache.flex.core.IItemRendererParent;
+    import org.apache.flex.core.ISelectionModel;
+    import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.ValuesManager;
+    import org.apache.flex.events.Event;
+    import org.apache.flex.events.IEventDispatcher;
+
+	public class TextItemRendererFactoryForArrayData implements IBead, IDataProviderItemRendererMapper
+	{
+		public function TextItemRendererFactoryForArrayData()
+		{
+
+		}
+		
+		private var selectionModel:ISelectionModel;
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
+			var listView:IListView = value.getBeadByType(IListView) as IListView;
+			dataGroup = listView.dataGroup;
+			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+            
+            if (!itemRendererFactory)
+            {
+                _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
+                _strand.addBead(_itemRendererFactory);
+            }
+            
+			dataProviderChangeHandler(null);
+		}
+		
+        public var _itemRendererFactory:IItemRendererClassFactory;
+        
+        public function get itemRendererFactory():IItemRendererClassFactory
+        {
+            return _itemRendererFactory
+        }
+        
+        public function set itemRendererFactory(value:IItemRendererClassFactory):void
+        {
+            _itemRendererFactory = value;
+        }
+        
+		protected var dataGroup:IItemRendererParent;
+		
+		private function dataProviderChangeHandler(event:Event):void
+		{
+			var dp:Array = selectionModel.dataProvider as Array;
+			if (!dp)
+				return;
+			
+			dataGroup.removeAllElements();
+			
+			var n:int = dp.length; 
+			for (var i:int = 0; i < n; i++)
+			{
+				var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
+                tf.index = i;
+                dataGroup.addElement(tf);
+				tf.text = dp[i];
+			}
+			
+			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForStringVectorData.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForStringVectorData.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForStringVectorData.as
new file mode 100644
index 0000000..77302f4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TextItemRendererFactoryForStringVectorData.as
@@ -0,0 +1,73 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+    import flash.display.DisplayObject;
+    
+    import org.apache.flex.core.IBead;
+    import org.apache.flex.core.IItemRendererClassFactory;
+    import org.apache.flex.core.IItemRendererParent;
+    import org.apache.flex.core.ISelectionModel;
+    import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.IUIBase;
+	import org.apache.flex.events.Event;
+
+	public class TextItemRendererFactoryForStringVectorData implements IBead
+	{
+		public function TextItemRendererFactoryForStringVectorData()
+		{
+
+		}
+		
+		private var selectionModel:ISelectionModel;
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
+			var listView:IListView = value.getBeadByType(IListView) as IListView;
+			dataGroup = listView.dataGroup;
+			selectionModel.addEventListener("dataProviderChange", dataProviderChangeHandler);
+			dataProviderChangeHandler(null);
+		}
+		
+        public var itemRendererFactory:IItemRendererClassFactory;
+        
+		public var dataGroup:IItemRendererParent;
+		
+		private function dataProviderChangeHandler(event:Event):void
+		{
+			var dp:Vector.<String> = selectionModel.dataProvider as Vector.<String>;
+			
+			dataGroup.removeAllElements();
+			
+			var n:int = dp.length; 
+			for (var i:int = 0; i < n; i++)
+			{
+				var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
+                tf.index = i;
+                dataGroup.addElement(tf);
+				tf.text = dp[i];
+			}			
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TitleBarMeasurementBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TitleBarMeasurementBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TitleBarMeasurementBead.as
new file mode 100644
index 0000000..221120a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/TitleBarMeasurementBead.as
@@ -0,0 +1,64 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import org.apache.flex.core.IMeasurementBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.html.staticControls.TitleBar;
+	
+	public class TitleBarMeasurementBead implements IMeasurementBead
+	{
+		public function TitleBarMeasurementBead()
+		{
+		}
+		
+		public function get measuredWidth():Number
+		{
+			var mwidth:Number = 0;
+			var titleBar:TitleBar = _strand as TitleBar;
+			var labelMeasure:IMeasurementBead = titleBar.titleLabel.measurementBead;
+			mwidth = labelMeasure.measuredWidth;
+			if( titleBar.showCloseButton ) {
+				var buttonMeasure:IMeasurementBead = titleBar.closeButton.measurementBead;
+				mwidth += buttonMeasure.measuredWidth;
+			}
+			return mwidth;
+		}
+		
+		public function get measuredHeight():Number
+		{
+			var mheight:Number = 0;
+			var titleBar:TitleBar = _strand as TitleBar;
+			var labelMeasure:IMeasurementBead = titleBar.titleLabel.measurementBead;
+			mheight = labelMeasure.measuredHeight;
+			if( titleBar.showCloseButton ) {
+				var buttonMeasure:IMeasurementBead = titleBar.closeButton.measurementBead;
+				mheight = Math.max(mheight,buttonMeasure.measuredHeight);
+			}
+			return mheight;
+		}
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/UpArrowButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/UpArrowButtonView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/UpArrowButtonView.as
new file mode 100644
index 0000000..bc3b76d
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/UpArrowButtonView.as
@@ -0,0 +1,78 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.Graphics;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+
+	import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.IBeadView;
+	
+	public class UpArrowButtonView implements IBeadView
+	{
+		public function UpArrowButtonView()
+		{
+			upView = new Shape();
+			downView = new Shape();
+			overView = new Shape();
+
+			drawView(upView.graphics, 0xCCCCCC);
+			drawView(downView.graphics, 0x808080);
+			drawView(overView.graphics, 0xEEEEEE);
+		}
+		
+		private function drawView(g:Graphics, bgColor:uint):void
+		{
+			g.lineStyle(1);
+			g.beginFill(bgColor);
+			g.drawRect(0, 0, 16, 16);
+			g.endFill();
+			g.lineStyle(0);
+			g.beginFill(0);
+			g.moveTo(4, 12);
+			g.lineTo(12, 12);
+			g.lineTo(8, 4);
+			g.lineTo(4, 12);
+			g.endFill();
+		}
+		
+		private var _strand:IStrand;
+		
+		private var shape:Shape;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			shape = new Shape();
+			shape.graphics.beginFill(0xCCCCCC);
+			shape.graphics.drawRect(0, 0, 16, 16);
+			shape.graphics.endFill();
+			SimpleButton(value).upState = upView;
+			SimpleButton(value).downState = downView;
+			SimpleButton(value).overState = overView;
+			SimpleButton(value).hitTestState = shape;
+		}
+        
+		private var upView:Shape;
+		private var downView:Shape;
+		private var overView:Shape;
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/VScrollBarThumbView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/VScrollBarThumbView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/VScrollBarThumbView.as
new file mode 100644
index 0000000..d84fcb2
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/VScrollBarThumbView.as
@@ -0,0 +1,102 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.Graphics;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+    import flash.display.DisplayObject;
+
+    import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;	
+	
+	public class VScrollBarThumbView implements IBeadView
+	{
+		public function VScrollBarThumbView()
+		{
+		}
+		
+		private function drawView(g:Graphics, bgColor:uint):void
+		{
+            var hh:Number = DisplayObject(_strand).height;
+            g.clear();
+			g.lineStyle(1);
+			g.beginFill(bgColor);
+			g.drawRect(0, 0, 16, hh);
+			g.endFill();
+            hh = Math.round(hh / 2);
+			g.moveTo(4, hh);
+			g.lineTo(12, hh);
+			g.moveTo(4, hh - 4);
+			g.lineTo(12, hh - 4);
+			g.moveTo(4, hh + 4);
+			g.lineTo(12, hh + 4);
+		}
+		
+		private var _strand:IStrand;
+		
+		private var shape:Shape;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+            
+            upView = new Shape();
+            downView = new Shape();
+            overView = new Shape();
+            
+            drawView(upView.graphics, 0xCCCCCC);
+            drawView(downView.graphics, 0x808080);
+            drawView(overView.graphics, 0xEEEEEE);
+
+            shape = new Shape();
+			shape.graphics.beginFill(0xCCCCCC);
+			shape.graphics.drawRect(0, 0, 16, 16);
+			shape.graphics.endFill();
+			SimpleButton(value).upState = upView;
+			SimpleButton(value).downState = downView;
+			SimpleButton(value).overState = overView;
+			SimpleButton(value).hitTestState = shape;
+            IEventDispatcher(_strand).addEventListener("heightChanged", heightChangedHandler);
+		}
+
+        private function heightChangedHandler(event:Event):void
+        {
+			DisplayObject(_strand).scaleY = 1.0;
+			DisplayObject(_strand).scaleX = 1.0;
+			
+            var hh:Number = DisplayObject(_strand).height;
+            drawView(upView.graphics, 0xCCCCCC);
+            drawView(downView.graphics, 0x808080);
+            drawView(overView.graphics, 0xEEEEEE);
+            
+            shape.graphics.clear();
+            shape.graphics.beginFill(0xCCCCCC);
+            shape.graphics.drawRect(0, 0, 16, hh);
+            shape.graphics.endFill();
+        }
+        
+		private var upView:Shape;
+		private var downView:Shape;
+		private var overView:Shape;
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/VScrollBarTrackView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/VScrollBarTrackView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/VScrollBarTrackView.as
new file mode 100644
index 0000000..528fcf3
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/VScrollBarTrackView.as
@@ -0,0 +1,87 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	import flash.display.Graphics;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+	
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	
+	public class VScrollBarTrackView implements IBeadView
+	{
+		public function VScrollBarTrackView()
+		{
+			upView = new Shape();
+			downView = new Shape();
+			overView = new Shape();
+
+		}
+		
+		private function drawView(g:Graphics, bgColor:uint, h:Number):void
+		{
+			g.clear();
+			g.lineStyle(1);
+			g.beginFill(bgColor);
+			g.drawRect(0, 0, 16, h);
+			g.endFill();
+			g.lineStyle(0);
+		}
+
+		private function heightChangeHandler(event:Event):void
+		{
+			DisplayObject(_strand).scaleY = 1.0;
+			DisplayObject(_strand).scaleX = 1.0;
+			
+			var h:Number = SimpleButton(_strand).height;
+			
+			drawView(upView.graphics, 0xCCCCCC, h);
+			drawView(downView.graphics, 0x808080, h);
+			drawView(overView.graphics, 0xEEEEEE, h);	
+			shape.graphics.clear();
+			shape.graphics.beginFill(0xCCCCCC);
+			shape.graphics.drawRect(0, 0, 16, h);
+			shape.graphics.endFill();
+			
+		}
+		
+		private var _strand:IStrand;
+		
+		private var shape:Shape;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			SimpleButton(value).addEventListener("heightChanged", heightChangeHandler);
+			shape = new Shape();
+			SimpleButton(value).upState = upView;
+			SimpleButton(value).downState = downView;
+			SimpleButton(value).overState = overView;
+			SimpleButton(value).hitTestState = shape;
+		}
+
+		private var upView:Shape;
+		private var downView:Shape;
+		private var overView:Shape;
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/AlertController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/AlertController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/AlertController.as
new file mode 100644
index 0000000..01ba18a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/AlertController.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 org.apache.flex.html.staticControls.beads.controllers
+{	
+    import flash.display.DisplayObject;
+    
+	import org.apache.flex.core.IBeadController;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+
+    public class AlertController implements IBeadController
+	{
+		public function AlertController()
+		{
+		}
+		
+        private var _strand:IStrand;
+        
+        public function get strand():IStrand
+        {
+            return _strand;
+        }
+        
+        public function set strand(value:IStrand):void
+        {
+            _strand = value;
+            IEventDispatcher(value).addEventListener("close",handleAlertClose);
+        }
+        
+        private function handleAlertClose(event:Event):void
+        {
+            DisplayObject(_strand).parent.removeChild(DisplayObject(_strand));
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ButtonAutoRepeatController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ButtonAutoRepeatController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ButtonAutoRepeatController.as
new file mode 100644
index 0000000..18239f7
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ButtonAutoRepeatController.as
@@ -0,0 +1,102 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.controllers
+{
+	import flash.events.MouseEvent;
+	import flash.utils.clearInterval;
+	import flash.utils.clearTimeout;
+	import flash.utils.setInterval;
+	import flash.utils.setTimeout;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IBeadController;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+
+    public class ButtonAutoRepeatController implements IBead, IBeadController
+	{
+		public function ButtonAutoRepeatController()
+		{
+		}
+		
+        private var _strand:IStrand;
+        
+        public function get strand():IStrand
+        {
+            return _strand;
+        }
+        
+        public function set strand(value:IStrand):void
+        {
+            _strand = value;
+            IEventDispatcher(value).addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
+        }
+        
+        public var delay:int = 250;
+        public var interval:int = 100;
+        
+        private var timeout:uint;
+        private var repeater:uint;
+        
+        private function mouseDownHandler(event:MouseEvent):void
+        {
+            event.target.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);   
+            event.target.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
+            timeout = setTimeout(sendFirstRepeat, delay); 
+        }
+        
+        private function mouseOutHandler(event:MouseEvent):void
+        {
+            event.target.removeEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);   
+            event.target.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); 
+            if (repeater > 0)
+                clearInterval(repeater);
+            repeater = 0;
+            if (timeout > 0)
+                clearTimeout(timeout);
+            timeout = 0;
+        }
+        
+        private function mouseUpHandler(event:MouseEvent):void
+        {
+            event.target.removeEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);   
+            event.target.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);  
+            if (repeater > 0)
+                clearInterval(repeater);
+            repeater = 0;
+            if (timeout > 0)
+                clearTimeout(timeout);
+            timeout = 0;
+        }
+        
+        private function sendFirstRepeat():void
+        {
+            clearTimeout(timeout);
+            timeout = 0;
+        	repeater = setInterval(sendRepeats, interval);
+        	IEventDispatcher(_strand).dispatchEvent(new Event("buttonRepeat"));
+        }
+        
+        private function sendRepeats():void
+        {
+       	    IEventDispatcher(_strand).dispatchEvent(new Event("buttonRepeat"));
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ComboBoxController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ComboBoxController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ComboBoxController.as
new file mode 100644
index 0000000..ed2d228
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ComboBoxController.as
@@ -0,0 +1,71 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.staticControls.beads.controllers
+{
+	import flash.display.DisplayObject;
+	import flash.events.MouseEvent;
+	
+	import org.apache.flex.core.IBeadController;
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.beads.IComboBoxView;
+
+	public class ComboBoxController implements IBeadController
+	{
+		public function ComboBoxController()
+		{
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+            IEventDispatcher(value).addEventListener(MouseEvent.CLICK, clickHandler);
+		}
+		
+        private function clickHandler(event:MouseEvent):void
+        {
+            var viewBead:IComboBoxView = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
+            viewBead.popUpVisible = true;
+            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+            var popUpModel:ISelectionModel = viewBead.popUp.getBeadByType(ISelectionModel) as ISelectionModel;
+            popUpModel.dataProvider = selectionModel.dataProvider;
+            popUpModel.selectedIndex = selectionModel.selectedIndex;
+			DisplayObject(viewBead.popUp).width = DisplayObject(_strand).width;
+			DisplayObject(viewBead.popUp).height = 200;
+			DisplayObject(viewBead.popUp).x = DisplayObject(_strand).x;
+			DisplayObject(viewBead.popUp).y = DisplayObject(_strand).y;
+            IEventDispatcher(viewBead.popUp).addEventListener("change", changeHandler);
+        }
+        
+        private function changeHandler(event:Event):void
+        {
+            var viewBead:IComboBoxView = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
+            viewBead.popUpVisible = false;
+            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+            var popUpModel:ISelectionModel = viewBead.popUp.getBeadByType(ISelectionModel) as ISelectionModel;
+            selectionModel.selectedIndex = popUpModel.selectedIndex;
+			IEventDispatcher(_strand).dispatchEvent(new Event("change"));
+        }
+	
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/DropDownListController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/DropDownListController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/DropDownListController.as
new file mode 100644
index 0000000..fa41001
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/DropDownListController.as
@@ -0,0 +1,74 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.controllers
+{
+	import flash.display.DisplayObject;
+	import flash.geom.Point;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IBeadController;
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.beads.IDropDownListView;
+
+	public class DropDownListController implements IBead, IBeadController
+	{
+		public function DropDownListController()
+		{
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+            IEventDispatcher(value).addEventListener("click", clickHandler);
+		}
+		
+        private function clickHandler(event:Event):void
+        {
+            var viewBead:IDropDownListView = _strand.getBeadByType(IDropDownListView) as IDropDownListView;
+            viewBead.popUpVisible = true;
+            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+            var popUpModel:ISelectionModel = viewBead.popUp.getBeadByType(ISelectionModel) as ISelectionModel;
+            popUpModel.dataProvider = selectionModel.dataProvider;
+            popUpModel.selectedIndex = selectionModel.selectedIndex;
+			DisplayObject(viewBead.popUp).width = DisplayObject(_strand).width;
+			DisplayObject(viewBead.popUp).height = 200;
+            var pt:Point = new Point(DisplayObject(_strand).x, DisplayObject(_strand).y);
+            pt = DisplayObject(_strand).parent.localToGlobal(pt);
+			DisplayObject(viewBead.popUp).x = pt.x;
+			DisplayObject(viewBead.popUp).y = pt.y;
+            IEventDispatcher(viewBead.popUp).addEventListener("change", changeHandler);
+        }
+        
+        private function changeHandler(event:Event):void
+        {
+            var viewBead:IDropDownListView = _strand.getBeadByType(IDropDownListView) as IDropDownListView;
+            viewBead.popUpVisible = false;
+            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+            var popUpModel:ISelectionModel = viewBead.popUp.getBeadByType(ISelectionModel) as ISelectionModel;
+            selectionModel.selectedIndex = popUpModel.selectedIndex;
+			IEventDispatcher(_strand).dispatchEvent(new Event("change"));
+        }
+	
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/EditableTextKeyboardController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/EditableTextKeyboardController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/EditableTextKeyboardController.as
new file mode 100644
index 0000000..e505217
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/EditableTextKeyboardController.as
@@ -0,0 +1,55 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.controllers
+{
+	import org.apache.flex.core.CSSTextField;
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IBeadController;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.ITextModel;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.html.staticControls.beads.ITextFieldView;
+	
+	public class EditableTextKeyboardController implements IBead, IBeadController
+	{
+		public function EditableTextKeyboardController()
+		{
+		}
+		
+		private var model:ITextModel;
+		private var textField:CSSTextField;
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			model = UIBase(_strand).model as ITextModel;
+			
+			var viewBead:ITextFieldView = _strand.getBeadByType(ITextFieldView) as ITextFieldView;
+			textField = viewBead.textField;
+			textField.addEventListener("change", inputChangeHandler);
+		}
+		
+		private function inputChangeHandler( event:Object ) : void
+		{
+			model.text = textField.text;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ItemRendererMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ItemRendererMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ItemRendererMouseController.as
new file mode 100644
index 0000000..fbc0b1c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ItemRendererMouseController.as
@@ -0,0 +1,88 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.staticControls.beads.controllers
+{
+	import flash.events.MouseEvent;
+	
+	import org.apache.flex.core.IBeadController;
+	import org.apache.flex.core.IItemRenderer;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+
+	public class ItemRendererMouseController implements IBeadController
+	{
+		public function ItemRendererMouseController()
+		{
+		}
+		
+        private var renderer:IItemRenderer;
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+            renderer = value as IItemRenderer;
+            renderer.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
+            renderer.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
+            renderer.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
+		}
+		
+		protected function rollOverHandler(event:MouseEvent):void
+		{
+			var target:IItemRenderer = event.target as IItemRenderer;
+			if (target)
+			{
+                target.hovered = true;
+				target.dispatchEvent(new Event("rollover"));
+			}
+		}
+		
+		protected function rollOutHandler(event:MouseEvent):void
+		{
+			var target:IItemRenderer = event.target as IItemRenderer;
+			if (target)
+			{
+                target.hovered = false;
+                target.down = false;
+			}
+		}
+
+		protected function mouseDownHandler(event:MouseEvent):void
+		{
+			var target:IItemRenderer = event.currentTarget as IItemRenderer;
+			if (target)
+			{
+                target.down = true;
+				target.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
+			}
+		}
+		
+		protected function mouseUpHandler(event:MouseEvent):void
+		{
+			var target:IItemRenderer = event.currentTarget as IItemRenderer;
+			if (target)
+			{
+                target.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);                
+				target.selected = true;
+				target.dispatchEvent(new Event("selected"));
+			}			
+		}
+	
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ListSingleSelectionMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ListSingleSelectionMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ListSingleSelectionMouseController.as
new file mode 100644
index 0000000..ea870ab
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ListSingleSelectionMouseController.as
@@ -0,0 +1,67 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.controllers
+{
+	import org.apache.flex.core.IBeadController;
+	import org.apache.flex.core.IItemRenderer;
+	import org.apache.flex.core.IItemRendererParent;
+	import org.apache.flex.core.IRollOverModel;
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.beads.IListView;
+	
+
+	public class ListSingleSelectionMouseController implements IBeadController
+	{
+		public function ListSingleSelectionMouseController()
+		{
+		}
+		
+		protected var listModel:ISelectionModel;
+		protected var listView:IListView;
+		protected var dataGroup:IItemRendererParent;
+
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			listModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
+			listView = value.getBeadByType(IListView) as IListView;
+			dataGroup = listView.dataGroup;
+            dataGroup.addEventListener("selected", selectedHandler, true);
+            dataGroup.addEventListener("rollover", rolloverHandler, true);
+		}
+		
+        private function selectedHandler(event:Event):void
+        {
+            listModel.selectedIndex = IItemRenderer(event.target).index;
+            IEventDispatcher(listView.strand).dispatchEvent(new Event("change"));
+        }
+		
+        private function rolloverHandler(event:Event):void
+        {
+            IRollOverModel(listModel).rollOverIndex = IItemRenderer(event.target).index;
+            IEventDispatcher(listView.strand).dispatchEvent(new Event("rollover"));
+        }
+	
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ScrollBarMouseControllerBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ScrollBarMouseControllerBase.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ScrollBarMouseControllerBase.as
new file mode 100644
index 0000000..bb3d5d2
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/ScrollBarMouseControllerBase.as
@@ -0,0 +1,97 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.controllers
+{
+	import flash.events.MouseEvent;
+	
+	import org.apache.flex.core.IBeadController;
+	import org.apache.flex.core.IScrollBarModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.beads.IScrollBarView;
+
+	public class ScrollBarMouseControllerBase implements IBeadController
+	{
+		public function ScrollBarMouseControllerBase()
+		{
+		}
+		
+		protected var sbModel:IScrollBarModel;
+		protected var sbView:IScrollBarView;
+		
+		private var _strand:IStrand;
+		
+		public function get strand():IStrand
+		{
+			return _strand;
+		}
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			sbModel = value.getBeadByType(IScrollBarModel) as IScrollBarModel;
+			sbView = value.getBeadByType(IScrollBarView) as IScrollBarView;
+			sbView.decrement.addEventListener(MouseEvent.CLICK, decrementClickHandler);
+			sbView.increment.addEventListener(MouseEvent.CLICK, incrementClickHandler);
+            sbView.decrement.addEventListener("buttonRepeat", decrementClickHandler);
+            sbView.increment.addEventListener("buttonRepeat", incrementClickHandler);
+			sbView.track.addEventListener(MouseEvent.CLICK, trackClickHandler);
+			sbView.thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbMouseDownHandler);
+		}
+		
+	
+		protected function snap(value:Number):Number
+		{
+			var si:Number = sbModel.snapInterval;
+			var n:Number = Math.round((value - sbModel.minimum) / si) * si + sbModel.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;
+		}
+		
+		protected function decrementClickHandler(event:Event):void
+		{
+			sbModel.value = snap(Math.max(sbModel.minimum, sbModel.value - sbModel.stepSize));
+			IEventDispatcher(_strand).dispatchEvent(new Event("scroll"));
+		}
+		
+		protected function incrementClickHandler(event:Event):void
+		{
+			sbModel.value = snap(Math.min(sbModel.maximum - sbModel.pageSize, sbModel.value + sbModel.stepSize));	
+			IEventDispatcher(_strand).dispatchEvent(new Event("scroll"));
+		}
+		
+		protected function trackClickHandler(event:MouseEvent):void
+		{
+		}
+		
+		protected function thumbMouseDownHandler(event:MouseEvent):void
+		{
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/SliderMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/SliderMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/SliderMouseController.as
new file mode 100644
index 0000000..60c153a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/SliderMouseController.as
@@ -0,0 +1,108 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.controllers
+{
+	import flash.events.MouseEvent;
+	import flash.geom.Point;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IBeadController;
+	import org.apache.flex.core.IRangeModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.beads.ISliderView;
+	
+	public class SliderMouseController implements IBead, IBeadController
+	{
+		public function SliderMouseController()
+		{
+		}
+		
+		private var rangeModel:IRangeModel;
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			rangeModel = UIBase(value).model as IRangeModel;
+			
+			var sliderView:ISliderView = value.getBeadByType(ISliderView) as ISliderView;
+			sliderView.thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbDownHandler);
+			
+			// add handler to detect click on track
+			sliderView.track.addEventListener(MouseEvent.CLICK, trackClickHandler, false, 99999);
+		}
+		
+		private function thumbDownHandler( event:MouseEvent ) : void
+		{
+			UIBase(_strand).stage.addEventListener(MouseEvent.MOUSE_MOVE, thumbMoveHandler);
+			UIBase(_strand).stage.addEventListener(MouseEvent.MOUSE_UP, thumbUpHandler);
+			
+			var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
+			
+			origin = new Point(event.stageX, event.stageY);
+			thumb = new Point(sliderView.thumb.x,sliderView.thumb.y);
+		}
+		
+		private function thumbUpHandler( event:MouseEvent ) : void
+		{
+			UIBase(_strand).stage.removeEventListener(MouseEvent.MOUSE_MOVE, thumbMoveHandler);
+			UIBase(_strand).stage.removeEventListener(MouseEvent.MOUSE_UP, thumbUpHandler);
+			
+			IEventDispatcher(_strand).dispatchEvent(new Event("valueChanged"));
+		}
+		
+		private var origin:Point;
+		private var thumb:Point;
+		
+		private function thumbMoveHandler( event:MouseEvent ) : void
+		{
+			var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
+			
+			var deltaX:Number = event.stageX - origin.x;
+			var thumbW:Number = sliderView.thumb.width/2;
+			var newX:Number = thumb.x + deltaX;
+			
+			var p:Number = newX/UIBase(_strand).width;
+			var n:Number = p*(rangeModel.maximum - rangeModel.minimum) + rangeModel.minimum;
+		
+			rangeModel.value = n;
+			
+			IEventDispatcher(_strand).dispatchEvent(new Event("valueChanged"));
+		}
+		
+		private function trackClickHandler( event:MouseEvent ) : void
+		{
+			event.stopImmediatePropagation();
+			
+			var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
+			
+			var xloc:Number = event.localX;
+			var p:Number = xloc/UIBase(_strand).width;
+			var n:Number = p*(rangeModel.maximum - rangeModel.minimum) + rangeModel.minimum;
+			
+			rangeModel.value = n;
+			
+			IEventDispatcher(_strand).dispatchEvent(new Event("valueChanged"));
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/SpinnerMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/SpinnerMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/SpinnerMouseController.as
new file mode 100644
index 0000000..abb7e97
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/SpinnerMouseController.as
@@ -0,0 +1,65 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.controllers
+{
+	import flash.events.MouseEvent;
+	
+	import org.apache.flex.core.IBeadController;
+	import org.apache.flex.core.IRangeModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.beads.ISpinnerView;
+	
+	public class SpinnerMouseController implements IBeadController
+	{
+		public function SpinnerMouseController()
+		{
+		}
+		
+		private var rangeModel:IRangeModel;
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			rangeModel = UIBase(value).model as IRangeModel;
+			
+			var spinnerBead:ISpinnerView = value.getBeadByType(ISpinnerView) as ISpinnerView;
+			spinnerBead.decrement.addEventListener(MouseEvent.CLICK, decrementClickHandler);
+			spinnerBead.decrement.addEventListener("buttonRepeat", decrementClickHandler);
+			spinnerBead.increment.addEventListener(MouseEvent.CLICK, incrementClickHandler);
+			spinnerBead.increment.addEventListener("buttonRepeat", incrementClickHandler);
+		}
+		
+		private function decrementClickHandler( event:Event ) : void
+		{
+			rangeModel.value = Math.max(rangeModel.minimum, rangeModel.value - rangeModel.stepSize);
+			IEventDispatcher(_strand).dispatchEvent(new Event("valueChanged"));
+		}
+		
+		private function incrementClickHandler( event:Event ) : void
+		{
+			rangeModel.value = Math.min(rangeModel.maximum, rangeModel.value + rangeModel.stepSize);	
+			IEventDispatcher(_strand).dispatchEvent(new Event("valueChanged"));
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/VScrollBarMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/VScrollBarMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/VScrollBarMouseController.as
new file mode 100644
index 0000000..b99889e
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/VScrollBarMouseController.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.staticControls.beads.controllers
+{
+	import flash.display.DisplayObject;
+	import flash.events.MouseEvent;
+	
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	
+	public class VScrollBarMouseController extends ScrollBarMouseControllerBase
+	{
+		public function VScrollBarMouseController()
+		{
+		}
+		
+		override protected function trackClickHandler(event:MouseEvent):void
+		{
+			if (sbView.thumb.visible)
+			{
+				if (event.localY < sbView.thumb.y)
+				{
+					sbModel.value = snap(Math.max(sbModel.minimum, sbModel.value - sbModel.pageStepSize));						
+					IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
+				}
+				else
+				{
+					sbModel.value = snap(Math.min(sbModel.maximum - sbModel.pageSize, sbModel.value + sbModel.pageStepSize));
+					IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
+				}
+			}
+		}
+		
+		private var thumbDownY:Number;
+		private var lastThumbY:Number;
+		
+		override protected function thumbMouseDownHandler(event:MouseEvent):void
+		{
+			sbView.thumb.stage.addEventListener(MouseEvent.MOUSE_MOVE, thumbMouseMoveHandler);
+			sbView.thumb.stage.addEventListener(MouseEvent.MOUSE_UP, thumbMouseUpHandler);
+			thumbDownY = event.stageY;
+			lastThumbY = sbView.thumb.y;
+		}
+		
+		private function thumbMouseMoveHandler(event:MouseEvent):void
+		{
+			var thumb:DisplayObject = sbView.thumb;
+			var track:DisplayObject = sbView.track;
+			thumb.y = Math.max(track.y, Math.min(lastThumbY + (event.stageY - thumbDownY), track.y + track.height - thumb.height));
+			var newValue:Number = snap((thumb.y - track.y) / (track.height - thumb.height) * (sbModel.maximum - sbModel.minimum - sbModel.pageSize));
+			sbModel.value = newValue;
+			IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
+		}
+		
+		private function thumbMouseUpHandler(event:MouseEvent):void
+		{
+			sbView.thumb.stage.removeEventListener(MouseEvent.MOUSE_MOVE, thumbMouseMoveHandler);
+			sbView.thumb.stage.removeEventListener(MouseEvent.MOUSE_UP, thumbMouseUpHandler);			
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as
new file mode 100644
index 0000000..c7c0a2d
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as
@@ -0,0 +1,69 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.layouts
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	
+	import org.apache.flex.core.IBeadLayout;
+	import org.apache.flex.core.ILayoutParent;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	
+	public class ButtonBarLayout implements IBeadLayout
+	{
+		public function ButtonBarLayout()
+		{
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
+			IEventDispatcher(value).addEventListener("childrenAdded", changeHandler);
+			IEventDispatcher(value).addEventListener("itemsCreated", changeHandler);
+		}
+		
+		private function changeHandler(event:Event):void
+		{
+			var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
+			var contentView:DisplayObjectContainer = layoutParent.contentView;
+			
+			var n:int = contentView.numChildren;
+			var xpos:Number = 0;
+			var useWidth:Number = DisplayObject(_strand).width / n;
+			var useHeight:Number = DisplayObject(_strand).height;
+			
+			for (var i:int = 0; i < n; i++)
+			{
+				var child:DisplayObject = contentView.getChildAt(i);
+				
+				child.y = 0;
+				child.x = xpos;
+				child.width = useWidth;
+				child.height = useHeight;
+				xpos += useWidth;
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalLayout.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalLayout.as
new file mode 100644
index 0000000..1b793e1
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalLayout.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.staticControls.beads.layouts
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	
+	import org.apache.flex.core.IBeadLayout;
+	import org.apache.flex.core.ILayoutParent;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+
+	public class NonVirtualHorizontalLayout implements IBeadLayout
+	{
+		public function NonVirtualHorizontalLayout()
+		{
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
+			IEventDispatcher(value).addEventListener("childrenAdded", changeHandler);
+			IEventDispatcher(value).addEventListener("itemsCreated", changeHandler);
+		}
+	
+		private function changeHandler(event:Event):void
+		{
+			var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
+			var contentView:DisplayObjectContainer = layoutParent.contentView;
+			
+			var n:int = contentView.numChildren;
+			var marginLeft:Object;
+			var marginRight:Object;
+			var marginTop:Object;
+			var marginBottom:Object;
+			var margin:Object;
+			var maxHeight:Number = 0;
+			var verticalMargins:Array = [];
+			
+			for (var i:int = 0; i < n; i++)
+			{
+				var child:DisplayObject = contentView.getChildAt(i);
+				margin = ValuesManager.valuesImpl.getValue(child, "margin");
+				if (margin is Array)
+				{
+					if (margin.length == 1)
+						marginLeft = marginTop = marginRight = marginBottom = margin[0];
+					else if (margin.length <= 3)
+					{
+						marginLeft = marginRight = margin[1];
+						marginTop = marginBottom = margin[0];
+					}
+					else if (margin.length == 4)
+					{
+						marginLeft = margin[3];
+						marginBottom = margin[2];
+						marginRight = margin[1];
+						marginTop = margin[0];					
+					}
+				}
+				else if (margin == null)
+				{
+					marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
+					marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
+					marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
+					marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
+				}
+				else
+				{
+					marginLeft = marginTop = marginBottom = marginRight = margin;
+				}
+				var ml:Number;
+				var mr:Number;
+				var mt:Number;
+				var mb:Number;
+				var lastmr:Number;
+				mt = Number(marginTop);
+				if (isNaN(mt))
+					mt = 0;
+				mb = Number(marginBottom);
+				if (isNaN(mb))
+					mb = 0;
+				if (marginLeft == "auto")
+					ml = 0;
+				else
+				{
+					ml = Number(marginLeft);
+					if (isNaN(ml))
+						ml = 0;
+				}
+				if (marginRight == "auto")
+					mr = 0;
+				else
+				{
+					mr = Number(marginRight);
+					if (isNaN(mr))
+						mr = 0;
+				}
+				child.y = mt;
+				maxHeight = Math.max(maxHeight, ml + child.height + mr);
+				var xx:Number;
+				if (i == 0)
+					child.x = ml;
+				else
+					child.x = xx + ml + lastmr;
+				xx = child.x + child.width;
+				lastmr = mr;
+				var valign:Object = ValuesManager.valuesImpl.getValue(child, "vertical-align");
+				verticalMargins.push({ marginTop: marginTop, marginBottom: marginBottom, valign: valign });
+			}
+			for (i = 0; i < n; i++)
+			{
+				var obj:Object = verticalMargins[0]
+				child = contentView.getChildAt(i);
+				if (obj.valign == "middle")
+					child.y = maxHeight - child.height / 2;
+				else if (valign == "bottom")
+					child.y = maxHeight - child.height - obj.marginBottom;
+				else
+					child.y = obj.marginTop;
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalScrollingLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalScrollingLayout.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalScrollingLayout.as
new file mode 100644
index 0000000..00dcfc1
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalScrollingLayout.as
@@ -0,0 +1,110 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads.layouts
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	import flash.geom.Rectangle;
+	
+	import org.apache.flex.core.IBeadLayout;
+	import org.apache.flex.core.IBorderModel;
+	import org.apache.flex.core.ILayoutParent;
+	import org.apache.flex.core.IScrollBarModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.supportClasses.Border;
+	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
+	
+	public class NonVirtualHorizontalScrollingLayout implements IBeadLayout
+	{
+		public function NonVirtualHorizontalScrollingLayout()
+		{
+		}
+		
+		private var hScrollBar:ScrollBar;
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
+			IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
+			IEventDispatcher(value).addEventListener("itemsCreated", changeHandler);
+		}
+		
+		private function changeHandler(event:Event):void
+		{            
+			var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
+			var contentView:DisplayObjectContainer = layoutParent.contentView;
+			var border:Border = layoutParent.border;
+			var borderModel:IBorderModel = border.model as IBorderModel;
+			
+			var ww:Number = layoutParent.resizableView.width;
+			var hh:Number = layoutParent.resizableView.height;
+			border.width = ww;
+			border.height = hh;
+			
+			contentView.width = ww - borderModel.offsets.left - borderModel.offsets.right;
+			contentView.height = hh - borderModel.offsets.top - borderModel.offsets.bottom;
+			contentView.x = borderModel.offsets.left;
+			contentView.y = borderModel.offsets.top;
+			
+			var n:int = contentView.numChildren;
+			var xx:Number = 0;
+			for (var i:int = 0; i < n; i++)
+			{
+				var ir:DisplayObject = contentView.getChildAt(i);
+				ir.x = xx;
+				ir.height = contentView.height;
+				xx += ir.width;			
+			}
+			/*
+			if (xx > dataGroup.width)
+			{
+				hScrollBar = listView.hScrollBar;
+				dataGroup.height -= hScrollBar.height;
+				IScrollBarModel(hScrollBar.model).maximum = xx;
+				IScrollBarModel(hScrollBar.model).pageSize = dataGroup.width;
+				IScrollBarModel(hScrollBar.model).pageStepSize = dataGroup.width;
+				hScrollBar.visible = true;
+				hScrollBar.width = dataGroup.width;
+				hScrollBar.x = dataGroup.x;
+				hScrollBar.y = dataGroup.height;
+				var xpos:Number = IScrollBarModel(hScrollBar.model).value;
+				dataGroup.scrollRect = new Rectangle(xpos, 0, xpos + dataGroup.width, dataGroup.height);
+				hScrollBar.addEventListener("scroll", scrollHandler);
+			}
+			else if (hScrollBar)
+			{
+				dataGroup.scrollRect = null;
+				hScrollBar.visible = false;
+			}
+			*/
+		}
+		
+		/*private function scrollHandler(event:Event):void
+		{
+			var xpos:Number = IScrollBarModel(hScrollBar.model).value;
+			dataGroup.scrollRect = new Rectangle(xpos, 0, xpos + dataGroup.width, dataGroup.height);
+		}*/
+	}
+}
\ No newline at end of file


[09/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/styles/CSSSelector.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/styles/CSSSelector.as b/frameworks/as/src/mx/styles/CSSSelector.as
deleted file mode 100644
index dd0ada2..0000000
--- a/frameworks/as/src/mx/styles/CSSSelector.as
+++ /dev/null
@@ -1,69 +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 mx.styles
-{
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class CSSSelector
-{
-    //--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Constructor.
-     * 
-     *  @param subject The plain representation of this selector without
-     *  conditions or ancestors. This is typically a fully-qualified class name; for example,
-     *  "spark.components.Button". You can use "*" to match all components or "global" for a global selector.
-     *  
-     *  @param conditions  An optional Array of objects of type CSSCondition that is used to match a
-     *  subset of component instances. Currently only a single or a pair of
-     *  conditions are supported.
-     * 
-     *  @param ancestor An optional selector to match on a component that
-     *  descends from an arbitrary ancestor.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function CSSSelector(subject:String,
-            conditions:Array=null, ancestor:CSSSelector=null)
-    {
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Properties
-    //
-    //--------------------------------------------------------------------------
-
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/styles/CSSStyleDeclaration.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/styles/CSSStyleDeclaration.as b/frameworks/as/src/mx/styles/CSSStyleDeclaration.as
deleted file mode 100644
index 238504f..0000000
--- a/frameworks/as/src/mx/styles/CSSStyleDeclaration.as
+++ /dev/null
@@ -1,191 +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 mx.styles
-{
-    
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public class CSSStyleDeclaration
-{
-        
-    //--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Constructor.
-     *
-     *  @param selector - If the selector is a CSSSelector then advanced
-     *  CSS selectors are supported. If a String is used for the selector then
-     *  only simple CSS selectors are supported. If the String starts with a
-     *  dot it is interpreted as a universal class selector, otherwise it must
-     *  represent a simple type selector. If not null, this CSSStyleDeclaration
-     *  will be registered with StyleManager. 
-     *  
-     *  @param styleManager - The style manager to set this declaration into. If the
-     *  styleManager is null the top-level style manager will be used.
-     * 
-     *  @param autoRegisterWithStyleManager - If true set the selector in the styleManager. The selector
-     *  will only be set if both <code>selector</code> and <code>styleManager</code> are
-     *  both non-null.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function CSSStyleDeclaration(selector:Object=null, styleManager:IStyleManager2=null, autoRegisterWithStyleManager:Boolean = true)
-    {
-    }
-    
-    /**
-     *  This function, if it isn't <code>null</code>,
-     *  is usually autogenerated by the MXML compiler.
-     *  It produce copies of a plain Object, such as
-     *  <code>{ leftMargin: 10, rightMargin: 10 }</code>,
-     *  containing name/value pairs for style properties; the object is used
-     *  to build a node of the prototype chain for looking up style properties.
-     *
-     *  <p>If this CSSStyleDeclaration is owned by a UIComponent
-     *  written in MXML, this function encodes the style attributes
-     *  that were specified on the root tag of the component definition.</p>
-     *
-     *  <p>If the UIComponent was written in ActionScript,
-     *  this property is <code>null</code>.</p>
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function get defaultFactory():Function
-    {
-        return null;
-    }
-    
-    /**
-     *  @private
-     */ 
-    public function set defaultFactory(f:Function):void
-    {
-    }
-    
-    //----------------------------------
-    //  factory
-    //----------------------------------
-    
-    private var _factory:Function;
-    
-    [Inspectable(environment="none")]
-    
-    /**
-     *  This function, if it isn't <code>null</code>,
-     *  is usually autogenerated by the MXML compiler.
-     *  It produce copies of a plain Object, such as
-     *  <code>{ leftMargin: 10, rightMargin: 10 }</code>,
-     *  containing name/value pairs for style properties; the object is used
-     *  to build a node of the prototype chain for looking up style properties.
-     *
-     *  <p>If this CSSStyleDeclaration is owned by a UIComponent,
-     *  this function encodes the style attributes that were specified in MXML
-     *  for an instance of that component.</p>
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function get factory():Function
-    {
-        return _factory;
-    }
-    
-    /**
-     *  @private
-     */ 
-    public function set factory(f:Function):void
-    {
-        _factory = f;
-    }
-    
-    //----------------------------------
-    //  overrides
-    //----------------------------------
-    
-    private var _overrides:Object;
-    
-    /**
-     *  If the <code>setStyle()</code> method is called on a UIComponent or CSSStyleDeclaration
-     *  at run time, this object stores the name/value pairs that were set;
-     *  they override the name/value pairs in the objects produced by
-     *  the  methods specified by the <code>defaultFactory</code> and 
-     *  <code>factory</code> properties.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function get overrides():Object
-    {
-        return _overrides;
-    }
-    
-    /**
-     *  @private
-     */ 
-    public function set overrides(o:Object):void
-    {
-        _overrides = o;
-    }
-    
-    //----------------------------------
-    //  selector
-    //----------------------------------
-    
-    private var _selector:CSSSelector;
-    
-    /**
-     *  This property is the base selector of a potential chain of selectors
-     *  and conditions that are used to match CSS style declarations to
-     *  components.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get selector():CSSSelector
-    {
-        return _selector; 
-    }
-    
-    public function set selector(value:CSSSelector):void
-    {
-    }
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/styles/IStyleManager2.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/styles/IStyleManager2.as b/frameworks/as/src/mx/styles/IStyleManager2.as
deleted file mode 100644
index b8cb6f4..0000000
--- a/frameworks/as/src/mx/styles/IStyleManager2.as
+++ /dev/null
@@ -1,34 +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 mx.styles
-{
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-public interface IStyleManager2
-{
-    function getStyleDeclaration(selector:String):CSSStyleDeclaration;
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/mx/styles/StyleManager.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/mx/styles/StyleManager.as b/frameworks/as/src/mx/styles/StyleManager.as
deleted file mode 100644
index c54d9d2..0000000
--- a/frameworks/as/src/mx/styles/StyleManager.as
+++ /dev/null
@@ -1,50 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-/**
- * @private
- * This class is used to satisfy old MXML codegen
- * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
- * it isn't needed so there is no JS equivalent
- */
-package mx.styles
-{
-    import mx.core.IFlexModuleFactory;
-    
-	public class StyleManager
-	{
-        /**
-         *  Returns the style manager for an object.
-         *
-         *  @param moduleFactory The module factory of an object you want the 
-         *  style manager for. If null, the top-level style manager is returned.
-         *
-         *  @return the style manager for the given module factory.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10
-         *  @playerversion AIR 1.5
-         *  @productversion Flex 4
-         */
-        public static function getStyleManager(moduleFactory:IFlexModuleFactory):IStyleManager2
-        {
-            return null;
-        }
- 	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/binding/ConstantBinding.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/binding/ConstantBinding.as b/frameworks/as/src/org/apache/flex/binding/ConstantBinding.as
deleted file mode 100644
index bab1e7b..0000000
--- a/frameworks/as/src/org/apache/flex/binding/ConstantBinding.as
+++ /dev/null
@@ -1,52 +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.binding
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IDocument;
-	
-	public class ConstantBinding implements IBead, IDocument
-	{
-		public function ConstantBinding()
-		{
-		}
-		
-		protected var source:Object;
-		protected var document:Object;
-		protected var destination:Object;
-
-		public var sourceID:String;
-		public var sourcePropertyName:String;
-		public var destinationPropertyName:String;
-		
-		public function set strand(value:IStrand):void
-		{
-			destination = value;
-			source = document[sourceID];
-			destination[destinationPropertyName] = source[sourcePropertyName];
-		}
-		
-		public function setDocument(document:Object, id:String = null):void
-		{
-			this.document = document;
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/binding/GenericBinding.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/binding/GenericBinding.as b/frameworks/as/src/org/apache/flex/binding/GenericBinding.as
deleted file mode 100644
index 4cb6f5e..0000000
--- a/frameworks/as/src/org/apache/flex/binding/GenericBinding.as
+++ /dev/null
@@ -1,112 +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.binding
-{	
-	import flash.events.Event;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IDocument;
-	import org.apache.flex.core.IStrand;
-
-	public class GenericBinding implements IBead, IDocument
-	{
-		public function GenericBinding()
-		{
-		}
-		
-		protected var document:Object;
-        protected var destination:Object;
-
-		public var source:Object;
-		public var destinationData:Object;
-		public var destinationFunction:Function;
-		
-		public function set strand(value:IStrand):void
-		{
-			destination = value;
-            var val:Object = getValueFromSource();
-            applyValue(val);
-        }
-        
-        private function getValueFromSource():Object
-        {
-            if (source is Array)
-            {
-                var arr:Array = source as Array;
-                var n:int = arr.length;
-                var obj:Object = document[arr[0]];
-                if (obj == null)
-                    return null;
-                for (var i:int = 1; i < n; i++)
-                {
-                    obj = obj[arr[i]];
-                    if (obj == null)
-                        return null;
-                }
-                return obj;
-            }
-            else if (source is Function)
-            {
-                var fn:Function = source as Function;
-                obj = fn.apply(document);
-                return obj;
-            }
-            else if (source is String)
-            {
-                obj = document[source];
-                return obj;
-            }
-            return null;
-		}
-        
-        private function applyValue(value:Object):void
-        {
-			if (destinationFunction != null)
-			{
-				destinationFunction.apply(document, [value]);
-			}
-			else if (destinationData is Array)
-            {
-                var arr:Array = destinationData as Array;
-                var n:int = arr.length;
-                var obj:Object = document[arr[0]];
-                if (obj == null)
-                    return;
-                for (var i:int = 1; i < n - 1; i++)
-                {
-                    obj = obj[arr[i]];
-                    if (obj == null)
-                        return;
-                }
-                obj[arr[n-1]] = value;                
-            }
-        }
-		
-		public function setDocument(document:Object, id:String = null):void
-		{
-			this.document = document;
-		}
-		
-		public function valueChanged(value:Object):void
-		{
-            var val:Object = getValueFromSource();
-            applyValue(val);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/binding/PropertyWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/binding/PropertyWatcher.as b/frameworks/as/src/org/apache/flex/binding/PropertyWatcher.as
deleted file mode 100644
index bde39e6..0000000
--- a/frameworks/as/src/org/apache/flex/binding/PropertyWatcher.as
+++ /dev/null
@@ -1,156 +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.binding
-{	
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.events.ValueChangeEvent;
-
-	public class PropertyWatcher extends WatcherBase
-	{
-		public function PropertyWatcher(source:Object, propertyName:String, eventNames:Object, 
-                                            getterFunction:Function)
-		{
-            this.source = source;
-            this.propertyName = propertyName;
-            this.getterFunction = getterFunction;
-            this.eventNames = eventNames;
-            
-		}
-		
-		public var source:Object;
-        public var propertyName:String;
-        public var eventNames:Object;
-        public var getterFunction:Function;
-		
-        protected function changeHandler(event:Event):void
-        {
-            if (event is ValueChangeEvent)
-            {
-                var propName:String = ValueChangeEvent(event).propertyName;
-                
-                if (propName != propertyName)
-                    return;
-            }
-            
-            wrapUpdate(updateProperty);
-            
-            notifyListeners();
-            
-        }
-        
-        //--------------------------------------------------------------------------
-        //
-        //  Overridden methods: Watcher
-        //
-        //--------------------------------------------------------------------------
-        
-        /**
-         *  If the parent has changed we need to update ourselves
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-        override public function parentChanged(parent:Object):void
-        {
-            if (source && source is IEventDispatcher)
-                removeEventListeners();
-
-            source = parent;
-            
-            if (source)
-                addEventListeners();
-            
-            // Now get our property.
-            wrapUpdate(updateProperty);
-        }
-
-        private function addEventListeners():void
-        {
-            if (eventNames is String)
-                source.addEventListener(eventNames as String, changeHandler);
-            else if (eventNames is Array)
-            {
-                var arr:Array = eventNames as Array;
-                var n:int = arr.length;
-                for (var i:int = 0; i < n; i++)
-                {
-                    var eventName:String = eventNames[i];
-                    source.addEventListener(eventName, changeHandler);           
-                }
-            }
-        }
-        
-        private function removeEventListeners():void
-        {
-            if (eventNames is String)
-                source.removeEventListener(eventNames as String, changeHandler);
-            else if (eventNames is Array)
-            {
-                var arr:Array = eventNames as Array;
-                var n:int = arr.length;
-                for (var i:int = 0; i < n; i++)
-                {
-                    var eventName:String = eventNames[i];
-                    source.removeEventListener(eventName, changeHandler);           
-                }
-            }
-        }
-        
-        /**
-         *  Gets the actual property then updates
-         *  the Watcher's children appropriately.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-        private function updateProperty():void
-        {
-            if (source)
-            {
-                if (propertyName == "this")
-                {
-                    value = source;
-                }
-                else
-                {
-                    if (getterFunction != null)
-                    {
-                        value = getterFunction.apply(source, [ propertyName ]);
-                    }
-                    else
-                    {
-                        value = source[propertyName];
-                    }
-                }
-            }
-            else
-            {
-                value = null;
-            }
-            
-            updateChildren();
-        }
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/binding/SimpleBinding.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/binding/SimpleBinding.as b/frameworks/as/src/org/apache/flex/binding/SimpleBinding.as
deleted file mode 100644
index bab9378..0000000
--- a/frameworks/as/src/org/apache/flex/binding/SimpleBinding.as
+++ /dev/null
@@ -1,64 +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.binding
-{	
-	import flash.events.IEventDispatcher;
-	import flash.events.Event;
-
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IDocument;
-
-	public class SimpleBinding implements IBead, IDocument
-	{
-		public function SimpleBinding()
-		{
-		}
-		
-		protected var source:IEventDispatcher;
-		protected var document:Object;
-		protected var destination:Object;
-
-		public var sourceID:String;
-		public var sourcePropertyName:String;
-		public var eventName:String;
-		public var destinationPropertyName:String;
-		
-		public function set strand(value:IStrand):void
-		{
-			destination = value;
-            if (sourceID != null)
-    			source = document[sourceID] as IEventDispatcher;
-            else
-                source = document as IEventDispatcher;
-			source.addEventListener(eventName, changeHandler);
-			destination[destinationPropertyName] = source[sourcePropertyName];
-		}
-		
-		public function setDocument(document:Object, id:String = null):void
-		{
-			this.document = document;
-		}
-		
-		private function changeHandler(event:Event):void
-		{
-			destination[destinationPropertyName] = source[sourcePropertyName];
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/binding/WatcherBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/binding/WatcherBase.as b/frameworks/as/src/org/apache/flex/binding/WatcherBase.as
deleted file mode 100644
index 47d4286..0000000
--- a/frameworks/as/src/org/apache/flex/binding/WatcherBase.as
+++ /dev/null
@@ -1,236 +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.binding
-{
-    
-    public class WatcherBase
-    {
-        //--------------------------------------------------------------------------
-        //
-        //  Constructor
-        //
-        //--------------------------------------------------------------------------
-        
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-        public function WatcherBase()
-        {
-            super();
-        }
-        
-        //--------------------------------------------------------------------------
-        //
-        //  Variables
-        //
-        //--------------------------------------------------------------------------
-        
-        /**
-         *  @private
-         *  The binding objects that are listening to this Watcher.
-         *  The standard event mechanism isn't used because it's too heavyweight.
-         */
-        protected var listeners:Array;
-        
-        /**
-         *  @private
-         *  Children of this watcher are watching sub values.
-         */
-        protected var children:Array;
-        
-        /**
-         *  @private
-         *  The value itself.
-         */
-        public var value:Object;
-        
-        //--------------------------------------------------------------------------
-        //
-        //  Methods
-        //
-        //--------------------------------------------------------------------------
-        
-        /**
-         *  @private
-         *  This is an abstract method that subclasses implement.
-         */
-        public function parentChanged(parent:Object):void
-        {
-        }
-        
-        /**
-         *  @private
-         *  Add a child to this watcher, meaning that the child
-         *  is watching a sub value of ours.
-         */
-        public function addChild(child:WatcherBase):void
-        {
-            if (!children)
-                children = [ child ];
-            else
-                children.push(child);
-            
-            child.parentChanged(this);
-        }
-        
-        /**
-         *  @private
-         *  Add a binding to this watcher, meaning that the binding
-         *  is notified when our value changes.
-         */
-        public function addBinding(binding:GenericBinding):void
-        {
-            if (!listeners)
-                listeners = [ binding ];
-            else
-                listeners.push(binding);
-            
-            binding.valueChanged(value);
-        }
-                
-        /**
-         *  We have probably changed, so go through
-         *  and make sure our children are updated.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-        public function updateChildren():void
-        {
-            if (children)
-            {
-                var n:int = children.length;
-                for (var i:int = 0; i < n; ++i)
-                {
-                    children[i].parentChanged(this);
-                }
-            }
-        }
-        
-        /**
-         *  @private
-         */
-        private function valueChanged(oldval:Object):Boolean
-        {
-            if (oldval == null && value == null)
-                return false;
-            
-            var valType:String = typeof(value);
-            
-            // The first check is meant to catch the delayed instantiation case
-            // where a control comes into existence but its value is still
-            // the equivalent of not having been filled in.
-            // Otherwise we simply return whether the value has changed.
-            
-            if (valType == "string")
-            {
-                if (oldval == null && value == "")
-                    return false;
-                else
-                    return oldval != value;
-            }
-            
-            if (valType == "number")
-            {
-                if (oldval == null && value == 0)
-                    return false;
-                else
-                    return oldval != value;
-            }
-            
-            if (valType == "boolean")
-            {
-                if (oldval == null && value == false)
-                    return false;
-                else
-                    return oldval != value;
-            }
-            
-            return true;
-        }
-        
-        /**
-         *  @private
-         */
-        protected function wrapUpdate(wrappedFunction:Function):void
-        {
-            try
-            {
-                wrappedFunction.apply(this);
-            }
-            catch(error:Error)
-            {
-                var n:int = allowedErrorTypes.length;
-                for (var i:int = 0; i < n; i++)
-                {
-                    if (error is allowedErrorTypes[i].type)
-                    {
-                        var handler:Function = allowedErrorTypes[i].handler;
-                        if (handler != null)
-                            value = handler(this, wrappedFunction);
-                        else
-                            value = null;
-                    }
-                }
-                
-                if (allowedErrors.indexOf(error.errorID) == -1)
-                    throw error;
-            }
-        }
-        
-        // Certain errors are normal when executing an update, so we swallow them:
-        public static var allowedErrors:Array = [
-            1006, //   Error #1006: Call attempted on an object that is not a function.
-            1009, //   Error #1009: null has no properties.
-            1010, //   Error #1010: undefined has no properties.
-            1055, //   Error #1055: - has no properties.
-            1069, //   Error #1069: Property - not found on - and there is no default value
-            1507 //   Error #1507: - invalid null argument.
-            ];
-        
-        public static var allowedErrorTypes:Array = [
-            { type: RangeError /*, handler: function(w:WatcherBase, wrappedFunction:Function):Object { return null }*/ }
-            ];
-        
-        /**
-         *  @private
-         */
-        public function notifyListeners():void
-        {
-            if (listeners)
-            {
-                var n:int = listeners.length;
-                
-                for (var i:int = 0; i < n; i++)
-                {
-                    listeners[i].valueChanged(value);
-                }
-            }
-        }
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/Application.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/Application.as b/frameworks/as/src/org/apache/flex/core/Application.as
deleted file mode 100644
index a126b6f..0000000
--- a/frameworks/as/src/org/apache/flex/core/Application.as
+++ /dev/null
@@ -1,167 +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.core
-{
-    import flash.display.DisplayObject;
-    import flash.display.Sprite;
-    import flash.display.StageAlign;
-    import flash.display.StageScaleMode;
-    import flash.events.IOErrorEvent;
-    
-    import org.apache.flex.events.Event;
-    import org.apache.flex.utils.MXMLDataInterpreter;
-    
-    //--------------------------------------
-    //  Events
-    //--------------------------------------
-    
-    /**
-     *  Dispatched at startup.
-     */
-    [Event(name="initialize", type="org.apache.flex.events.Event")]
-    
-    public class Application extends Sprite implements IStrand, IFlexInfo, IParent
-    {
-        public function Application()
-        {
-            super();
-			if (stage)
-			{
-				stage.align = StageAlign.TOP_LEFT;
-				stage.scaleMode = StageScaleMode.NO_SCALE;
-			}
-			
-            loaderInfo.addEventListener(flash.events.Event.INIT, initHandler);
-        }
-
-        private function initHandler(event:flash.events.Event):void
-        {
-            ValuesManager.valuesImpl = valuesImpl;
-            ValuesManager.valuesImpl.init(this);
-
-            dispatchEvent(new Event("initialize"));
-
-            initialView.applicationModel =  model;
-    	    this.addElement(initialView);
-    	    dispatchEvent(new Event("viewChanged"));
-        }
-
-        public var valuesImpl:IValuesImpl;
-
-        public var initialView:ViewBase;
-
-        public var model:Object;
-
-        public var controller:Object;
-
-        public function get MXMLDescriptor():Array
-        {
-            return null;
-        }
-
-    	public function generateMXMLAttributes(data:Array):void
-        {
-			MXMLDataInterpreter.generateMXMLProperties(this, data);
-        }
-        
-        // beads declared in MXML are added to the strand.
-        // from AS, just call addBead()
-        public var beads:Array;
-        
-        private var _beads:Vector.<IBead>;
-        public function addBead(bead:IBead):void
-        {
-            if (!_beads)
-                _beads = new Vector.<IBead>;
-            _beads.push(bead);
-            bead.strand = this;
-        }
-        
-        public function getBeadByType(classOrInterface:Class):IBead
-        {
-            for each (var bead:IBead in _beads)
-            {
-                if (bead is classOrInterface)
-                    return bead;
-            }
-            return null;
-        }
-        
-        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;
-        }
-        
-        public function get info():Object
-        {
-            return {};           
-        }
-        
-        public function addElement(c:Object):void
-        {
-            if (c is IUIBase)
-            {
-                addChild(IUIBase(c).element as DisplayObject);
-                IUIBase(c).addedToParent();
-            }
-            else
-                addChild(c as DisplayObject);
-        }
-        
-        public function addElementAt(c:Object, index:int):void
-        {
-            if (c is IUIBase)
-            {
-                addChildAt(IUIBase(c).element as DisplayObject, index);
-                IUIBase(c).addedToParent();
-            }
-            else
-                addChildAt(c as DisplayObject, index);
-        }
-
-        public function getElementIndex(c:Object):int
-        {
-            if (c is IUIBase)
-                return getChildIndex(IUIBase(c).element as DisplayObject);
-
-            return getChildIndex(c as DisplayObject);
-        }
-        
-        public function removeElement(c:Object):void
-        {
-            if (c is IUIBase)
-            {
-                removeChild(IUIBase(c).element as DisplayObject);
-            }
-            else
-                removeChild(c as DisplayObject);
-        }
-        
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/CSSTextField.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/CSSTextField.as b/frameworks/as/src/org/apache/flex/core/CSSTextField.as
deleted file mode 100644
index ed1c87b..0000000
--- a/frameworks/as/src/org/apache/flex/core/CSSTextField.as
+++ /dev/null
@@ -1,59 +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.core
-{
-	import flash.text.TextField;
-	import flash.text.TextFormat;
-	
-	import org.apache.flex.core.ValuesManager;
-		
-	public class CSSTextField extends TextField
-	{
-		public function CSSTextField()
-		{
-			super();
-		}
-		
-		// if used as the display object in a button, parent is null and
-		// the css lookup doesn't work.  This will be used if parent is 
-		// null.
-		public var styleParent:Object;
-		
-		override public function set text(value:String):void
-		{
-			var sp:Object = parent;
-			if (!sp)
-				sp = styleParent;
-			
-			var tf: TextFormat = new TextFormat();
-			tf.font = ValuesManager.valuesImpl.getValue(sp, "fontFamily") as String;
-			tf.size = ValuesManager.valuesImpl.getValue(sp, "fontSize");
-			tf.bold = ValuesManager.valuesImpl.getValue(sp, "fontWeight") == "bold";
-			tf.color = ValuesManager.valuesImpl.getValue(sp, "color");
-			var padding:Object = ValuesManager.valuesImpl.getValue(sp, "padding");
-			if (padding != null)
-			{
-				tf.leftMargin = padding;
-				tf.rightMargin = padding;
-			}
-			defaultTextFormat = tf;
-			super.text = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IAlertModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IAlertModel.as b/frameworks/as/src/org/apache/flex/core/IAlertModel.as
deleted file mode 100644
index 03707cc..0000000
--- a/frameworks/as/src/org/apache/flex/core/IAlertModel.as
+++ /dev/null
@@ -1,52 +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.core
-{
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public interface IAlertModel extends IEventDispatcher, IBeadModel
-	{
-		function get title():String;
-		function set title(value:String):void;
-		
-		function get htmlTitle():String;
-		function set htmlTitle(value:String):void;
-		
-		function get message():String;
-		function set message(value:String):void;
-		
-		function get htmlMessage():String;
-		function set htmlMessage(value:String):void;
-		
-		function get flags():uint;
-		function set flags(value:uint):void;
-		
-		function get okLabel():String;
-		function set okLabel(value:String):void;
-		
-		function get cancelLabel():String;
-		function set cancelLabel(value:String):void;
-		
-		function get yesLabel():String;
-		function set yesLabel(value:String):void;
-		
-		function get noLabel():String;
-		function set noLabel(value:String):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IBead.as b/frameworks/as/src/org/apache/flex/core/IBead.as
deleted file mode 100644
index 5367708..0000000
--- a/frameworks/as/src/org/apache/flex/core/IBead.as
+++ /dev/null
@@ -1,25 +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.core
-{
-	public interface IBead
-	{
-		function set strand(value:IStrand):void
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IBeadController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IBeadController.as b/frameworks/as/src/org/apache/flex/core/IBeadController.as
deleted file mode 100644
index fa5a8f8..0000000
--- a/frameworks/as/src/org/apache/flex/core/IBeadController.as
+++ /dev/null
@@ -1,28 +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.core
-{
-	/** 
-	 *  Marker interface for Controllers
-	 */
-	public interface IBeadController extends IBead
-	{
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IBeadLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IBeadLayout.as b/frameworks/as/src/org/apache/flex/core/IBeadLayout.as
deleted file mode 100644
index 662c99c..0000000
--- a/frameworks/as/src/org/apache/flex/core/IBeadLayout.as
+++ /dev/null
@@ -1,28 +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.core
-{
-	/** 
-	 *  Marker interface for Layouts
-	 */
-	public interface IBeadLayout extends IBead
-	{
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IBeadModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IBeadModel.as b/frameworks/as/src/org/apache/flex/core/IBeadModel.as
deleted file mode 100644
index b339984..0000000
--- a/frameworks/as/src/org/apache/flex/core/IBeadModel.as
+++ /dev/null
@@ -1,30 +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.core
-{
-	import org.apache.flex.events.IEventDispatcher;
-
-	/** 
-	 *  Marker interface for models
-	 */
-	public interface IBeadModel extends IBead, IEventDispatcher
-	{
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IBeadView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IBeadView.as b/frameworks/as/src/org/apache/flex/core/IBeadView.as
deleted file mode 100644
index 57704b5..0000000
--- a/frameworks/as/src/org/apache/flex/core/IBeadView.as
+++ /dev/null
@@ -1,28 +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.core
-{
-
-	/** 
-	 *  Marker interface for Views
-	 */
-	public interface IBeadView extends IBead
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IBorderModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IBorderModel.as b/frameworks/as/src/org/apache/flex/core/IBorderModel.as
deleted file mode 100644
index 334ffd8..0000000
--- a/frameworks/as/src/org/apache/flex/core/IBorderModel.as
+++ /dev/null
@@ -1,27 +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.core
-{
-    import flash.geom.Rectangle;
-
-	public interface IBorderModel extends IBead, IBeadModel
-	{
-		function get offsets():Rectangle;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IChrome.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IChrome.as b/frameworks/as/src/org/apache/flex/core/IChrome.as
deleted file mode 100644
index c53a94d..0000000
--- a/frameworks/as/src/org/apache/flex/core/IChrome.as
+++ /dev/null
@@ -1,31 +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.core
-{
-	/**
-	 * Items that implement IChrome are designating themselves as being attached
-	 * to their parent in a way that's different from normal content. For example,
-	 * to a Container, a child being added that's an IChrome implementor will be
-	 * added outside of the content area.
-	 */
-	public interface IChrome
-	{
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IComboBoxModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IComboBoxModel.as b/frameworks/as/src/org/apache/flex/core/IComboBoxModel.as
deleted file mode 100644
index f68638b..0000000
--- a/frameworks/as/src/org/apache/flex/core/IComboBoxModel.as
+++ /dev/null
@@ -1,40 +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.core
-{
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public interface IComboBoxModel extends IEventDispatcher, IBeadModel
-	{
-		function get text():String;
-		function set text(value:String):void;
-		
-		function get html():String;
-		function set html(value:String):void;
-		
-		function get dataProvider():Object;
-		function set dataProvider(value:Object):void;
-		
-		function get selectedIndex():int;
-		function set selectedIndex(value:int):void;
-		
-		function get selectedItem():Object;
-		function set selectedItem(value:Object):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IContainer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IContainer.as b/frameworks/as/src/org/apache/flex/core/IContainer.as
deleted file mode 100644
index 630bdbc..0000000
--- a/frameworks/as/src/org/apache/flex/core/IContainer.as
+++ /dev/null
@@ -1,25 +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.core
-{
-    public interface IContainer extends IParent
-	{
-		function childrenAdded():void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IDataGridModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IDataGridModel.as b/frameworks/as/src/org/apache/flex/core/IDataGridModel.as
deleted file mode 100644
index 606d938..0000000
--- a/frameworks/as/src/org/apache/flex/core/IDataGridModel.as
+++ /dev/null
@@ -1,26 +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.core
-{
-	public interface IDataGridModel extends ISelectionModel
-	{
-		function get labelFields():Object;
-		function set labelFields(value:Object):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IDataGridPresentationModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IDataGridPresentationModel.as b/frameworks/as/src/org/apache/flex/core/IDataGridPresentationModel.as
deleted file mode 100644
index 34a5d84..0000000
--- a/frameworks/as/src/org/apache/flex/core/IDataGridPresentationModel.as
+++ /dev/null
@@ -1,31 +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.core
-{
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public interface IDataGridPresentationModel extends IEventDispatcher, IBead
-	{
-		function get columnLabels():Array;
-		function set columnLabels(value:Array):void;
-		
-		function get rowHeight():Number;
-		function set rowHeight(value:Number):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IDocument.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IDocument.as b/frameworks/as/src/org/apache/flex/core/IDocument.as
deleted file mode 100644
index 03bdce8..0000000
--- a/frameworks/as/src/org/apache/flex/core/IDocument.as
+++ /dev/null
@@ -1,25 +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.core
-{
-	public interface IDocument
-	{
-		function setDocument(document:Object, id:String = null):void
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IFlexInfo.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IFlexInfo.as b/frameworks/as/src/org/apache/flex/core/IFlexInfo.as
deleted file mode 100644
index 0bd8357..0000000
--- a/frameworks/as/src/org/apache/flex/core/IFlexInfo.as
+++ /dev/null
@@ -1,29 +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.core
-{
-    /**
-     * An object of various properties and values that are not otherwise
-     * linked in by hard class references, like styles, rsls, mixins.
-     */
-	public interface IFlexInfo
-	{
-		function get info():Object
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IImageModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IImageModel.as b/frameworks/as/src/org/apache/flex/core/IImageModel.as
deleted file mode 100644
index dc924eb..0000000
--- a/frameworks/as/src/org/apache/flex/core/IImageModel.as
+++ /dev/null
@@ -1,28 +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.core
-{
-	import org.apache.flex.events.IEventDispatcher;
-
-	public interface IImageModel extends IEventDispatcher, IBeadModel
-	{
-		function get source():String;
-		function set source(value:String):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IItemRenderer.as b/frameworks/as/src/org/apache/flex/core/IItemRenderer.as
deleted file mode 100644
index 5f7f685..0000000
--- a/frameworks/as/src/org/apache/flex/core/IItemRenderer.as
+++ /dev/null
@@ -1,40 +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.core
-{
-	import org.apache.flex.events.IEventDispatcher;
-
-	public interface IItemRenderer extends IEventDispatcher
-	{
-		function get data():Object;
-		function set data(value:Object):void;
-		
-		function get index():int;
-		function set index(value:int):void;
-		
-		function get selected():Boolean;
-		function set selected(value:Boolean):void;
-        
-        function get hovered():Boolean;
-        function set hovered(value:Boolean):void;
-
-        function get down():Boolean;
-        function set down(value:Boolean):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IItemRendererClassFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IItemRendererClassFactory.as b/frameworks/as/src/org/apache/flex/core/IItemRendererClassFactory.as
deleted file mode 100644
index 5f8c751..0000000
--- a/frameworks/as/src/org/apache/flex/core/IItemRendererClassFactory.as
+++ /dev/null
@@ -1,25 +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.core
-{
-	public interface IItemRendererClassFactory extends IBead
-	{
-		function createItemRenderer(parent:IItemRendererParent):IItemRenderer;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IItemRendererParent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IItemRendererParent.as b/frameworks/as/src/org/apache/flex/core/IItemRendererParent.as
deleted file mode 100644
index 0095b2e..0000000
--- a/frameworks/as/src/org/apache/flex/core/IItemRendererParent.as
+++ /dev/null
@@ -1,29 +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.core
-{
-	import flash.display.DisplayObject;
-	import org.apache.flex.events.IEventDispatcher;
-
-	public interface IItemRendererParent extends IParent, IEventDispatcher
-	{
-		function getItemRendererForIndex(index:int):IItemRenderer;
-		function removeAllElements():void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/ILayoutParent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/ILayoutParent.as b/frameworks/as/src/org/apache/flex/core/ILayoutParent.as
deleted file mode 100644
index 3604b37..0000000
--- a/frameworks/as/src/org/apache/flex/core/ILayoutParent.as
+++ /dev/null
@@ -1,38 +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.core
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	
-	import org.apache.flex.html.staticControls.supportClasses.Border;
-	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
-
-	public interface ILayoutParent
-	{
-		function get contentView():DisplayObjectContainer;
-		
-		function get border():Border;
-		
-		function get vScrollBar():ScrollBar;
-		function get hScrollBar():ScrollBar;
-		
-		function get resizableView():DisplayObject;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IMeasurementBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IMeasurementBead.as b/frameworks/as/src/org/apache/flex/core/IMeasurementBead.as
deleted file mode 100644
index 3e294f4..0000000
--- a/frameworks/as/src/org/apache/flex/core/IMeasurementBead.as
+++ /dev/null
@@ -1,26 +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.core
-{
-	public interface IMeasurementBead extends IBead
-	{
-		function get measuredWidth():Number;
-		function get measuredHeight():Number;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IPanelModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IPanelModel.as b/frameworks/as/src/org/apache/flex/core/IPanelModel.as
deleted file mode 100644
index 24fac27..0000000
--- a/frameworks/as/src/org/apache/flex/core/IPanelModel.as
+++ /dev/null
@@ -1,25 +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.core
-{
-	public interface IPanelModel extends IBeadModel, ITitleBarModel
-	{
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IParent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IParent.as b/frameworks/as/src/org/apache/flex/core/IParent.as
deleted file mode 100755
index 111c925..0000000
--- a/frameworks/as/src/org/apache/flex/core/IParent.as
+++ /dev/null
@@ -1,28 +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.core
-{
-    public interface IParent
-	{
-        function addElement(c:Object):void;
-        function addElementAt(c:Object, index:int):void;
-        function getElementIndex(c:Object):int;
-        function removeElement(c:Object):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IPopUp.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IPopUp.as b/frameworks/as/src/org/apache/flex/core/IPopUp.as
deleted file mode 100644
index 4658554..0000000
--- a/frameworks/as/src/org/apache/flex/core/IPopUp.as
+++ /dev/null
@@ -1,25 +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.core
-{
-    // marker interface to differentiate popups from other objects
-	public interface IPopUp
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IPopUpHost.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IPopUpHost.as b/frameworks/as/src/org/apache/flex/core/IPopUpHost.as
deleted file mode 100755
index fc8a89a..0000000
--- a/frameworks/as/src/org/apache/flex/core/IPopUpHost.as
+++ /dev/null
@@ -1,24 +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.core
-{
-    public interface IPopUpHost extends IParent
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IRangeModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IRangeModel.as b/frameworks/as/src/org/apache/flex/core/IRangeModel.as
deleted file mode 100644
index 62e886d..0000000
--- a/frameworks/as/src/org/apache/flex/core/IRangeModel.as
+++ /dev/null
@@ -1,38 +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.core
-{
-	public interface IRangeModel extends IBeadModel
-	{
-		function get maximum():Number;
-		function set maximum(value:Number):void;
-		
-		function get minimum():Number;
-		function set minimum(value:Number):void;
-
-		function get snapInterval():Number;
-		function set snapInterval(value:Number):void;
-
-		function get stepSize():Number;
-		function set stepSize(value:Number):void;
-
-		function get value():Number;
-		function set value(value:Number):void;
-}
-}
\ No newline at end of file


[20/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/jquery-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/jquery-manifest.xml b/frameworks/as/jquery-manifest.xml
deleted file mode 100644
index cdb9dd5..0000000
--- a/frameworks/as/jquery-manifest.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.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.
-
--->
-
-
-<componentPackage>
-
-    <component id="Application" class="org.apache.flex.jquery.Application"/>
-    <component id="TextButton" class="org.apache.flex.jquery.staticControls.TextButton"/>
-    <component id="CheckBox" class="org.apache.flex.jquery.staticControls.CheckBox"/>
-    <component id="RadioButton" class="org.apache.flex.jquery.staticControls.RadioButton"/>
-
-</componentPackage>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/mx-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/mx-manifest.xml b/frameworks/as/mx-manifest.xml
deleted file mode 100644
index 6654ace..0000000
--- a/frameworks/as/mx-manifest.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.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.
-
--->
-
-
-<componentPackage>
-
-    <component id="State" class="mx.states.State"/>
-
-</componentPackage>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/basic-manifest.xml b/frameworks/as/projects/FlexJSUI/basic-manifest.xml
new file mode 100644
index 0000000..7b2aaa5
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/basic-manifest.xml
@@ -0,0 +1,74 @@
+<?xml version="1.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.
+
+-->
+
+
+<componentPackage>
+
+    <component id="Application" class="org.apache.flex.core.Application"/>
+    <component id="SimpleValuesImpl" class="org.apache.flex.core.SimpleValuesImpl"/>
+    <component id="SimpleCSSValuesImpl" class="org.apache.flex.core.SimpleCSSValuesImpl"/>
+    <component id="ViewBase" class="org.apache.flex.core.ViewBase"/>
+    <component id="ConstantBinding" class="org.apache.flex.binding.ConstantBinding"/>
+    <component id="SimpleBinding" class="org.apache.flex.binding.SimpleBinding"/>
+    <component id="Button" class="org.apache.flex.html.staticControls.Button"/>
+    <component id="ButtonBar" class="org.apache.flex.html.staticControls.ButtonBar"/>
+    <component id="DataGrid" class="org.apache.flex.html.staticControls.DataGrid"/>
+    <component id="DropDownList" class="org.apache.flex.html.staticControls.DropDownList"/>
+    <component id="DropDownListList" class="org.apache.flex.html.staticControls.supportClasses.DropDownListList"/>
+    <component id="Image" class="org.apache.flex.html.staticControls.Image"/>
+    <component id="Label" class="org.apache.flex.html.staticControls.Label"/>
+    <component id="TextButton" class="org.apache.flex.html.staticControls.TextButton"/>
+    <component id="TextInput" class="org.apache.flex.html.staticControls.TextInput"/>
+    <component id="TextArea" class="org.apache.flex.html.staticControls.TextArea"/>
+    <component id="List" class="org.apache.flex.html.staticControls.List"/>
+    <component id="SimpleList" class="org.apache.flex.html.staticControls.SimpleList"/>
+    <component id="CheckBox" class="org.apache.flex.html.staticControls.CheckBox"/>
+    <component id="RadioButton" class="org.apache.flex.html.staticControls.RadioButton"/>
+    <component id="ComboBox" class="org.apache.flex.html.staticControls.ComboBox"/>
+    <component id="HTTPService" class="org.apache.flex.net.HTTPService"/>
+    <component id="LazyCollection" class="org.apache.flex.net.dataConverters.LazyCollection"/>
+    <component id="JSONInputParser" class="org.apache.flex.net.JSONInputParser"/>
+    <component id="JSONItemConverter" class="org.apache.flex.net.JSONItemConverter"/>
+    <component id="ViewSourceContextMenuOption" class="org.apache.flex.utils.ViewSourceContextMenuOption"/>
+    <component id="BinaryUploader" class="org.apache.flex.net.BinaryUploader"/>
+    <component id="Container" class="org.apache.flex.html.staticControls.Container"/>
+    <component id="Panel" class="org.apache.flex.html.staticControls.Panel"/>
+    <component id="ControlBar" class="org.apache.flex.html.staticControls.ControlBar"/>
+    <component id="TitleBar" class="org.apache.flex.html.staticControls.TitleBar"/>
+    <component id="TitleBarModel" class="org.apache.flex.html.staticControls.beads.models.TitleBarModel"/>
+    <component id="NonVirtualVerticalLayout" class="org.apache.flex.html.staticControls.beads.layouts.NonVirtualVerticalLayout"/>
+    <component id="NonVirtualHorizontalLayout" class="org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout"/>
+    <component id="SimpleAlert" class="org.apache.flex.html.staticControls.SimpleAlert"/>
+    <component id="Alert" class="org.apache.flex.html.staticControls.Alert"/>
+    <component id="Spinner" class="org.apache.flex.html.staticControls.Spinner"/>
+    <component id="Slider" class="org.apache.flex.html.staticControls.Slider"/>
+    <component id="ViewBaseDataBinding" class="org.apache.flex.core.ViewBaseDataBinding"/>
+    <component id="NumericStepper" class="org.apache.flex.html.staticControls.NumericStepper" />
+    <component id="TextFieldItemRenderer" class="org.apache.flex.html.staticControls.supportClasses.TextFieldItemRenderer"/>
+    <component id="StringItemRenderer" class="org.apache.flex.html.staticControls.supportClasses.StringItemRenderer"/>
+    <component id="DataItemRenderer" class="org.apache.flex.html.staticControls.supportClasses.DataItemRenderer"/>
+    <component id="ButtonBarButtonItemRenderer" class="org.apache.flex.html.staticControls.supportClasses.ButtonBarButtonItemRenderer"/>
+    <component id="ScrollBar" class="org.apache.flex.html.staticControls.supportClasses.ScrollBar"/>
+    <component id="NumericOnlyTextInputBead" class="org.apache.flex.html.staticControls.accessories.NumericOnlyTextInputBead" />
+    <component id="PasswordInputBead" class="org.apache.flex.html.staticControls.accessories.PasswordInputBead" />
+    <component id="TextPromptBead" class="org.apache.flex.html.staticControls.accessories.TextPromptBead" />
+    <component id="DataGridPresentationModel" class="org.apache.flex.html.staticControls.beads.models.DataGridPresentationModel" />
+
+</componentPackage>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/build.properties
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/build.properties b/frameworks/as/projects/FlexJSUI/build.properties
new file mode 100644
index 0000000..06c0c33
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/build.properties
@@ -0,0 +1,60 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+# flex-sdk-description values
+release = Apache Flex ASJS 0.0.1
+release.version = 0.0.1
+
+# override on command line with -Dbuild.number=999 or in local.properties
+build.number = 0
+
+playerglobal.version = 11.1
+
+# locale = en_US
+
+qa.dir = ${basedir}/../qa
+asc = ${basedir}/bin/asc
+
+# TextLayoutFormat version.  This is a sub-directory in frameworks/textLayout.
+tlf.version = 3.0.33
+
+# For Java 7 on Mac OS X, you need an Intel-based Mac running Mac OS X version 10.7.3 
+# (Lion) and above.  Only the 64-bit data model is available so leave this blank.
+# Since ant properties are immutable, if this property is set in the build file before
+# this file is included, setting it to nothing here is a no-op.
+local.d32 =
+
+src.depend = true
+src.debug = on
+
+# JVM options for <compc> and <mxmlc> tasks
+jvm.args = ${local.d32} -Xms64m -Xmx384m -ea -Dapple.awt.UIElement=true
+    # -d32/-d64 for 32-bit/64-bit code model (or don't specify for the default)
+	# -Xms64m: start out with a 64 MB heap
+	# -Xmx384m: allow the heap to grow to 384 MB
+	# -ea: enable Java assertions
+compc.jvm.args = ${jvm.args}
+mxmlc.jvm.args = ${jvm.args}
+
+# JAR Manifest Entries
+manifest.sealed=false
+manifest.Implementation-Title=Apache Flex ASJS
+manifest.Implementation-Version=${release.version}
+manifest.Implementation-Vendor=The Apache Software Foundation
+manifest.Implementation-Vendor-Id=org.apache

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/build.xml b/frameworks/as/projects/FlexJSUI/build.xml
new file mode 100644
index 0000000..3a31fbe
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/build.xml
@@ -0,0 +1,69 @@
+<?xml version="1.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.
+
+-->
+
+
+<project name="framework" default="main" basedir=".">
+    <property name="FLEXJS_HOME" location="."/>
+    
+    <property file="${FLEXJS_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${FLEXJS_HOME}/build.properties"/>
+    <property name="FLEX_HOME" value="${env.FLEX_HOME}"/>
+
+    <target name="main" depends="clean,compile" description="Clean build of FlexJSUI.swc">
+    </target>
+    
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset dir="${FLEXJS_HOME}/libs">
+                <include name="FlexJSUI.swc"/>
+            </fileset>
+        </delete>
+    </target>
+    
+    <target name="compile" description="Compiles FlexJSUI.swc">
+        <echo message="Compiling libs/FlexJSUI.swc"/>
+        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
+
+        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+        <!--
+            Link in the classes (and their dependencies) for the MXML tags
+            listed in this project's manifest.xml.
+            Also link the additional classes (and their dependencies)
+            listed in FlexJSUIClasses.as,
+            because these aren't referenced by the manifest classes.
+            Keep the standard metadata when compiling.
+            Include the appropriate CSS files and assets in the SWC.
+            Don't include any resources in the SWC.
+            Write a bundle list of referenced resource bundles
+            into the file bundles.properties in this directory.
+        -->
+        <compc fork="true"
+               output="${FLEXJS_HOME}/libs/FlexJSUI.swc">
+            <jvmarg line="${compc.jvm.args}"/>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+        </compc>
+    </target>
+    
+</project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/compile-config.xml b/frameworks/as/projects/FlexJSUI/compile-config.xml
new file mode 100644
index 0000000..aa41d8e
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/compile-config.xml
@@ -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.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>false</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+
+        <namespaces>
+            <namespace>
+                <uri>library://ns.apache.org/flexjs/basic</uri>
+                <manifest>basic-manifest.xml</manifest>
+            </namespace>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/mx</uri>
+                <manifest>mx-manifest.xml</manifest>
+            </namespace>
+            <namespace>
+                <uri>library://ns.apache.org/flexjs/html5</uri>
+                <manifest>html5-manifest.xml</manifest>
+            </namespace>
+            <namespace>
+                <uri>library://ns.apache.org/flexjs/jquery</uri>
+                <manifest>jquery-manifest.xml</manifest>
+            </namespace>
+            <namespace>
+                <uri>library://ns.apache.org/flexjs/createjs</uri>
+                <manifest>createjs-manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>defaults.css</path>
+    </include-file>
+
+    <include-classes>
+        <class>FlexJSUIClasses</class>
+    </include-classes>
+    
+    <include-namespaces>
+        <uri>library://ns.apache.org/flexjs/basic</uri>
+        <uri>library://ns.adobe.com/flex/mx</uri>
+        <uri>library://ns.apache.org/flexjs/html5</uri>
+        <uri>library://ns.apache.org/flexjs/jquery</uri>
+        <uri>library://ns.apache.org/flexjs/createjs</uri>
+    </include-namespaces>  
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/createjs-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/createjs-manifest.xml b/frameworks/as/projects/FlexJSUI/createjs-manifest.xml
new file mode 100644
index 0000000..c72090c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/createjs-manifest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.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.
+
+-->
+
+
+<componentPackage>
+
+    <component id="Application" class="org.apache.flex.createjs.Application"/>
+    <component id="UIBase" class="org.apache.flex.createjs.core.UIBase"/>
+    <component id="ViewBase" class="org.apache.flex.createjs.core.ViewBase"/>
+    <component id="Label" class="org.apache.flex.createjs.staticControls.Label"/>
+    <component id="TextButton" class="org.apache.flex.createjs.staticControls.TextButton"/>
+    <component id="CheckBox" class="org.apache.flex.createjs.staticControls.CheckBox"/>
+
+</componentPackage>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/defaults.css b/frameworks/as/projects/FlexJSUI/defaults.css
new file mode 100644
index 0000000..69ffc96
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/defaults.css
@@ -0,0 +1,388 @@
+/*
+ *
+ *  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 h5 "library://ns.apache.org/flexjs/html5";
+@namespace jq "library://ns.apache.org/flexjs/jquery";
+@namespace createjs "library://ns.apache.org/flexjs/createjs";
+
+/* Global style declaration */
+*
+{
+    font-family: "Arial";
+    font-size: 12px;
+}
+
+Button
+{
+	background-color: #d8d8d8;
+	border: 1px solid #000000;
+	padding: 4px;
+	/*IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.CSSButtonView");*/
+}
+
+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.staticControls.beads.models.ArraySelectionModel");
+    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.ButtonBarView");			
+    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.ListSingleSelectionMouseController");
+    IBeadLayout: ClassReference("org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout");
+    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.staticControls.beads.TextItemRendererFactoryForArrayData");
+    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+    IItemRenderer: ClassReference("org.apache.flex.html.staticControls.supportClasses.ButtonBarButtonItemRenderer");
+
+    border-style: none;
+}
+
+ButtonBarButtonItemRenderer
+{
+    width: 80;
+    height: 30;
+}
+
+DataGrid
+{
+    IDataGridPresentationModel: ClassReference("org.apache.flex.html.staticControls.beads.models.DataGridPresentationModel");
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.DataGridView");
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.DataGridModel");
+    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+    IItemRenderer: ClassReference("org.apache.flex.html.staticControls.supportClasses.StringItemRenderer");
+
+    background-color: #FFFFFF;
+}
+
+List
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ArraySelectionModel");
+    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.ListView");			
+    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.ListSingleSelectionMouseController");
+    IBeadLayout: ClassReference("org.apache.flex.html.staticControls.beads.layouts.NonVirtualVerticalScrollingLayout");
+    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.staticControls.beads.DataItemRendererFactoryForArrayData");
+    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+    IItemRenderer: ClassReference("org.apache.flex.html.staticControls.supportClasses.DataItemRenderer");
+}
+
+SimpleList
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ArraySelectionModel");
+    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.ListView");
+    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.ListSingleSelectionMouseController");
+    IBeadLayout: ClassReference("org.apache.flex.html.staticControls.beads.layouts.NonVirtualVerticalScrollingLayout");
+    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.staticControls.beads.TextItemRendererFactoryForArrayData");
+    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+    IItemRenderer: ClassReference("org.apache.flex.html.staticControls.supportClasses.StringItemRenderer");
+}
+
+StringItemRenderer
+{
+    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.ItemRendererMouseController");
+    height: 16;
+}
+
+/* Global Style Declaration */
+global
+{
+    IStatesImpl: ClassReference("org.apache.flex.core.SimpleStatesImpl");
+}
+
+@media -flex-flash
+{
+
+Alert
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.AlertModel");
+    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.AlertView");
+    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.AlertController");
+    iBackgroundBead: ClassReference("org.apache.flex.html.staticControls.beads.SolidBackgroundBead");
+    iBorderBead: ClassReference("org.apache.flex.html.staticControls.beads.SingleLineBorderBead");
+    
+    background-color: #FFFFFF;
+    border-style: solid;
+    border-color: #000000;
+    border-thickness: 1;
+}
+
+CheckBox
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ToggleButtonModel");
+    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.CheckBoxView");			
+}
+
+ComboBox
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ComboBoxModel");
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.ComboBoxView");
+    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.ComboBoxController");
+    IPopUp: ClassReference("org.apache.flex.html.staticControls.supportClasses.DropDownListList");
+    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.staticControls.beads.TextItemRendererFactoryForArrayData");
+    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+    IItemRenderer: ClassReference("org.apache.flex.html.staticControls.supportClasses.StringItemRenderer");
+}
+
+Container
+{
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.ContainerView")
+}
+
+ControlBar
+{
+    IBeadLayout: ClassReference("org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout");
+    iMeasurementBead: ClassReference("org.apache.flex.html.staticControls.beads.ControlBarMeasurementBead");
+    iBackgroundBead: ClassReference("org.apache.flex.html.staticControls.beads.SolidBackgroundBead");
+    iBorderBead: ClassReference("org.apache.flex.html.staticControls.beads.SingleLineBorderBead");
+    
+    background-color: #CECECE;
+    border-style: solid;
+    border-color: #000000;
+    border-thickness: 1;
+}
+
+DropDownList
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ArraySelectionModel");
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.DropDownListView");
+    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.DropDownListController");
+    IPopUp: ClassReference("org.apache.flex.html.staticControls.supportClasses.DropDownListList");
+}
+
+DropDownListList
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ArraySelectionModel");
+    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.staticControls.beads.TextItemRendererFactoryForArrayData");
+    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+    IItemRenderer: ClassReference("org.apache.flex.html.staticControls.supportClasses.StringItemRenderer");
+}
+
+Image
+{
+    width: 64;
+    height: 64;
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ImageModel");
+    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.ImageView");
+}
+
+Label
+{
+	width: 95;
+	height: 18;
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TextModel");
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.TextFieldView");
+	iMeasurementBead: ClassReference("org.apache.flex.html.staticControls.beads.TextFieldLabelMeasurementBead");
+}
+
+NumericStepper
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.RangeModel");
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.NumericStepperView");
+    
+    padding: 0px;
+    border-style: solid;
+    border-color: #000000;
+    border-thickness: 1;
+    background-color: #FFFFFF;
+    iBorderBead: ClassReference('org.apache.flex.html.staticControls.beads.SingleLineBorderBead');
+    iBackgroundBead: ClassReference('org.apache.flex.html.staticControls.beads.SolidBackgroundBead');
+}
+
+Panel
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.PanelModel");
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.PanelView");
+    iBorderBead: ClassReference("org.apache.flex.html.staticControls.beads.SingleLineBorderBead");
+    iBackgroundBead: ClassReference("org.apache.flex.html.staticControls.beads.SolidBackgroundBead");
+    
+    background-color: #FFFFFF;
+    border-style: solid;
+    border-color: #000000;
+    border-thickness: 1;
+}
+
+RadioButton
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ValueToggleButtonModel");
+    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.RadioButtonView");			
+}
+
+ScrollBar
+{
+    IBeadLayout: ClassReference("org.apache.flex.html.staticControls.beads.layouts.VScrollBarLayout");
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ScrollBarModel");
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.ScrollBarView");
+    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.VScrollBarMouseController");
+}
+
+SimpleAlert
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.AlertModel");
+    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.SimpleAlertView");
+    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.AlertController");
+    iBorderBead: ClassReference("org.apache.flex.html.staticControls.beads.SingleLineBorderBead");
+    iBackgroundBead: ClassReference("org.apache.flex.html.staticControls.beads.SolidBackgroundBead");
+    
+    background-color: #FFFFFF;
+    border-style: solid;
+    border-color: #000000;
+    border-thickness: 1;
+}
+
+Slider
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.RangeModel");
+    iBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.SliderView");
+    iBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.SliderMouseController");
+    iThumbView: ClassReference("org.apache.flex.html.staticControls.beads.SliderThumbView");
+    iTrackView: ClassReference("org.apache.flex.html.staticControls.beads.SliderTrackView");
+}
+
+Spinner
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.RangeModel");
+    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.SpinnerView");
+    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.SpinnerMouseController");
+}
+
+TextArea
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TextModel");
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.TextAreaView");
+    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.EditableTextKeyboardController");
+    width: 135;
+    height: 20;
+}
+
+TextButton
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TextModel");
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.CSSTextButtonView");
+    iMeasurementBead: ClassReference("org.apache.flex.html.staticControls.beads.TextButtonMeasurementBead");
+}
+
+TextFieldItemRenderer
+{
+    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.ItemRendererMouseController");
+    height: 16;
+}
+
+TextInput
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TextModel");
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.TextInputWithBorderView");
+    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.EditableTextKeyboardController");
+	width: 135;
+	height: 20;
+}
+
+TitleBar
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TitleBarModel");
+    IBeadLayout: ClassReference("org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout");
+    iMeasurementBead: ClassReference("org.apache.flex.html.staticControls.beads.TitleBarMeasurementBead");
+}
+
+/* HTML5 */
+
+h5|TextButton
+{
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.CSSTextButtonView");
+}
+
+h5|TextInput
+{
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.TextInputWithBorderView");
+}
+
+h5|CheckBox
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ToggleButtonModel");
+    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.CheckBoxView");			
+}
+
+h5|RadioButton
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ValueToggleButtonModel");
+    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.RadioButtonView");			
+}
+
+h5|List
+{
+	IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ArraySelectionModel");
+}
+
+h5|DropDownList
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ArraySelectionModel");
+    IPopUp: ClassReference("org.apache.flex.html.staticControls.supportClasses.DropDownListList");
+}
+
+h5|ComboBox
+{
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.ComboBoxView");
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ComboBoxModel");
+    IPopUp: ClassReference("org.apache.flex.html.staticControls.supportClasses.DropDownListList");
+}
+
+/* jQuery */
+
+jq|TextButton
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TextModel");
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.TextButtonView");
+}
+
+
+jq|CheckBox
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ToggleButtonModel");
+    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.CheckBoxView");			
+}
+
+jq|RadioButton
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ValueToggleButtonModel");
+    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.RadioButtonView");			
+}
+
+/* createjs */
+
+createjs|TextButton
+{
+    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TextModel");
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.TextButtonView");
+}
+
+createjs|CheckBox
+{
+    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.CheckBoxView");
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/flex-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/flex-config.xml b/frameworks/as/projects/FlexJSUI/flex-config.xml
new file mode 100644
index 0000000..e91d830
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/flex-config.xml
@@ -0,0 +1,434 @@
+<?xml version="1.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.
+
+-->
+
+
+<flex-config>
+    <!-- Specifies the minimum player version that will run the compiled SWF. -->
+   <target-player>11.1</target-player>
+
+    <!-- Specifies the version of the compiled SWF -->
+   <swf-version>14</swf-version>
+
+   <compiler>
+
+      <!-- Turn on generation of accessible SWFs. -->
+      <accessible>true</accessible>
+
+      <!-- Specifies the locales for internationalization. -->
+      <locale>
+          <locale-element>en_US</locale-element>
+      </locale>
+
+      <!-- List of path elements that form the roots of ActionScript class hierarchies. -->
+      <!-- not set -->
+      <!--
+      <source-path>
+         <path-element>string</path-element>
+      </source-path>
+      -->
+
+     <!-- Allow the source-path to have path-elements which contain other path-elements -->
+     <allow-source-path-overlap>false</allow-source-path-overlap>
+
+      <!-- Run the AS3 compiler in a mode that detects legal but potentially incorrect -->
+      <!-- code.                                                                       -->
+      <show-actionscript-warnings>true</show-actionscript-warnings>
+
+      <!-- Turn on generation of debuggable SWFs. False by default for mxmlc, -->
+      <!-- but true by default for compc. -->
+      <!--
+      <debug>true</debug>
+      -->
+
+      <!-- List of SWC files or directories to compile against but to omit from -->
+      <!-- linking.                                                             -->
+      <external-library-path>
+          <path-element>libs/player/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc</path-element>
+      </external-library-path>
+
+      <!-- Turn on writing of generated/*.as files to disk. These files are generated by -->
+      <!-- the compiler during mxml translation and are helpful with understanding and   -->
+      <!-- debugging Flex applications.                                                  -->
+      <keep-generated-actionscript>false</keep-generated-actionscript>
+
+      <!-- not set -->
+      <!--
+      <include-libraries>
+         <library>string</library>
+      </include-libraries>
+      -->
+
+      <!-- List of SWC files or directories that contain SWC files. -->
+      <library-path>
+         <path-element>libs</path-element>
+         <path-element>locale/en_US</path-element>
+         <path-element>libs/player/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}</path-element>
+      </library-path>
+
+      <namespaces>
+      <!-- Specify a URI to associate with a manifest of components for use as MXML -->
+      <!-- elements.                                                                -->
+         <namespace>
+            <uri>library://ns.apache.org/flexjs/basic</uri>
+            
+            <manifest>basic-manifest.xml</manifest>
+         
+        </namespace>                                                 
+         <namespace>
+            <uri>library://ns.apache.org/flexjs/html5</uri>
+            
+            <manifest>html5-manifest.xml</manifest>
+         
+        </namespace>   
+      </namespaces>
+
+      <!-- Enable post-link SWF optimization. -->
+      <optimize>true</optimize>
+
+      <!-- Enable trace statement omission. -->
+      <omit-trace-statements>true</omit-trace-statements>
+
+      <!-- Keep the following AS3 metadata in the bytecodes.                                             -->
+      <!-- Warning: For the data binding feature in the Flex framework to work properly,                 -->
+      <!--          the following metadata must be kept:                                                 -->
+      <!--          1. Bindable                                                                          -->
+      <!--          2. Managed                                                                           -->
+      <!--          3. ChangeEvent                                                                       -->
+      <!--          4. NonCommittingChangeEvent                                                          -->
+      <!--          5. Transient                                                                         -->
+      <!--
+      <keep-as3-metadata>
+          <name>Bindable</name>
+          <name>Managed</name>
+          <name>ChangeEvent</name>
+          <name>NonCommittingChangeEvent</name>
+          <name>Transient</name>
+      </keep-as3-metadata>
+      -->
+
+      <!-- Turn on reporting of data binding warnings. For example: Warning: Data binding -->
+      <!-- will not be able to detect assignments to "foo".                               -->
+      <show-binding-warnings>true</show-binding-warnings>
+
+      <!-- toggle whether warnings generated from unused type selectors are displayed -->
+      <show-unused-type-selector-warnings>true</show-unused-type-selector-warnings>
+
+      <!-- Run the AS3 compiler in strict error checking mode. -->
+      <strict>true</strict>
+
+      <!-- Use the ActionScript 3 class based object model for greater performance and better error reporting. -->
+      <!-- In the class based object model most built-in functions are implemented as fixed methods of classes -->
+      <!-- (-strict is recommended, but not required, for earlier errors) -->
+      <as3>true</as3>
+
+      <!-- Use the ECMAScript edition 3 prototype based object model to allow dynamic overriding of prototype -->
+      <!-- properties. In the prototype based object model built-in functions are implemented as dynamic      -->
+      <!-- properties of prototype objects (-strict is allowed, but may result in compiler errors for         -->
+      <!-- references to dynamic properties) -->
+      <es>false</es>
+
+      <!-- List of CSS or SWC files to apply as a theme. -->
+      <theme>
+      </theme>
+
+      <!-- Turns on the display of stack traces for uncaught runtime errors. -->
+      <verbose-stacktraces>false</verbose-stacktraces>
+
+      <!-- Defines the AS3 file encoding. -->
+      <!-- not set -->
+      <!--
+      <actionscript-file-encoding></actionscript-file-encoding>
+      -->
+
+      <fonts>
+
+          <!-- Enables advanced anti-aliasing for embedded fonts, which provides greater clarity for small -->
+          <!-- fonts. This setting can be overriden in CSS for specific fonts. -->
+          <!-- NOTE: flash-type has been deprecated. Please use advanced-anti-aliasing <flash-type>true</flash-type> -->
+          <advanced-anti-aliasing>true</advanced-anti-aliasing>
+
+          <!-- The number of embedded font faces that are cached. -->
+          <max-cached-fonts>20</max-cached-fonts>
+
+          <!-- The number of character glyph outlines to cache for each font face. -->
+          <max-glyphs-per-face>1000</max-glyphs-per-face>
+
+          <!-- Defines ranges that can be used across multiple font-face declarations. -->
+          <!-- See flash-unicode-table.xml for more examples. -->
+          <!-- not set -->
+          <!--
+          <languages>
+              <language-range>
+                  <lang>englishRange</lang>
+                  <range>U+0020-007E</range>
+              </language-range>
+          </languages>
+          -->
+
+          <!-- Compiler font manager classes, in policy resolution order -->
+          <!-- NOTE: For Apache Flex -->
+          <!-- AFEFontManager and CFFFontManager both use proprietary technology.  -->
+          <!-- You must install the optional font jars if you wish to use embedded fonts  -->
+          <!-- directly or you can use fontswf to precompile the font as a swf.  -->
+          <managers>
+              <manager-class>flash.fonts.JREFontManager</manager-class>
+              <manager-class>flash.fonts.BatikFontManager</manager-class>
+              <manager-class>flash.fonts.AFEFontManager</manager-class>
+              <manager-class>flash.fonts.CFFFontManager</manager-class>
+          </managers>
+
+          <!-- File containing cached system font licensing information produced via
+               java -cp mxmlc.jar flex2.tools.FontSnapshot (fontpath)
+               Will default to winFonts.ser on Windows XP and
+               macFonts.ser on Mac OS X, so is commented out by default.
+
+          <local-fonts-snapshot>localFonts.ser</local-fonts-snapshot>
+          -->
+
+      </fonts>
+      
+      <!-- Array.toString() format has changed. -->
+      <warn-array-tostring-changes>false</warn-array-tostring-changes>
+
+      <!-- Assignment within conditional. -->
+      <warn-assignment-within-conditional>true</warn-assignment-within-conditional>
+
+      <!-- Possibly invalid Array cast operation. -->
+      <warn-bad-array-cast>true</warn-bad-array-cast>
+
+      <!-- Non-Boolean value used where a Boolean value was expected. -->
+      <warn-bad-bool-assignment>true</warn-bad-bool-assignment>
+
+      <!-- Invalid Date cast operation. -->
+      <warn-bad-date-cast>true</warn-bad-date-cast>
+
+      <!-- Unknown method. -->
+      <warn-bad-es3-type-method>true</warn-bad-es3-type-method>
+
+      <!-- Unknown property. -->
+      <warn-bad-es3-type-prop>true</warn-bad-es3-type-prop>
+
+      <!-- Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN. -->
+      <warn-bad-nan-comparison>true</warn-bad-nan-comparison>
+
+      <!-- Impossible assignment to null. -->
+      <warn-bad-null-assignment>true</warn-bad-null-assignment>
+
+      <!-- Illogical comparison with null. -->
+      <warn-bad-null-comparison>true</warn-bad-null-comparison>
+
+      <!-- Illogical comparison with undefined. Only untyped variables (or variables of type *) can be undefined. -->
+      <warn-bad-undefined-comparison>true</warn-bad-undefined-comparison>
+
+      <!-- Boolean() with no arguments returns false in ActionScript 3.0. Boolean() returned undefined in ActionScript 2.0. -->
+      <warn-boolean-constructor-with-no-args>false</warn-boolean-constructor-with-no-args>
+
+      <!-- __resolve is no longer supported. -->
+      <warn-changes-in-resolve>false</warn-changes-in-resolve>
+
+      <!-- Class is sealed. It cannot have members added to it dynamically. -->
+      <warn-class-is-sealed>true</warn-class-is-sealed>
+
+      <!-- Constant not initialized. -->
+      <warn-const-not-initialized>true</warn-const-not-initialized>
+
+      <!-- Function used in new expression returns a value. Result will be what the -->
+      <!-- function returns, rather than a new instance of that function.           -->
+      <warn-constructor-returns-value>false</warn-constructor-returns-value>
+
+      <!-- EventHandler was not added as a listener. -->
+      <warn-deprecated-event-handler-error>false</warn-deprecated-event-handler-error>
+
+      <!-- Unsupported ActionScript 2.0 function. -->
+      <warn-deprecated-function-error>true</warn-deprecated-function-error>
+
+      <!-- Unsupported ActionScript 2.0 property. -->
+      <warn-deprecated-property-error>true</warn-deprecated-property-error>
+
+      <!-- More than one argument by the same name. -->
+      <warn-duplicate-argument-names>true</warn-duplicate-argument-names>
+
+      <!-- Duplicate variable definition -->
+      <warn-duplicate-variable-def>true</warn-duplicate-variable-def>
+
+      <!-- ActionScript 3.0 iterates over an object's properties within a "for x in target" statement in random order. -->
+      <warn-for-var-in-changes>false</warn-for-var-in-changes>
+
+      <!-- Importing a package by the same name as the current class will hide that class identifier in this scope. -->
+      <warn-import-hides-class>true</warn-import-hides-class>
+
+      <!-- Use of the instanceof operator. -->
+      <warn-instance-of-changes>true</warn-instance-of-changes>
+
+      <!-- Internal error in compiler. -->
+      <warn-internal-error>true</warn-internal-error>
+
+      <!-- _level is no longer supported. For more information, see the flash.display package. -->
+      <warn-level-not-supported>true</warn-level-not-supported>
+
+      <!-- Missing namespace declaration (e.g. variable is not defined to be public, private, etc.). -->
+      <warn-missing-namespace-decl>true</warn-missing-namespace-decl>
+
+      <!-- Negative value will become a large positive value when assigned to a uint data type. -->
+      <warn-negative-uint-literal>true</warn-negative-uint-literal>
+
+      <!-- Missing constructor. -->
+      <warn-no-constructor>false</warn-no-constructor>
+
+      <!-- The super() statement was not called within the constructor. -->
+      <warn-no-explicit-super-call-in-constructor>false</warn-no-explicit-super-call-in-constructor>
+
+      <!-- Missing type declaration. -->
+      <warn-no-type-decl>true</warn-no-type-decl>
+
+      <!-- In ActionScript 3.0, white space is ignored and '' returns 0. Number() returns -->
+      <!-- NaN in ActionScript 2.0 when the parameter is '' or contains white space.      -->
+      <warn-number-from-string-changes>false</warn-number-from-string-changes>
+
+      <!-- Change in scoping for the this keyword. Class methods extracted from an  -->
+      <!-- instance of a class will always resolve this back to that instance. In   -->
+      <!-- ActionScript 2.0 this is looked up dynamically based on where the method -->
+      <!-- is invoked from.                                                         -->
+      <warn-scoping-change-in-this>false</warn-scoping-change-in-this>
+
+      <!-- Inefficient use of += on a TextField.-->
+      <warn-slow-text-field-addition>true</warn-slow-text-field-addition>
+
+      <!-- Possible missing parentheses. -->
+      <warn-unlikely-function-value>true</warn-unlikely-function-value>
+
+      <!-- Possible usage of the ActionScript 2.0 XML class. -->
+      <warn-xml-class-has-changed>false</warn-xml-class-has-changed>
+
+   </compiler>
+
+   <!-- compute-digest: writes a digest to the catalog.xml of a library. Use this when the library will be used as a
+                        cross-domain rsl.-->
+   <!-- compute-digest usage:
+   <compute-digest>boolean</compute-digest>
+   -->
+
+   <!-- remove-unused-rsls: remove RSLs that are not being used by the application-->
+   <remove-unused-rsls>true</remove-unused-rsls>
+
+   <!-- A list of runtime shared library URLs to be loaded before applications start. -->
+   <!-- not set -->
+   <!--
+   <runtime-shared-libraries>
+      <url>string</url>
+      <url>string</url>
+   </runtime-shared-libraries>
+   -->
+	
+	<!-- runtime-shared-library-path: specifies a SWC or directory to link against and an RSL URL to load with optional failover URLs -->  
+      <!-- Framework SWC 
+      	<runtime-shared-library-path>
+		<path-element>libs/framework.swc</path-element>
+		<rsl-url>framework_4.9.0.1425567.swf</rsl-url>
+	</runtime-shared-library-path>
+	-->
+
+  
+	  <!-- TextLayout SWC -->
+	<!-- 
+	    Even though there is no textLayout rsl leave this in so that in a FlashBuilder
+	    Flex Library project, FlashBuilder will allow "Link Type" to be external.
+    <runtime-shared-library-path>
+		<path-element>libs/textLayout.swc</path-element>
+		<rsl-url>textLayout_4.9.0.1425567.swf</rsl-url>
+	</runtime-shared-library-path>
+    -->
+    
+      <!-- Spark SWC
+   	<runtime-shared-library-path>
+		<path-element>libs/spark.swc</path-element>
+		<rsl-url>spark_4.9.0.1425567.swf</rsl-url>
+	</runtime-shared-library-path>
+    -->	
+      <!-- Sparkskins SWC
+   	<runtime-shared-library-path>
+		<path-element>libs/sparkskins.swc</path-element>
+		<rsl-url>sparkskins_4.9.0.1425567.swf</rsl-url>
+	</runtime-shared-library-path>
+	 -->
+	  <!-- RPC SWC
+	<runtime-shared-library-path>
+		<path-element>libs/rpc.swc</path-element>
+		<rsl-url>rpc_4.9.0.1425567.swf</rsl-url>
+	</runtime-shared-library-path>
+	 -->    	
+      <!-- Charts SWC 
+	<runtime-shared-library-path>
+		<path-element>libs/charts.swc</path-element>
+		<rsl-url>charts_4.9.0.1425567.swf</rsl-url>
+	</runtime-shared-library-path>
+     -->
+      <!-- Spark_dmv SWC 
+	<runtime-shared-library-path>
+		<path-element>libs/spark_dmv.swc</path-element>
+		<rsl-url>spark_dmv_4.9.0.1425567.swf</rsl-url>
+	</runtime-shared-library-path>
+    -->
+      <!-- OSMF SWC -->
+	<!-- 
+	    Even though there is no OSMF rsl leave this in so that in a FlashBuilder
+	    Flex Library project, FlashBuilder will allow "Link Type" to be external.
+    <runtime-shared-library-path>
+		<path-element>libs/osmf.swc</path-element>
+		<rsl-url>osmf_4.9.0.1425567.swf</rsl-url>
+	</runtime-shared-library-path>
+    -->
+      
+      <!-- MX SWC 
+	<runtime-shared-library-path>
+		<path-element>libs/mx/mx.swc</path-element>
+		<rsl-url>mx_4.9.0.1425567.swf</rsl-url>
+	</runtime-shared-library-path>
+   -->
+      <!-- Advancedgrids SWC 
+	<runtime-shared-library-path>
+		<path-element>libs/advancedgrids.swc</path-element>
+		<rsl-url>advancedgrids_4.9.0.1425567.swf</rsl-url>
+	</runtime-shared-library-path>
+	-->
+	<!-- static-link-runtime-shared-libraries: statically link the libraries specified by the -runtime-shared-libraries-path option.-->
+	<static-link-runtime-shared-libraries>true</static-link-runtime-shared-libraries>
+
+   <!-- target-player: specifies the version of the player the application is targeting.
+                       Features requiring a later version will not be compiled into the application.
+                       The minimum value supported is "9.0.0".-->
+   <!-- target-player usage:
+   <target-player>version</target-player>
+   -->
+
+   <!-- Enables SWFs to access the network. -->
+   <use-network>true</use-network>
+
+   <!-- Metadata added to SWFs via the SWF Metadata tag. -->
+   <metadata>
+      <title>Apache FlexJS Application</title>
+      <description>http://flex.apache.org/</description>
+      <publisher>Apache Software Foundation</publisher>
+      <creator>unknown</creator>
+      <language>EN</language>
+   </metadata>
+   
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/flex-sdk-description.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/flex-sdk-description.xml b/frameworks/as/projects/FlexJSUI/flex-sdk-description.xml
new file mode 100644
index 0000000..cc72eab
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/flex-sdk-description.xml
@@ -0,0 +1,25 @@
+<?xml version="1.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.
+
+-->
+<flex-sdk-description>
+<name>Apache FlexJS Prototype</name>
+<version>4.9.0</version>
+<build>1425567</build>
+</flex-sdk-description>
+        
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/html5-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/html5-manifest.xml b/frameworks/as/projects/FlexJSUI/html5-manifest.xml
new file mode 100644
index 0000000..efba2fa
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/html5-manifest.xml
@@ -0,0 +1,35 @@
+<?xml version="1.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.
+
+-->
+
+
+<componentPackage>
+
+    
+    <component id="Label" class="org.apache.flex.html5.staticControls.Label"/>
+    <component id="TextButton" class="org.apache.flex.html5.staticControls.TextButton"/>
+    <component id="TextInput" class="org.apache.flex.html5.staticControls.TextInput"/>
+    <component id="TextArea" class="org.apache.flex.html5.staticControls.TextArea"/>
+    <component id="CheckBox" class="org.apache.flex.html5.staticControls.CheckBox"/>
+    <component id="RadioButton" class="org.apache.flex.html5.staticControls.RadioButton"/>
+    <component id="List" class="org.apache.flex.html5.staticControls.List"/>
+    <component id="DropDownList" class="org.apache.flex.html5.staticControls.DropDownList"/>
+    <component id="ComboBox" class="org.apache.flex.html5.staticControls.ComboBox"/>
+
+</componentPackage>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/jquery-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/jquery-manifest.xml b/frameworks/as/projects/FlexJSUI/jquery-manifest.xml
new file mode 100644
index 0000000..cdb9dd5
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/jquery-manifest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.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.
+
+-->
+
+
+<componentPackage>
+
+    <component id="Application" class="org.apache.flex.jquery.Application"/>
+    <component id="TextButton" class="org.apache.flex.jquery.staticControls.TextButton"/>
+    <component id="CheckBox" class="org.apache.flex.jquery.staticControls.CheckBox"/>
+    <component id="RadioButton" class="org.apache.flex.jquery.staticControls.RadioButton"/>
+
+</componentPackage>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/mx-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/mx-manifest.xml b/frameworks/as/projects/FlexJSUI/mx-manifest.xml
new file mode 100644
index 0000000..6654ace
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/mx-manifest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.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.
+
+-->
+
+
+<componentPackage>
+
+    <component id="State" class="mx.states.State"/>
+
+</componentPackage>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as b/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as
new file mode 100644
index 0000000..f9c6a68
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.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
+{
+
+/**
+ *  @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 FlexJSUIClasses
+{
+	import org.apache.flex.html.staticControls.accessories.NumericOnlyTextInputBead; NumericOnlyTextInputBead;
+	import org.apache.flex.html.staticControls.accessories.PasswordInputBead; PasswordInputBead;
+	import org.apache.flex.html.staticControls.accessories.TextPromptBead; TextPromptBead;
+    import org.apache.flex.html.staticControls.beads.AlertView; AlertView;
+	import org.apache.flex.html.staticControls.beads.ButtonBarView; ButtonBarView;
+	import org.apache.flex.html.staticControls.beads.CheckBoxView; CheckBoxView;
+    import org.apache.flex.html.staticControls.beads.ComboBoxView; ComboBoxView;
+    import org.apache.flex.html.staticControls.beads.ContainerView; ContainerView;
+    import org.apache.flex.html.staticControls.beads.ControlBarMeasurementBead; ControlBarMeasurementBead;
+	import org.apache.flex.html.staticControls.beads.CSSTextButtonView; CSSTextButtonView;
+	import org.apache.flex.html.staticControls.beads.DataGridColumnView; DataGridColumnView;
+	import org.apache.flex.html.staticControls.beads.DataGridView; DataGridView;
+    import org.apache.flex.html.staticControls.beads.DropDownListView; DropDownListView;
+	import org.apache.flex.html.staticControls.beads.ImageView; ImageView;
+    import org.apache.flex.html.staticControls.beads.ListView; ListView;
+    import org.apache.flex.html.staticControls.beads.NumericStepperView; NumericStepperView;
+    import org.apache.flex.html.staticControls.beads.PanelView; PanelView;
+	import org.apache.flex.html.staticControls.beads.RadioButtonView; RadioButtonView;
+    import org.apache.flex.html.staticControls.beads.ScrollBarView; ScrollBarView;
+	import org.apache.flex.html.staticControls.beads.SimpleAlertView; SimpleAlertView;
+	import org.apache.flex.html.staticControls.beads.SliderView; SliderView;
+	import org.apache.flex.html.staticControls.beads.SliderThumbView; SliderThumbView;
+	import org.apache.flex.html.staticControls.beads.SliderTrackView; SliderTrackView;
+    import org.apache.flex.html.staticControls.beads.SpinnerView; SpinnerView;
+    import org.apache.flex.html.staticControls.beads.TextButtonMeasurementBead; TextButtonMeasurementBead;
+	import org.apache.flex.html.staticControls.beads.TextFieldLabelMeasurementBead; TextFieldLabelMeasurementBead;
+    import org.apache.flex.html.staticControls.beads.TextAreaView; TextAreaView;
+    import org.apache.flex.html.staticControls.beads.TextButtonView; TextButtonView;
+    import org.apache.flex.html.staticControls.beads.TextFieldView; TextFieldView;
+    import org.apache.flex.html.staticControls.beads.TextInputView; TextInputView;
+    import org.apache.flex.html.staticControls.beads.TextInputWithBorderView; TextInputWithBorderView;
+    import org.apache.flex.html.staticControls.beads.TitleBarMeasurementBead; TitleBarMeasurementBead;
+    import org.apache.flex.html.staticControls.beads.models.AlertModel; AlertModel;
+    import org.apache.flex.html.staticControls.beads.models.ArraySelectionModel; ArraySelectionModel;
+    import org.apache.flex.html.staticControls.beads.models.ComboBoxModel; ComboBoxModel;
+	import org.apache.flex.html.staticControls.beads.models.DataGridModel; DataGridModel;
+	import org.apache.flex.html.staticControls.beads.models.DataGridPresentationModel; DataGridPresentationModel;
+	import org.apache.flex.html.staticControls.beads.models.ImageModel; ImageModel;
+	import org.apache.flex.html.staticControls.beads.models.PanelModel; PanelModel;
+	import org.apache.flex.html.staticControls.beads.models.TextModel; TextModel;
+    import org.apache.flex.html.staticControls.beads.models.TitleBarModel; TitleBarModel;
+	import org.apache.flex.html.staticControls.beads.models.ToggleButtonModel; ToggleButtonModel;
+	import org.apache.flex.html.staticControls.beads.models.ValueToggleButtonModel; ValueToggleButtonModel;
+    import org.apache.flex.html.staticControls.beads.controllers.AlertController; AlertController;
+	import org.apache.flex.html.staticControls.beads.controllers.ComboBoxController; ComboBoxController;
+    import org.apache.flex.html.staticControls.beads.controllers.DropDownListController; DropDownListController;
+	import org.apache.flex.html.staticControls.beads.controllers.EditableTextKeyboardController; EditableTextKeyboardController;
+    import org.apache.flex.html.staticControls.beads.controllers.ItemRendererMouseController; ItemRendererMouseController;
+    import org.apache.flex.html.staticControls.beads.controllers.ListSingleSelectionMouseController; ListSingleSelectionMouseController;
+	import org.apache.flex.html.staticControls.beads.controllers.SliderMouseController; SliderMouseController;
+	import org.apache.flex.html.staticControls.beads.controllers.SpinnerMouseController; SpinnerMouseController;
+    import org.apache.flex.html.staticControls.beads.controllers.VScrollBarMouseController; VScrollBarMouseController;
+	import org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout; ButtonBarLayout;
+    import org.apache.flex.html.staticControls.beads.layouts.NonVirtualVerticalScrollingLayout; NonVirtualVerticalScrollingLayout;  
+	import org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalScrollingLayout; NonVirtualHorizontalScrollingLayout;
+    import org.apache.flex.html.staticControls.beads.layouts.VScrollBarLayout; VScrollBarLayout;
+    import org.apache.flex.html.staticControls.beads.TextItemRendererFactoryForArrayData; TextItemRendererFactoryForArrayData;
+	import org.apache.flex.html.staticControls.beads.DataItemRendererFactoryForArrayData; DataItemRendererFactoryForArrayData;
+    import org.apache.flex.core.ItemRendererClassFactory; ItemRendererClassFactory;    
+	import org.apache.flex.events.CustomEvent; CustomEvent;
+	import org.apache.flex.events.Event; Event;
+	import org.apache.flex.utils.Timer; Timer;
+    import org.apache.flex.core.SimpleStatesImpl; SimpleStatesImpl;
+    
+    import mx.binding.ArrayElementWatcher; ArrayElementWatcher;
+    import mx.binding.Binding; Binding;
+    import mx.binding.BindingManager; BindingManager;
+    import mx.binding.FunctionReturnWatcher; FunctionReturnWatcher;
+    import mx.binding.IBindingClient; IBindingClient;
+    import mx.binding.IWatcherSetupUtil2; IWatcherSetupUtil2;
+    import mx.binding.PropertyWatcher; PropertyWatcher;
+    import mx.binding.RepeaterComponentWatcher; RepeaterComponentWatcher;
+    import mx.binding.RepeaterItemWatcher; RepeaterItemWatcher;
+    import mx.binding.StaticPropertyWatcher; StaticPropertyWatcher;
+    import mx.binding.Watcher; Watcher;
+    import mx.binding.XMLWatcher; XMLWatcher;
+    import mx.core.ClassFactory; ClassFactory;
+    import mx.core.DeferredInstanceFromClass; DeferredInstanceFromClass;
+    import mx.core.DeferredInstanceFromFunction; DeferredInstanceFromFunction;
+    import mx.core.IDeferredInstance; IDeferredInstance;
+    import mx.core.IFactory; IFactory;
+    import mx.core.IFlexModuleFactory; IFlexModuleFactory;
+    import mx.core.IPropertyChangeNotifier; IPropertyChangeNotifier;
+    import mx.core.IStateClient2; IStateClient2;
+    import mx.events.PropertyChangeEvent; PropertyChangeEvent;
+    import mx.filters.IBitmapFilter; IBitmapFilter;
+    import mx.styles.CSSCondition; CSSCondition;
+    import mx.styles.CSSSelector; CSSSelector;
+    import mx.styles.CSSStyleDeclaration; CSSStyleDeclaration;
+    import mx.styles.IStyleManager2; IStyleManager2;
+    import mx.styles.StyleManager; StyleManager;
+    
+    import mx.states.AddItems; AddItems;
+    import mx.states.SetProperty; SetProperty;
+    import mx.states.State; State;
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/ArrayElementWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/ArrayElementWatcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/ArrayElementWatcher.as
new file mode 100644
index 0000000..024af6c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/ArrayElementWatcher.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 mx.binding
+{
+
+[ExcludeClass]
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class ArrayElementWatcher extends Watcher
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  @private
+	 *  Constructor
+	 */
+    public function ArrayElementWatcher(document:Object,
+                                        accessorFunc:Function,
+                                        listeners:Array)
+    {
+		super(listeners);
+
+        this.document = document;
+        this.accessorFunc = accessorFunc;
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  @private
+	 */
+	private var document:Object;
+    
+    /**
+	 *  @private
+	 */
+	private var accessorFunc:Function;
+
+    /**
+	 *  @private
+	 */
+    public var arrayWatcher:Watcher;
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/Binding.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/Binding.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/Binding.as
new file mode 100644
index 0000000..b822dcd
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/Binding.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 mx.binding
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class Binding
+{
+    
+    //--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Create a Binding object
+	 *
+     *  @param document The document that is the target of all of this work.
+	 *
+     *  @param srcFunc The function that returns us the value
+	 *  to use in this Binding.
+	 *
+     *  @param destFunc The function that will take a value
+	 *  and assign it to the destination.
+	 *
+     *  @param destString The destination represented as a String.
+	 *  We can then tell the ValidationManager to validate this field.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function Binding(document:Object, srcFunc:Function,
+						    destFunc:Function, destString:String,
+							srcString:String = null)
+    {
+    }
+
+ 	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Execute the binding.
+     *  Call the source function and get the value we'll use.
+     *  Then call the destination function passing the value as an argument.
+     *  Finally try to validate the destination.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function execute(o:Object = null):void
+    {
+    }
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/BindingManager.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/BindingManager.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/BindingManager.as
new file mode 100644
index 0000000..3ef557b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/BindingManager.as
@@ -0,0 +1,37 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+package mx.binding
+{
+	public class BindingManager
+	{
+        public static function executeBindings(document:Object,
+                                               destStr:String,
+                                               destObj:Object):void
+        {
+            
+        }
+ 	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/FunctionReturnWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/FunctionReturnWatcher.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/FunctionReturnWatcher.as
new file mode 100644
index 0000000..2dfd63e
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/FunctionReturnWatcher.as
@@ -0,0 +1,129 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.binding
+{
+
+[ExcludeClass]
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public class FunctionReturnWatcher extends Watcher
+{
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  @private
+	 *  Constructor.
+	 */
+	public function FunctionReturnWatcher(functionName:String,
+										  document:Object,
+										  parameterFunction:Function,
+										  events:Object,
+                                          listeners:Array,
+                                          functionGetter:Function = null,
+                                          isStyle:Boolean = false)
+    {
+		super(listeners);
+
+        this.functionName = functionName;
+        this.document = document;
+        this.parameterFunction = parameterFunction;
+        this.events = events;
+        this.functionGetter = functionGetter;
+        this.isStyle = isStyle;
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+     *  The name of the property, used to actually get the property
+	 *  and for comparison in propertyChanged events.
+     */
+    private var functionName:String;
+    
+	/**
+ 	 *  @private
+     *  The document is what we need to use to execute the parameter function.
+     */
+    private var document:Object;
+    
+	/**
+ 	 *  @private
+     *  The function that will give us the parameters for calling the function.
+     */
+    private var parameterFunction:Function;
+    
+    /**
+ 	 *  @private
+     *  The events that indicate the property has changed.
+     */
+    private var events:Object;
+    
+	/**
+	 *  @private
+     *  The parent object of this function.
+     */
+    private var parentObj:Object;
+    
+	/**
+	 *  @private
+     *  The watcher holding onto the parent object.
+     */
+    public var parentWatcher:Watcher;
+
+    /**
+     *  Storage for the functionGetter property.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    private var functionGetter:Function;
+
+    /**
+     *  Storage for the isStyle property.  This will be true, when
+     *  watching a function marked with [Bindable(style="true")].  For
+     *  example, UIComponent.getStyle().
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 4
+     */
+    private var isStyle:Boolean;
+
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/IBindingClient.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/IBindingClient.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/IBindingClient.as
new file mode 100644
index 0000000..14f2fb4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/IBindingClient.as
@@ -0,0 +1,33 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.binding
+{
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public interface IBindingClient
+{
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/mx/binding/IWatcherSetupUtil2.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/binding/IWatcherSetupUtil2.as b/frameworks/as/projects/FlexJSUI/src/mx/binding/IWatcherSetupUtil2.as
new file mode 100644
index 0000000..e2311d4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/mx/binding/IWatcherSetupUtil2.as
@@ -0,0 +1,47 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.binding
+{
+
+[ExcludeClass]
+
+/**
+ * @private
+ * This class is used to satisfy old MXML codegen
+ * for both Falcon and MXML, but in FlexJS with mxml.children-as-data output
+ * it isn't needed so there is no JS equivalent
+ */
+public interface IWatcherSetupUtil2
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	function setup(target:Object, propertyGetter:Function,
+                   staticPropertyGetter:Function,
+				   bindings:Array, watchers:Array):void;
+}
+
+}


[15/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/AlertMeasurementBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/AlertMeasurementBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/AlertMeasurementBead.as
new file mode 100644
index 0000000..8199b28
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/AlertMeasurementBead.as
@@ -0,0 +1,46 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import org.apache.flex.core.IMeasurementBead;
+	import org.apache.flex.core.IStrand;
+	
+	public class AlertMeasurementBead implements IMeasurementBead
+	{
+		public function AlertMeasurementBead()
+		{
+		}
+		
+		public function get measuredWidth():Number
+		{
+			return 0;
+		}
+		
+		public function get measuredHeight():Number
+		{
+			return 0;
+		}
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/AlertView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/AlertView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/AlertView.as
new file mode 100644
index 0000000..b02911a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/AlertView.as
@@ -0,0 +1,178 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import org.apache.flex.core.IAlertModel;
+	import org.apache.flex.core.IBead;
+    import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IMeasurementBead;
+    import org.apache.flex.core.IParent;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.UIMetrics;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.createjs.staticControls.Label;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.Alert;
+	import org.apache.flex.html.staticControls.ControlBar;
+	import org.apache.flex.html.staticControls.TextButton;
+	import org.apache.flex.html.staticControls.TitleBar;
+	import org.apache.flex.utils.BeadMetrics;
+	
+	public class AlertView implements IBeadView
+	{
+		public function AlertView()
+		{
+		}
+		
+		private var _titleBar:TitleBar;
+		private var _controlBar:ControlBar;
+		private var _label:Label;
+		private var _okButton:TextButton;
+		private var _cancelButton:TextButton;
+		private var _yesButton:TextButton;
+		private var _noButton:TextButton;
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+
+            var backgroundColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
+			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(value, "background-image");
+			if (backgroundColor != null || backgroundImage != null)
+			{
+				if (value.getBeadByType(IBackgroundBead) == null)
+					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);					
+			}
+			
+			var borderStyle:String;
+			var borderStyles:Object = ValuesManager.valuesImpl.getValue(value, "border");
+			if (borderStyles is Array)
+			{
+				borderStyle = borderStyles[1];
+			}
+			if (borderStyle == null)
+			{
+				borderStyle = ValuesManager.valuesImpl.getValue(value, "border-style") as String;
+			}
+			if (borderStyle != null && borderStyle != "none")
+			{
+				if (value.getBeadByType(IBorderBead) == null)
+					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);	
+			}
+			
+			var flags:uint = IAlertModel(UIBase(_strand).model).flags;
+			if( flags & Alert.OK ) {
+				_okButton = new TextButton();
+				_okButton.text = IAlertModel(UIBase(_strand).model).okLabel;
+				_okButton.addEventListener("click",handleOK);
+			}
+			if( flags & Alert.CANCEL ) {
+				_cancelButton = new TextButton();
+				_cancelButton.text = IAlertModel(UIBase(_strand).model).cancelLabel;
+				_cancelButton.addEventListener("click",handleCancel);
+			}
+			if( flags & Alert.YES ) {
+				_yesButton = new TextButton();
+				_yesButton.text = IAlertModel(UIBase(_strand).model).yesLabel;
+				_yesButton.addEventListener("click",handleYes);
+			}
+			if( flags & Alert.NO ) {
+				_noButton = new TextButton();
+				_noButton.text = IAlertModel(UIBase(_strand).model).noLabel;
+				_noButton.addEventListener("click",handleNo);
+			}
+			
+			_titleBar = new TitleBar();
+			_titleBar.title = IAlertModel(UIBase(_strand).model).title;
+			
+			_label = new Label();
+			_label.text = IAlertModel(UIBase(_strand).model).message;
+			
+			_controlBar = new ControlBar();
+			if( _okButton ) _controlBar.addElement(_okButton);
+			if( _cancelButton ) _controlBar.addElement(_cancelButton);
+			if( _yesButton  ) _controlBar.addElement(_yesButton);
+			if( _noButton ) _controlBar.addElement(_noButton);
+			
+		    IParent(_strand).addElement(_titleBar);
+            IParent(_strand).addElement(_controlBar);
+            IParent(_strand).addElement(_label);
+			
+			sizeHandler(null);
+		}
+		
+		private function sizeHandler(event:Event):void
+		{
+			var labelMeasure:IMeasurementBead = _label.measurementBead;
+			var titleMeasure:IMeasurementBead = _titleBar.measurementBead;
+			var ctrlMeasure:IMeasurementBead  = _controlBar.measurementBead;
+			var maxWidth:Number = Math.max(titleMeasure.measuredWidth, ctrlMeasure.measuredWidth, labelMeasure.measuredWidth);
+			
+			var metrics:UIMetrics = BeadMetrics.getMetrics(_strand);
+
+			_titleBar.x = metrics.left;
+			_titleBar.y = metrics.top;
+			_titleBar.width = maxWidth;
+			
+			// content placement here
+			_label.x = metrics.left;
+			_label.y = _titleBar.y + _titleBar.height + 2;
+			_label.width = maxWidth;
+			
+			_controlBar.x = metrics.left;
+			_controlBar.y = _label.y + _label.height + 2;
+			_controlBar.width = maxWidth;
+			
+			UIBase(_strand).width = maxWidth + metrics.left + metrics.right;
+			UIBase(_strand).height = _controlBar.y + _controlBar.height + metrics.bottom + 2;
+		}
+		
+		private function handleOK(event:Event):void
+		{
+			// create some custom event where the detail value
+			// is the OK button flag. Do same for other event handlers
+			dispatchCloseEvent(Alert.OK);
+		}
+		
+		private function handleCancel(event:Event):void
+		{
+			dispatchCloseEvent(Alert.CANCEL);
+		}
+		
+		private function handleYes(event:Event):void
+		{
+			dispatchCloseEvent(Alert.YES);
+		}
+		
+		private function handleNo(event:Event):void
+		{
+			dispatchCloseEvent(Alert.NO);
+		}
+		
+		public function dispatchCloseEvent(buttonFlag:uint):void
+		{
+			// TO DO: buttonFlag should be part of the event
+			var newEvent:Event = new Event("close",true);
+			IEventDispatcher(_strand).dispatchEvent(newEvent);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ButtonBarView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ButtonBarView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ButtonBarView.as
new file mode 100644
index 0000000..d1c781f
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ButtonBarView.as
@@ -0,0 +1,44 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	
+	import org.apache.flex.core.ILayoutParent;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+
+	public class ButtonBarView extends ListView
+	{
+		public function ButtonBarView()
+		{
+			super();
+		}
+		
+		private var _strand:IStrand;
+		
+		override public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			super.strand = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/CSSButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/CSSButtonView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/CSSButtonView.as
new file mode 100644
index 0000000..f7dc60a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/CSSButtonView.as
@@ -0,0 +1,128 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.Loader;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+	import flash.display.Sprite;
+	import flash.events.Event;
+	import flash.net.URLRequest;
+	
+	import org.apache.flex.core.IBeadView;
+    import org.apache.flex.core.CSSTextField;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.ITextModel;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.utils.SolidBorderUtil;
+
+	public class CSSButtonView implements IBeadView
+	{
+		public function CSSButtonView()
+		{
+			upSprite = new Sprite();
+			downSprite = new Sprite();
+			overSprite = new Sprite();
+		}
+		
+		private var textModel:ITextModel;
+		
+		private var _strand:IStrand;
+		
+		private var shape:Shape;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			shape = new Shape();
+			shape.graphics.beginFill(0xCCCCCC);
+			shape.graphics.drawRect(0, 0, 10, 10);
+			shape.graphics.endFill();
+			SimpleButton(value).upState = upSprite;
+			SimpleButton(value).downState = downSprite;
+			SimpleButton(value).overState = overSprite;
+			SimpleButton(value).hitTestState = shape;
+
+            setupBackground(overSprite, "hover");
+            setupBackground(downSprite, "active");
+            setupBackground(upSprite);
+		}
+	
+		private function setupSkin(sprite:Sprite, state:String = null):void
+		{
+			var borderColor:uint;
+			var borderThickness:uint;
+			var borderStyle:String;
+			var borderStyles:Object = ValuesManager.valuesImpl.getValue(_strand, "border", state);
+			if (borderStyles is Array)
+			{
+				borderColor = borderStyles[2];
+				borderStyle = borderStyles[1];
+				borderThickness = borderStyles[0];
+			}
+			var value:Object = ValuesManager.valuesImpl.getValue(_strand, "border-style", state);
+			if (value != null)
+				borderStyle = value as String;
+			value = ValuesManager.valuesImpl.getValue(_strand, "border-color", state);
+			if (value != null)
+				borderColor = value as uint;
+			value = ValuesManager.valuesImpl.getValue(_strand, "border-thickness", state);
+			if (value != null)
+				borderThickness = value as uint;
+			var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
+			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(_strand, "background-color", state);
+			if (borderStyle == "solid")
+			{
+				SolidBorderUtil.drawBorder(sprite.graphics, 
+					0, 0, sprite.width + Number(padding) * 2, sprite.height + Number(padding) * 2,
+					borderColor, backgroundColor, borderThickness);
+			}			
+		}
+		
+        private function setupBackground(sprite:Sprite, state:String = null):void
+        {
+            var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "background-image", state);
+            if (backgroundImage)
+            {
+                var loader:Loader = new Loader();
+                sprite.addChildAt(loader, 0);
+                var url:String = backgroundImage as String;
+                loader.load(new URLRequest(url));
+                loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { 
+                    setupSkin(sprite, state);
+                    updateHitArea();
+                });
+            }
+        }
+        
+		private var upSprite:Sprite;
+		private var downSprite:Sprite;
+		private var overSprite:Sprite;
+				
+		private function updateHitArea():void
+		{
+			shape.graphics.clear();
+			shape.graphics.beginFill(0xCCCCCC);
+			shape.graphics.drawRect(0, 0, upSprite.width, upSprite.height);
+			shape.graphics.endFill();
+			
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/CSSTextButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/CSSTextButtonView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/CSSTextButtonView.as
new file mode 100644
index 0000000..23428d8
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/CSSTextButtonView.as
@@ -0,0 +1,210 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	import flash.display.Loader;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+	import flash.display.Sprite;
+	import flash.events.Event;
+	import flash.net.URLRequest;
+	import flash.text.TextField;
+	import flash.text.TextFieldType;
+	
+	import org.apache.flex.core.CSSTextField;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.ITextModel;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.utils.SolidBorderUtil;
+
+	public class CSSTextButtonView implements IBeadView
+	{
+		public function CSSTextButtonView()
+		{
+			upSprite = new Sprite();
+			downSprite = new Sprite();
+			overSprite = new Sprite();
+			upTextField = new CSSTextField();
+			downTextField = new CSSTextField();
+			overTextField = new CSSTextField();
+			upTextField.selectable = false;
+			upTextField.type = TextFieldType.DYNAMIC;
+			downTextField.selectable = false;
+			downTextField.type = TextFieldType.DYNAMIC;
+			overTextField.selectable = false;
+			overTextField.type = TextFieldType.DYNAMIC;
+			upTextField.autoSize = "left";
+			downTextField.autoSize = "left";
+			overTextField.autoSize = "left";
+			upSprite.addChild(upTextField);
+			downSprite.addChild(downTextField);
+			overSprite.addChild(overTextField);
+		}
+		
+		private var textModel:ITextModel;
+		
+		private var _strand:IStrand;
+		
+		private var shape:Shape;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			textModel = value.getBeadByType(ITextModel) as ITextModel;
+			textModel.addEventListener("textChange", textChangeHandler);
+			textModel.addEventListener("htmlChange", htmlChangeHandler);
+			shape = new Shape();
+			shape.graphics.beginFill(0xCCCCCC);
+			shape.graphics.drawRect(0, 0, 10, 10);
+			shape.graphics.endFill();
+			SimpleButton(value).upState = upSprite;
+			SimpleButton(value).downState = downSprite;
+			SimpleButton(value).overState = overSprite;
+			SimpleButton(value).hitTestState = shape;
+			if (textModel.text !== null)
+				text = textModel.text;
+			if (textModel.html !== null)
+				html = textModel.html;
+
+            setupSkin(overSprite, overTextField, "hover");
+			setupSkin(downSprite, downTextField, "active");
+			setupSkin(upSprite, upTextField);
+			
+			IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
+			IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
+		}
+	
+		private function setupSkin(sprite:Sprite, textField:TextField, state:String = null):void
+		{
+			var sw:uint = DisplayObject(_strand).width;
+			var sh:uint = DisplayObject(_strand).height;
+			
+			var borderColor:uint;
+			var borderThickness:uint;
+			var borderStyle:String;
+			var borderStyles:Object = ValuesManager.valuesImpl.getValue(_strand, "border", state);
+			if (borderStyles is Array)
+			{
+				borderColor = borderStyles[2];
+				borderStyle = borderStyles[1];
+				borderThickness = borderStyles[0];
+			}
+			var value:Object = ValuesManager.valuesImpl.getValue(_strand, "border-style", state);
+			if (value != null)
+				borderStyle = value as String;
+			value = ValuesManager.valuesImpl.getValue(_strand, "border-color", state);
+			if (value != null)
+				borderColor = value as uint;
+			value = ValuesManager.valuesImpl.getValue(_strand, "border-thickness", state);
+			if (value != null)
+				borderThickness = value as uint;
+			var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
+			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(_strand, "background-color", state);
+			if (borderStyle == "solid")
+			{
+				SolidBorderUtil.drawBorder(sprite.graphics, 
+					0, 0, sw, textField.textHeight + Number(padding) * 2,
+					borderColor, backgroundColor, borderThickness);
+				textField.y = (sprite.height - textField.height) / 2;
+				textField.x = (sprite.width - textField.width) / 2;
+			}			
+			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "background-image", state);
+			if (backgroundImage)
+			{
+				var loader:Loader = new Loader();
+				sprite.addChildAt(loader, 0);
+				var url:String = backgroundImage as String;
+				loader.load(new URLRequest(url));
+				loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { 
+					textField.y = (sh - textField.height) / 2;
+					textField.x = (sw - textField.width) / 2;
+					updateHitArea();
+				});
+			}
+		}
+		
+		private function drawSkin() : void
+		{
+			setupSkin(overSprite, overTextField, "hover");
+			setupSkin(downSprite, downTextField, "active");
+			setupSkin(upSprite, upTextField);
+			
+			updateHitArea();
+		}
+		
+		private function textChangeHandler(event:org.apache.flex.events.Event):void
+		{
+			text = textModel.text;
+		}
+		
+		private function htmlChangeHandler(event:org.apache.flex.events.Event):void
+		{
+			html = textModel.html;
+		}
+		
+		private function sizeChangeHandler(event:org.apache.flex.events.Event):void
+		{
+			drawSkin();
+		}
+		
+		private var upTextField:CSSTextField;
+		private var downTextField:CSSTextField;
+		private var overTextField:CSSTextField;
+		private var upSprite:Sprite;
+		private var downSprite:Sprite;
+		private var overSprite:Sprite;
+		
+		public function get text():String
+		{
+			return upTextField.text;
+		}
+		public function set text(value:String):void
+		{
+			upTextField.text = value;
+			downTextField.text = value;
+			overTextField.text = value;
+			updateHitArea();
+		}
+		
+		private function updateHitArea():void
+		{
+			shape.graphics.clear();
+			shape.graphics.beginFill(0xCCCCCC);
+			shape.graphics.drawRect(0, 0, upSprite.width, upSprite.height);
+			shape.graphics.endFill();
+			
+		}
+		
+		public function get html():String
+		{
+			return upTextField.htmlText;
+		}
+		
+		public function set html(value:String):void
+		{
+			upTextField.htmlText = value;
+			downTextField.htmlText = value;
+			overTextField.htmlText = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/CheckBoxView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/CheckBoxView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/CheckBoxView.as
new file mode 100644
index 0000000..c6a9cb3
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/CheckBoxView.as
@@ -0,0 +1,214 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+	import flash.display.Sprite;
+	import flash.text.TextFieldAutoSize;
+	import flash.text.TextFieldType;
+	
+	import org.apache.flex.core.CSSTextField;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IToggleButtonModel;
+	import org.apache.flex.events.Event;
+	
+	public class CheckBoxView implements IBeadView
+	{
+		public function CheckBoxView()
+		{
+			sprites = [ upSprite = new Sprite(),
+				        downSprite = new Sprite(),
+						overSprite = new Sprite(),
+						upAndSelectedSprite = new Sprite(),
+						downAndSelectedSprite = new Sprite(),
+						overAndSelectedSprite = new Sprite() ];
+			
+			for each( var s:Sprite in sprites )
+			{
+				var tf:CSSTextField = new CSSTextField();
+				tf.type = TextFieldType.DYNAMIC;
+				tf.autoSize = TextFieldAutoSize.LEFT;
+				tf.name = "textField";
+				var icon:Shape = new Shape();
+				icon.name = "icon";
+				s.addChild(icon);
+				s.addChild(tf);
+			}
+		}
+		
+		private var upSprite:Sprite;
+		private var downSprite:Sprite;
+		private var overSprite:Sprite;
+		private var upAndSelectedSprite:Sprite;
+		private var downAndSelectedSprite:Sprite;
+		private var overAndSelectedSprite:Sprite;
+		
+		private var sprites:Array;
+		
+		private var _toggleButtonModel:IToggleButtonModel;
+		
+		public function get toggleButtonModel() : IToggleButtonModel
+		{
+			return _toggleButtonModel;
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+            
+			_toggleButtonModel = value.getBeadByType(IToggleButtonModel) as IToggleButtonModel;
+			_toggleButtonModel.addEventListener("textChange", textChangeHandler);
+			_toggleButtonModel.addEventListener("htmlChange", htmlChangeHandler);
+			_toggleButtonModel.addEventListener("selectedChange", selectedChangeHandler);
+			if (_toggleButtonModel.text !== null)
+				text = _toggleButtonModel.text;
+			
+			layoutControl();
+			
+			var hitArea:Shape = new Shape();
+			hitArea.graphics.beginFill(0x000000);
+			hitArea.graphics.drawRect(12,0,upSprite.width, upSprite.height);
+			hitArea.graphics.endFill();
+			
+			SimpleButton(value).upState = upSprite;
+			SimpleButton(value).downState = downSprite;
+			SimpleButton(value).overState = overSprite;
+			SimpleButton(value).hitTestState = hitArea;
+			
+			if (toggleButtonModel.text !== null)
+				text = toggleButtonModel.text;
+			if (toggleButtonModel.html !== null)
+				html = toggleButtonModel.html;
+		}
+		
+		public function get text():String
+		{
+			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
+			return tf.text;
+		}
+		
+		public function set text(value:String):void
+		{
+			for each( var s:Sprite in sprites )
+			{
+				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
+				tf.text = value;
+			}
+			
+			layoutControl();
+		}
+		
+		public function get html():String
+		{
+			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
+			return tf.htmlText;
+		}
+		
+		public function set html(value:String):void
+		{
+			for each(var s:Sprite in sprites)
+			{
+				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
+				tf.htmlText = value;
+			}
+			
+			layoutControl();
+		}
+		
+		private function textChangeHandler(event:Event):void
+		{
+			text = toggleButtonModel.text;
+		}
+		
+		private function htmlChangeHandler(event:Event):void
+		{
+			html = toggleButtonModel.html;
+		}
+		
+		private var _selected:Boolean;
+		
+		public function get selected():Boolean
+		{
+			return _selected;
+		}
+		
+		public function set selected(value:Boolean):void
+		{
+			_selected = value;
+			
+			layoutControl();
+			
+			if( value ) {
+				SimpleButton(_strand).upState = upAndSelectedSprite;
+				SimpleButton(_strand).downState = downAndSelectedSprite;
+				SimpleButton(_strand).overState = overAndSelectedSprite;
+				
+			} else {
+				SimpleButton(_strand).upState = upSprite;
+				SimpleButton(_strand).downState = downSprite;
+				SimpleButton(_strand).overState = overSprite;
+			}
+		}
+		
+		private function selectedChangeHandler(event:Event):void
+		{
+			selected = toggleButtonModel.selected;
+		}
+		
+		protected function layoutControl() : void
+		{
+			for each(var s:Sprite in sprites)
+			{
+				var icon:Shape = s.getChildByName("icon") as Shape;
+				var tf:CSSTextField = s.getChildByName("textField") as CSSTextField;
+				
+				drawCheckBox(icon);
+				
+				var mh:Number = Math.max(icon.height,tf.height);
+				
+				icon.x = 0;
+				icon.y = (mh - icon.height)/2;
+				
+				tf.x = icon.x + icon.width + 1;
+				tf.y = (mh - tf.height)/2;
+			}
+			
+		}
+		
+		protected function drawCheckBox(icon:Shape) : void
+		{
+			icon.graphics.clear();
+			icon.graphics.beginFill(0xCCCCCC);
+			icon.graphics.lineStyle(1,0x333333);
+			icon.graphics.drawRect(0,0,10,10);
+			icon.graphics.endFill();
+			
+			if( _toggleButtonModel.selected ) {
+				icon.graphics.moveTo(0,0);
+				icon.graphics.lineTo(10,10);
+				icon.graphics.moveTo(10,0);
+				icon.graphics.lineTo(0,10);
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ComboBoxView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ComboBoxView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ComboBoxView.as
new file mode 100644
index 0000000..d7a5bba
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ComboBoxView.as
@@ -0,0 +1,175 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	import flash.display.Sprite;
+	
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IComboBoxModel;
+	import org.apache.flex.core.IPopUpHost;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.ValuesManager;
+    import org.apache.flex.core.IParent;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.Button;
+	import org.apache.flex.html.staticControls.TextInput;
+	
+	public class ComboBoxView implements IBeadView, IComboBoxView
+	{
+		public function ComboBoxView()
+		{
+		}
+		
+		private var textInput:TextInput;
+		private var button:Button;
+		
+		public function get text():String
+		{
+			return textInput.text;
+		}
+		public function set text(value:String):void
+		{
+			textInput.text = value;
+		}
+		
+		public function get html():String
+		{
+			return textInput.html;
+		}
+		public function set html(value:String):void
+		{
+			textInput.html = value;
+		}
+		private var _strand:IStrand;
+		
+		public function get strand():IStrand
+		{
+			return _strand;
+		}
+		
+		private var selectionModel:IComboBoxModel;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+        
+			selectionModel = value.getBeadByType(IComboBoxModel) as IComboBoxModel;
+			selectionModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
+            
+			textInput = new TextInput();
+			IParent(strand).addElement(textInput);
+			textInput.width = 100;
+			textInput.height = 18;
+			
+			upSprite = new Sprite();
+			drawButton( upSprite, "up", 18, 18 );
+			overSprite = new Sprite();
+			drawButton( overSprite, "over", 18, 18 );
+			downSprite = new Sprite();
+			drawButton( downSprite, "down", 18, 18 );
+			
+			button = new Button( upSprite, overSprite, downSprite );
+			DisplayObjectContainer(strand).addChild(button);
+			button.width = 18;
+			button.height = 18;
+			button.x = textInput.width;
+			button.y = textInput.y;
+			
+			// listen for events on the text input and modify the list and selection
+			textInput.addEventListener("change", textChangeHandler,false,0,true);
+		}
+		
+		private var upSprite:Sprite;
+		private var overSprite:Sprite;
+		private var downSprite:Sprite;
+		
+		private function drawButton( sprite:Sprite, mode:String, width:Number, height:Number ) : void
+		{
+			sprite.graphics.clear();
+			sprite.graphics.lineStyle(1,0xFFFFFF);
+			sprite.graphics.drawRect(0, 0, width-1, height-1);
+			sprite.graphics.lineStyle(-1);
+			
+			if( mode == "over" ) sprite.graphics.beginFill(0xCCCCCC);
+			else if( mode == "down" ) sprite.graphics.beginFill(0x888888);
+			sprite.graphics.drawRect(0, 0, width-1, height-1);
+			sprite.graphics.endFill();
+			
+			sprite.graphics.beginFill(0x333333);
+			sprite.graphics.moveTo(4,4);
+			sprite.graphics.lineTo(width-4,4);
+			sprite.graphics.lineTo(int(width/2),height-4);
+			sprite.graphics.lineTo(4,4);
+			sprite.graphics.endFill();
+		}
+		
+		private var _popUp:IStrand;
+		public function get popUp():IStrand
+		{
+			return _popUp;
+		}
+		
+		private var _popUpVisible:Boolean;
+		
+		public function get popUpVisible():Boolean
+		{
+			return _popUpVisible;
+		}
+		
+		public function set popUpVisible(value:Boolean):void
+		{
+			if (value != _popUpVisible)
+			{
+				_popUpVisible = value;
+				if (value)
+				{
+					if (!_popUp)
+					{
+						var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
+						_popUp = new popUpClass() as IStrand;
+					}
+					var root:Object = DisplayObject(_strand).root;
+					var host:DisplayObjectContainer = DisplayObject(_strand).parent;
+					while (host && !(host is IPopUpHost))
+						host = host.parent;
+                    if (host)
+    					IPopUpHost(host).addElement(popUp);
+				}
+				else
+				{
+					DisplayObject(_popUp).parent.removeChild(_popUp as DisplayObject);                    
+				}
+			}
+		}
+		
+		private function selectionChangeHandler(event:Event):void
+		{
+			text = selectionModel.selectedItem.toString();
+		}
+		
+		private function textChangeHandler(event:Event):void
+		{	
+			var newEvent:Event = new Event("change");
+			IEventDispatcher(strand).dispatchEvent(newEvent);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ContainerView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ContainerView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ContainerView.as
new file mode 100644
index 0000000..c0eb0b7
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ContainerView.as
@@ -0,0 +1,144 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	import flash.display.Sprite;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.ILayoutParent;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.html.staticControls.Container;
+	import org.apache.flex.html.staticControls.ContainerContentArea;
+	import org.apache.flex.html.staticControls.supportClasses.Border;
+	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
+	
+	public class ContainerView implements IBeadView, ILayoutParent
+	{
+		public function ContainerView()
+		{
+		}
+		
+		protected var actualParent:DisplayObjectContainer;
+				
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
+			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(value, "background-image");
+			if (backgroundColor != null || backgroundImage != null)
+			{
+				if (value.getBeadByType(IBackgroundBead) == null)
+					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);					
+			}
+			
+			var borderStyle:String;
+			var borderStyles:Object = ValuesManager.valuesImpl.getValue(value, "border");
+			if (borderStyles is Array)
+			{
+				borderStyle = borderStyles[1];
+			}
+			if (borderStyle == null)
+			{
+				borderStyle = ValuesManager.valuesImpl.getValue(value, "border-style") as String;
+			}
+			if (borderStyle != null && borderStyle != "none")
+			{
+				if (value.getBeadByType(IBorderBead) == null)
+					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);	
+			}
+			
+			var paddingLeft:Object;
+			var paddingTop:Object;
+			var padding:Object = ValuesManager.valuesImpl.getValue(value, "padding");
+			if (padding is Array)
+			{
+				if (padding.length == 1)
+					paddingLeft = paddingTop = padding[0];
+				else if (padding.length <= 3)
+				{
+					paddingLeft = padding[1];
+					paddingTop = padding[0];
+				}
+				else if (padding.length == 4)
+				{
+					paddingLeft = padding[3];
+					paddingTop = padding[0];					
+				}
+			}
+			else if (padding == null)
+			{
+				paddingLeft = ValuesManager.valuesImpl.getValue(value, "padding-left");
+				paddingTop = ValuesManager.valuesImpl.getValue(value, "padding-top");
+			}
+			else
+			{
+				paddingLeft = paddingTop = padding;
+			}
+			var pl:Number = Number(paddingLeft);
+			var pt:Number = Number(paddingTop);
+			if ((!isNaN(pl) && pl > 0 ||
+				!isNaN(pt) && pt > 0))
+			{
+				actualParent = new ContainerContentArea();
+				DisplayObjectContainer(value).addChild(actualParent);
+				Container(value).setActualParent(actualParent);
+				actualParent.x = pl;
+				actualParent.y = pt;
+			}
+			else
+			{
+				actualParent = value as DisplayObjectContainer;
+			}
+		}
+		
+		public function get contentView():DisplayObjectContainer
+		{
+			return actualParent;
+		}
+		
+		public function get border():Border
+		{
+			return null;
+		}
+		
+		public function get resizableView():DisplayObject
+		{
+			return _strand as DisplayObject;
+		}
+		
+		public function get vScrollBar():ScrollBar
+		{
+			return null;
+		}
+		
+		public function get hScrollBar():ScrollBar
+		{
+			return null;
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ControlBarMeasurementBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ControlBarMeasurementBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ControlBarMeasurementBead.as
new file mode 100644
index 0000000..af16940
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ControlBarMeasurementBead.as
@@ -0,0 +1,74 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObjectContainer;
+	
+	import org.apache.flex.core.IMeasurementBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IUIBase;
+	import org.apache.flex.html.staticControls.Container;
+	
+	public class ControlBarMeasurementBead implements IMeasurementBead
+	{
+		public function ControlBarMeasurementBead()
+		{
+		}
+		
+		public function get measuredWidth():Number
+		{
+			// Note: the measurement should problably be done by the ControlBar's layout manager bead
+			// since it would know the arrangement of the items and how far apart they are and if
+			// there are margins and paddings and gaps involved.
+			var mwidth:Number = 0;
+			var children:Array = Container(_strand).getChildren();
+			var n:int = children.length;
+			for(var i:int=0; i < n; i++) {
+				var child:IUIBase = children[i] as IUIBase;
+				if( child == null ) continue;
+				var childMeasure:IMeasurementBead = child.getBeadByType(IMeasurementBead) as IMeasurementBead;
+                if (childMeasure)
+    				mwidth += childMeasure.measuredWidth;
+			}
+			return mwidth;
+		}
+		
+		public function get measuredHeight():Number
+		{
+			// Note: the measurement should problably be done by the ControlBar's layout manager bead
+			// since it would know the arrangement of the items and how far apart they are and if
+			// there are margins and paddings and gaps involved.
+			var mheight:Number = 0;
+			var n:int = DisplayObjectContainer(_strand).numChildren;
+			for(var i:int=0; i < n; i++) {
+				var child:IUIBase = DisplayObjectContainer(_strand).getChildAt(i) as IUIBase;
+				if( child == null ) continue;
+				var childMeasure:IMeasurementBead = child.getBeadByType(IMeasurementBead) as IMeasurementBead;
+				mheight += childMeasure.measuredHeight;
+			}
+			return mheight;
+		}
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as
new file mode 100644
index 0000000..94dc74c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as
@@ -0,0 +1,56 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import org.apache.flex.core.IStrand;
+	
+	public class DataGridColumnView extends ListView
+	{
+		public function DataGridColumnView()
+		{
+		}
+		
+		private var _strand:IStrand;
+		override public function set strand(value:IStrand):void
+		{
+			super.strand = value;
+			_strand = value;
+		}
+		
+		private var _columnIndex:uint;
+		public function get columnIndex():uint
+		{
+			return _columnIndex;
+		}
+		public function set columnIndex(value:uint):void
+		{
+			_columnIndex = value;
+		}
+		
+		private var _labelField:String;
+		public function get labelField():String
+		{
+			return _labelField;
+		}
+		public function set labelField(value:String):void
+		{
+			_labelField = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as
new file mode 100644
index 0000000..f2d3cc2
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as
@@ -0,0 +1,156 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	import flash.display.Shape;
+	
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IDataGridModel;
+	import org.apache.flex.core.IDataGridPresentationModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.ButtonBar;
+	import org.apache.flex.html.staticControls.Container;
+	import org.apache.flex.html.staticControls.List;
+	import org.apache.flex.html.staticControls.SimpleList;
+	import org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout;
+	import org.apache.flex.html.staticControls.beads.models.ArraySelectionModel;
+	
+	public class DataGridView implements IDataGridView
+	{
+		public function DataGridView()
+		{
+		}
+		
+		private var background:Shape;
+		private var buttonBar:ButtonBar;
+		private var buttonBarModel:ArraySelectionModel;
+		private var columnContainer:Container;
+		private var columns:Array;
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			background = new Shape();
+			DisplayObjectContainer(_strand).addChild(background);
+			
+			var pm:IDataGridPresentationModel = _strand.getBeadByType(IDataGridPresentationModel) as IDataGridPresentationModel;
+			buttonBarModel = new ArraySelectionModel();
+			buttonBarModel.dataProvider = pm.columnLabels;
+			buttonBar = new ButtonBar();
+			buttonBar.addBead(buttonBarModel);
+			UIBase(_strand).addElement(buttonBar);
+			
+			columnContainer = new Container();
+			var layout:NonVirtualHorizontalLayout = new NonVirtualHorizontalLayout();
+			columnContainer.addBead(layout);
+			UIBase(_strand).addElement(columnContainer);
+			
+			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
+			
+			columns = new Array();
+			for(var i:int=0; i < pm.columnLabels.length; i++) {
+				var column:List = new SimpleList();
+				var columnView:DataGridColumnView = new DataGridColumnView();
+				columnView.labelField = sharedModel.labelFields[i];
+				var factory:DataItemRendererFactoryForColumnData = new DataItemRendererFactoryForColumnData();
+				columnView.columnIndex = i;
+				column.addBead(sharedModel);
+				column.addBead(columnView);
+				column.addBead(factory);
+				columnContainer.addElement(column);
+				columns.push(column);
+				
+				column.addEventListener('change',columnListChangeHandler);
+				column.addEventListener('rollover',columnListRollOverHandler);
+			}
+			
+			IEventDispatcher(_strand).addEventListener("widthChanged",handleSizeChange);
+			IEventDispatcher(_strand).addEventListener("heightChanged",handleSizeChange);
+			
+			handleSizeChange(null); // initial sizing
+		}
+		
+		private function handleSizeChange(event:Event):void
+		{
+			var sw:Number = DisplayObject(_strand).width;
+			var sh:Number = DisplayObject(_strand).height;
+			
+			var backgroundColor:Number = 0xDDDDDD;
+			var value:Object = ValuesManager.valuesImpl.getValue(_strand, "background-color");
+			if (value != null) backgroundColor = Number(value);
+			
+			background.graphics.clear();
+			background.graphics.beginFill(backgroundColor);
+			background.graphics.drawRect(0,0,sw,sh);
+			background.graphics.endFill();
+			
+			buttonBar.x = 0;
+			buttonBar.y = 0;
+			buttonBar.width = sw;
+			buttonBar.height = 25;
+			
+			columnContainer.x = 0;
+			columnContainer.y = 30;
+			columnContainer.width = sw;
+			columnContainer.height = sh - 25;
+			
+			for(var i:int=0; i < columns.length; i++) {
+				var column:List = columns[i];
+			
+				var cw:Number = sw/(columns.length);
+				column.x = i*cw; // should be positioned by the Container's layout
+				column.y = 0;
+				column.width = cw;
+				column.height = columnContainer.height; // this will actually be Nitem*rowHeight
+			}
+		}
+		
+		private function columnListChangeHandler(event:Event):void
+		{
+			var list:List = event.target as List;
+			for(var i:int=0; i < columns.length; i++) {
+				if (list != columns[i]) {
+					columns[i].selectedIndex = list.selectedIndex;
+				}
+			}
+			
+			IEventDispatcher(_strand).dispatchEvent(new Event('change'));
+		}
+		
+		private function columnListRollOverHandler(event:Event):void
+		{
+			var list:List = event.target as List;
+			for(var i:int=0; i < columns.length; i++) {
+				if (list != columns[i]) {
+					columns[i].rollOverIndex = list.rollOverIndex;
+				}
+			}
+			
+			IEventDispatcher(_strand).dispatchEvent(new Event('rollOver'));
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as
new file mode 100644
index 0000000..dbb06ed
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.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.staticControls.beads
+{
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IItemRenderer;
+	import org.apache.flex.core.IItemRendererClassFactory;
+	import org.apache.flex.core.IItemRendererParent;
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	
+	public class DataItemRendererFactoryForArrayData implements IBead, IDataProviderItemRendererMapper
+	{
+		public function DataItemRendererFactoryForArrayData()
+		{
+		}
+		
+		private var selectionModel:ISelectionModel;
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
+			var listView:IListView = value.getBeadByType(IListView) as IListView;
+			dataGroup = listView.dataGroup;
+			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+			
+			if (!itemRendererFactory)
+			{
+				_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
+				_strand.addBead(_itemRendererFactory);
+			}
+			
+			dataProviderChangeHandler(null);
+		}
+		
+		public var _itemRendererFactory:IItemRendererClassFactory;
+		
+		public function get itemRendererFactory():IItemRendererClassFactory
+		{
+			return _itemRendererFactory
+		}
+		
+		public function set itemRendererFactory(value:IItemRendererClassFactory):void
+		{
+			_itemRendererFactory = value;
+		}
+		
+		protected var dataGroup:IItemRendererParent;
+		
+		private function dataProviderChangeHandler(event:Event):void
+		{
+			var dp:Array = selectionModel.dataProvider as Array;
+			if (!dp)
+				return;
+			
+			dataGroup.removeAllElements();
+			
+			var n:int = dp.length; 
+			for (var i:int = 0; i < n; i++)
+			{
+				var ir:IItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as IItemRenderer;
+				ir.index = i;
+				dataGroup.addElement(ir);
+				ir.data = dp[i];
+			}
+			
+			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as
new file mode 100644
index 0000000..34b7969
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.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.staticControls.beads
+{
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IItemRenderer;
+	import org.apache.flex.core.IItemRendererClassFactory;
+	import org.apache.flex.core.IItemRendererParent;
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.supportClasses.DataItemRenderer;
+	
+	public class DataItemRendererFactoryForColumnData implements IBead, IDataProviderItemRendererMapper
+	{
+		public function DataItemRendererFactoryForColumnData()
+		{
+		}
+		
+		private var selectionModel:ISelectionModel;
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
+			var listView:IListView = value.getBeadByType(IListView) as IListView;
+			dataGroup = listView.dataGroup;
+			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+			
+			if (!itemRendererFactory)
+			{
+				_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
+				_strand.addBead(_itemRendererFactory);
+			}
+			
+			dataProviderChangeHandler(null);
+		}
+		
+		public var _itemRendererFactory:IItemRendererClassFactory;
+		
+		public function get itemRendererFactory():IItemRendererClassFactory
+		{
+			return _itemRendererFactory
+		}
+		
+		public function set itemRendererFactory(value:IItemRendererClassFactory):void
+		{
+			_itemRendererFactory = value;
+		}
+		
+		protected var dataGroup:IItemRendererParent;
+		
+		private function dataProviderChangeHandler(event:Event):void
+		{
+			var dp:Array = selectionModel.dataProvider as Array;
+			if (!dp)
+				return;
+			
+			dataGroup.removeAllElements();
+			
+			var view:DataGridColumnView = _strand.getBeadByType(IBeadView) as DataGridColumnView;
+			if (view == null) return;
+			
+			var n:int = dp.length; 
+			for (var i:int = 0; i < n; i++)
+			{
+				
+				var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
+				tf.index = i;
+				dataGroup.addElement(tf);
+				tf.text = dp[i][view.labelField];
+			}
+			
+			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DownArrowButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DownArrowButtonView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DownArrowButtonView.as
new file mode 100644
index 0000000..9a241f9
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DownArrowButtonView.as
@@ -0,0 +1,78 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.Graphics;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+
+	import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.IBeadView;
+	
+	public class DownArrowButtonView implements IBeadView
+	{
+		public function DownArrowButtonView()
+		{
+			upView = new Shape();
+			downView = new Shape();
+			overView = new Shape();
+
+			drawView(upView.graphics, 0xCCCCCC);
+			drawView(downView.graphics, 0x808080);
+			drawView(overView.graphics, 0xEEEEEE);
+		}
+		
+		private function drawView(g:Graphics, bgColor:uint):void
+		{
+			g.lineStyle(1);
+			g.beginFill(bgColor);
+			g.drawRect(0, 0, 16, 16);
+			g.endFill();
+			g.lineStyle(0);
+			g.beginFill(0);
+			g.moveTo(4, 4);
+			g.lineTo(12, 4);
+			g.lineTo(8, 12);
+			g.lineTo(4, 4);
+			g.endFill();
+		}
+		
+		private var _strand:IStrand;
+		
+		private var shape:Shape;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			shape = new Shape();
+			shape.graphics.beginFill(0xCCCCCC);
+			shape.graphics.drawRect(0, 0, 16, 16);
+			shape.graphics.endFill();
+			SimpleButton(value).upState = upView;
+			SimpleButton(value).downState = downView;
+			SimpleButton(value).overState = overView;
+			SimpleButton(value).hitTestState = shape;
+		}
+				
+		private var upView:Shape;
+		private var downView:Shape;
+		private var overView:Shape;
+        
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DropDownListView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DropDownListView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DropDownListView.as
new file mode 100644
index 0000000..59954ed
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DropDownListView.as
@@ -0,0 +1,223 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	import flash.display.Graphics;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+	import flash.display.Sprite;
+	import flash.text.TextFieldType;
+	
+	import org.apache.flex.core.CSSTextField;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IPopUpHost;
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IPopUpHost;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+
+	public class DropDownListView implements IDropDownListView, IBeadView
+	{
+		public function DropDownListView()
+		{
+            upSprite = new Sprite();
+            downSprite = new Sprite();
+            overSprite = new Sprite();
+			upTextField = new CSSTextField();
+			downTextField = new CSSTextField();
+			overTextField = new CSSTextField();
+            upSprite.addChild(upTextField);
+            overSprite.addChild(overTextField);
+            downSprite.addChild(downTextField);
+			upTextField.border = true;
+			downTextField.border = true;
+			overTextField.border = true;
+			upTextField.background = true;
+			downTextField.background = true;
+			overTextField.background = true;
+			upTextField.borderColor = 0;
+			downTextField.borderColor = 0;
+			overTextField.borderColor = 0;
+			upTextField.backgroundColor = 0xEEEEEE;
+			downTextField.backgroundColor = 0x808080;
+			overTextField.backgroundColor = 0xFFFFFF;
+			upTextField.selectable = false;
+			upTextField.type = TextFieldType.DYNAMIC;
+			downTextField.selectable = false;
+			downTextField.type = TextFieldType.DYNAMIC;
+			overTextField.selectable = false;
+			overTextField.type = TextFieldType.DYNAMIC;
+			//upTextField.autoSize = "left";
+			//downTextField.autoSize = "left";
+			//overTextField.autoSize = "left";
+            
+            upArrows = new Shape();
+            overArrows = new Shape();
+            downArrows = new Shape();
+            upSprite.addChild(upArrows);
+			overSprite.addChild(overArrows);
+			downSprite.addChild(downArrows);
+            drawArrows(upArrows, 0xEEEEEE);
+            drawArrows(overArrows, 0xFFFFFF);
+            drawArrows(downArrows, 0x808080);
+
+		}
+
+        private function drawArrows(shape:Shape, color:uint):void
+        {
+            var g:Graphics = shape.graphics;
+            g.beginFill(color);
+            g.drawRect(0, 0, 16, 17);
+            g.endFill();
+            g.beginFill(0);
+            g.moveTo(8, 2);
+            g.lineTo(12, 6);
+            g.lineTo(4, 6);
+            g.lineTo(8, 2);
+            g.endFill();
+            g.beginFill(0);
+            g.moveTo(8, 14);
+            g.lineTo(12, 10);
+            g.lineTo(4, 10);
+            g.lineTo(8, 14);
+            g.endFill();
+            g.lineStyle(1, 0);
+            g.drawRect(0, 0, 16, 17);
+        }
+        
+		private var selectionModel:ISelectionModel;
+		
+		private var _strand:IStrand;
+		
+		private var shape:Shape;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+            selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
+            selectionModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
+			shape = new Shape();
+			shape.graphics.beginFill(0xCCCCCC);
+			shape.graphics.drawRect(0, 0, 10, 10);
+			shape.graphics.endFill();
+			SimpleButton(value).upState = upSprite;
+			SimpleButton(value).downState = downSprite;
+			SimpleButton(value).overState = overSprite;
+			SimpleButton(value).hitTestState = shape;
+			if (selectionModel.selectedIndex !== -1)
+				text = selectionModel.selectedItem.toString();
+            IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
+            IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
+			changeHandler(null);
+		}
+		
+		private function selectionChangeHandler(event:Event):void
+		{
+			text = selectionModel.selectedItem.toString();
+		}
+		
+        private function changeHandler(event:Event):void
+        {
+            var ww:Number = DisplayObject(_strand).width;
+            var hh:Number = DisplayObject(_strand).height;
+            upArrows.x = ww - upArrows.width;            
+            overArrows.x = ww - overArrows.width;            
+            downArrows.x = ww - downArrows.width;
+			upTextField.width = upArrows.x;
+			downTextField.width = downArrows.x;
+			overTextField.width = overArrows.x;
+			upTextField.height = hh;
+			downTextField.height = hh;
+			overTextField.height = hh;
+			shape.graphics.clear();
+			shape.graphics.beginFill(0xCCCCCC);
+			shape.graphics.drawRect(0, 0, ww, hh);
+			shape.graphics.endFill();
+        }
+        
+		private var upTextField:CSSTextField;
+		private var downTextField:CSSTextField;
+		private var overTextField:CSSTextField;
+        private var upSprite:Sprite;
+        private var downSprite:Sprite;
+        private var overSprite:Sprite;
+        private var upArrows:Shape;
+        private var downArrows:Shape;
+        private var overArrows:Shape;
+		
+		public function get text():String
+		{
+			return upTextField.text;
+		}
+        
+		public function set text(value:String):void
+		{
+            var ww:Number = DisplayObject(_strand).width;
+            var hh:Number = DisplayObject(_strand).height;
+			upTextField.text = value;
+			downTextField.text = value;
+			overTextField.text = value;
+			
+		}
+		
+        private var _popUp:IStrand;
+        public function get popUp():IStrand
+        {
+            return _popUp;
+        }
+        
+        private var _popUpVisible:Boolean;
+        
+        public function get popUpVisible():Boolean
+        {
+            return _popUpVisible;
+        }
+        
+        public function set popUpVisible(value:Boolean):void
+        {
+            if (value != _popUpVisible)
+            {
+                _popUpVisible = value;
+                if (value)
+                {
+                    if (!_popUp)
+                    {
+                        var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
+                        _popUp = new popUpClass() as IStrand;
+                    }
+					var root:Object = DisplayObject(_strand).root;
+					var host:DisplayObjectContainer = DisplayObject(_strand).parent;
+                    while (host && !(host is IPopUpHost))
+                        host = host.parent;
+                    if (host)
+                        IPopUpHost(host).addElement(popUp);
+                }
+                else
+                {
+                    DisplayObject(_popUp).parent.removeChild(_popUp as DisplayObject);                    
+                }
+            }
+        }
+        
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IBackgroundBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IBackgroundBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IBackgroundBead.as
new file mode 100644
index 0000000..f73da26
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IBackgroundBead.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import org.apache.flex.core.IBead;
+
+	public interface IBackgroundBead extends IBead
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IBorderBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IBorderBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IBorderBead.as
new file mode 100644
index 0000000..813be04
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IBorderBead.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import org.apache.flex.core.IBead;
+
+	public interface IBorderBead extends IBead
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IComboBoxView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IComboBoxView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IComboBoxView.as
new file mode 100644
index 0000000..e3866fc
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IComboBoxView.as
@@ -0,0 +1,37 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+    import org.apache.flex.core.IBeadView;
+    import org.apache.flex.core.IStrand;
+    
+	public interface IComboBoxView extends IBeadView
+	{
+		function get text():String;
+		function set text(value:String):void;
+		
+		function get html():String;
+		function set html(value:String):void;
+		
+		function get popUp():IStrand;
+		
+		function get popUpVisible():Boolean;
+		function set popUpVisible(value:Boolean):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IDataGridView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IDataGridView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IDataGridView.as
new file mode 100644
index 0000000..17afcd5
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IDataGridView.as
@@ -0,0 +1,27 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import org.apache.flex.core.IBeadView;
+	
+	public interface IDataGridView extends IBeadView
+	{
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IDataProviderItemRendererMapper.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IDataProviderItemRendererMapper.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IDataProviderItemRendererMapper.as
new file mode 100644
index 0000000..8a83d82
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IDataProviderItemRendererMapper.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IItemRendererClassFactory;
+
+    /**
+     * Classes that generate ItemRenderers based on dataProvider contents.
+     * These classes use an IItemRendererFactory to generate the actual
+     * ItemRenderer instances
+     */
+	public interface IDataProviderItemRendererMapper extends IBead
+	{
+        function get itemRendererFactory():IItemRendererClassFactory;
+        function set itemRendererFactory(value:IItemRendererClassFactory):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IDropDownListView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IDropDownListView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IDropDownListView.as
new file mode 100644
index 0000000..b90b00c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IDropDownListView.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+    import org.apache.flex.core.IBeadView;
+    import org.apache.flex.core.IStrand;
+
+	public interface IDropDownListView extends IBeadView
+	{
+        function get popUp():IStrand;
+        
+        function get popUpVisible():Boolean;
+        function set popUpVisible(value:Boolean):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IGraphicsDrawing.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IGraphicsDrawing.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IGraphicsDrawing.as
new file mode 100644
index 0000000..dc1ca3d
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/IGraphicsDrawing.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.beads
+{
+	public interface IGraphicsDrawing
+	{
+		
+	}
+}
\ No newline at end of file


[16/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/CustomEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/CustomEvent.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/CustomEvent.as
new file mode 100644
index 0000000..0776e22
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/CustomEvent.as
@@ -0,0 +1,36 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.events
+{
+	/**
+	 *  MXML auto-imports flash.events.Event which then requires
+	 *  full qualification to use org.apache.flex.events.Event.
+	 *  Use CustomEvent to skip all that extra typing.  Eventually
+	 *  we should add a flag to strip out the default auto-imports.
+	 *  Like org.apache.flex.events.Event events on the JS side
+	 *  are DOMEvents and not really instances of this class
+	 */
+	public class CustomEvent extends Event
+	{
+		public function CustomEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
+		{
+			super(type, bubbles, cancelable);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/Event.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/Event.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/Event.as
new file mode 100644
index 0000000..91fd83a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/Event.as
@@ -0,0 +1,38 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.events
+{
+	import flash.events.Event;
+	
+	/**
+	 *  This class simply wraps flash.events.Event so that
+	 *  no flash packages are needed on the JS side.
+	 *  At runtime, this class is not always the event object
+	 *  that is dispatched.  In most cases we are dispatching
+	 *  DOMEvents instead, so as long as you don't actually
+	 *  check the typeof(event) it will work
+	 */
+	public class Event extends flash.events.Event
+	{
+		public function Event(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
+		{
+			super(type, bubbles, cancelable);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/EventDispatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/EventDispatcher.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/EventDispatcher.as
new file mode 100644
index 0000000..64c6f87
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/EventDispatcher.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.events
+{
+	import flash.events.EventDispatcher;
+	
+	/**
+	 *  This class simply wraps flash.events.EventDispatcher so that
+	 *  no flash packages are needed on the JS side.
+	 */
+	public class EventDispatcher extends flash.events.EventDispatcher implements IEventDispatcher
+	{
+		public function EventDispatcher()
+		{
+			super();
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/IEventDispatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/IEventDispatcher.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/IEventDispatcher.as
new file mode 100644
index 0000000..b838d23
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/IEventDispatcher.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.events
+{
+	import flash.events.IEventDispatcher;
+	
+	/**
+	 *  This class simply wraps flash.events.EventDispatcher so that
+	 *  no flash packages are needed on the JS side.
+	 */
+	public interface IEventDispatcher extends flash.events.IEventDispatcher
+	{
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/ValueChangeEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/ValueChangeEvent.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/ValueChangeEvent.as
new file mode 100644
index 0000000..4a759f7
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/ValueChangeEvent.as
@@ -0,0 +1,46 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.events
+{
+	public class ValueChangeEvent extends Event
+	{
+		public function ValueChangeEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, 
+										 oldValue:Object = null, newValue:Object = null)
+		{
+			super(type, bubbles, cancelable);
+			this.oldValue = oldValue;
+			this.newValue = newValue;
+		}
+		
+		public var oldValue:Object;
+		public var newValue:Object;
+        public var propertyName:String;
+        public var source:Object;
+		
+		public static const VALUE_CHANGE:String = "valueChange";
+        
+        public static function createUpdateEvent(source:Object, name:String, oldValue:Object, newValue:Object):ValueChangeEvent
+        {
+            var event:ValueChangeEvent = new ValueChangeEvent(VALUE_CHANGE, false, false, oldValue, newValue);
+            event.propertyName = name;
+            event.source = source;
+            return event;
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Alert.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Alert.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Alert.as
new file mode 100644
index 0000000..b3cf5e2
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Alert.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.staticControls
+{
+	import org.apache.flex.core.IAlertModel;
+	import org.apache.flex.core.IPopUp;
+	import org.apache.flex.core.UIBase;
+	
+	public class Alert extends UIBase implements IPopUp
+	{
+		public static const YES:uint    = 0x000001;
+		public static const NO:uint     = 0x000002;
+		public static const OK:uint     = 0x000004;
+		public static const CANCEL:uint = 0x000008;
+		
+		public function Alert()
+		{
+			super();
+			
+			className = "Alert";
+		}
+		
+		// note: only passing parent to this function as I don't see a way to identify
+		// the 'application' or top level view without supplying a place to start to
+		// look for it.
+		static public function show( text:String, parent:Object, title:String="", flags:uint=Alert.OK ) : void
+		{
+			var alert:Alert = new Alert();
+			alert.message = text;
+			alert.title  = title;
+			alert.flags = flags;
+			
+			alert.show(parent);
+		}
+		
+		public function show(parent:Object) : void
+		{
+			parent.addElement(this);
+		}
+		
+		public function get title():String
+		{
+			return IAlertModel(model).title;
+		}
+		public function set title(value:String):void
+		{
+			IAlertModel(model).title = value;
+		}
+		
+		public function get message():String
+		{
+			return IAlertModel(model).message;
+		}
+		public function set message(value:String):void
+		{
+			IAlertModel(model).message = value;
+		}
+		
+		public function get flags():uint
+		{
+			return IAlertModel(model).flags;
+		}
+		public function set flags(value:uint):void
+		{
+			IAlertModel(model).flags = value;
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Button.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Button.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Button.as
new file mode 100644
index 0000000..ce28dc5
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Button.as
@@ -0,0 +1,37 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	import flash.display.DisplayObject;
+	
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IUIBase;
+    import org.apache.flex.core.UIButtonBase;
+	import org.apache.flex.events.IEventDispatcher;
+	
+	[Event(name="click", type="org.apache.flex.events.Event")]
+
+	public class Button extends UIButtonBase implements IStrand, IEventDispatcher, IUIBase
+	{
+		public function Button(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
+		{
+			super(upState, overState, downState, hitTestState);
+		}		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ButtonBar.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ButtonBar.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ButtonBar.as
new file mode 100644
index 0000000..ee7c0e3
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ButtonBar.as
@@ -0,0 +1,28 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	public class ButtonBar extends List
+	{
+		public function ButtonBar()
+		{
+			super();
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/CheckBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/CheckBox.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/CheckBox.as
new file mode 100644
index 0000000..ceaf488
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/CheckBox.as
@@ -0,0 +1,65 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	import flash.display.DisplayObject;
+    import flash.events.MouseEvent;
+	
+	import org.apache.flex.core.IToggleButtonModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIButtonBase;
+	import org.apache.flex.events.Event;
+	
+	[Event(name="change", type="org.apache.flex.events.Event")]
+
+	public class CheckBox extends UIButtonBase implements IStrand
+	{
+		public function CheckBox(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
+		{
+			super(upState, overState, downState, hitTestState);
+			
+			addEventListener(MouseEvent.CLICK, internalMouseHandler);
+		}
+		
+		public function get text():String
+		{
+			return IToggleButtonModel(model).text;
+		}
+		public function set text(value:String):void
+		{
+			IToggleButtonModel(model).text = value;
+		}
+		
+		public function get selected():Boolean
+		{
+			return IToggleButtonModel(model).selected;
+		}
+		
+		public function set selected(value:Boolean):void
+		{
+			IToggleButtonModel(model).selected = value;
+		}
+				
+		private function internalMouseHandler(event:Event) : void
+		{
+			selected = !selected;
+			dispatchEvent(new Event("change"));
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ComboBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ComboBox.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ComboBox.as
new file mode 100644
index 0000000..d70e644
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ComboBox.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.staticControls
+{
+	import org.apache.flex.core.IComboBoxModel;
+	import org.apache.flex.core.UIBase;
+	
+	[Event(name="change", type="org.apache.flex.events.Event")]
+	
+	public class ComboBox extends UIBase
+	{
+		public function ComboBox()
+		{
+			super();
+		}
+		
+		public function get dataProvider():Object
+		{
+			return IComboBoxModel(model).dataProvider;
+		}
+		public function set dataProvider(value:Object):void
+		{
+			IComboBoxModel(model).dataProvider = value;
+		}
+		
+		public function get selectedIndex():int
+		{
+			return IComboBoxModel(model).selectedIndex;
+		}
+		public function set selectedIndex(value:int):void
+		{
+			IComboBoxModel(model).selectedIndex = value;
+		}
+		
+		public function get selectedItem():Object
+		{
+			return IComboBoxModel(model).selectedItem;
+		}
+		public function set selectedItem(value:Object):void
+		{
+			IComboBoxModel(model).selectedItem = value;
+		}
+				
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Container.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Container.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Container.as
new file mode 100644
index 0000000..05a59b1
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Container.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.staticControls
+{
+	import flash.display.DisplayObject;
+	import flash.display.DisplayObjectContainer;
+	
+	import org.apache.flex.core.IChrome;
+	import org.apache.flex.core.IContainer;
+	import org.apache.flex.core.IUIBase;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.Event;
+	
+    [Event(name="change", type="org.apache.flex.events.Event")]
+    
+	[DefaultProperty("mxmlContent")]
+	public class Container extends UIBase implements IContainer
+	{
+		public function Container()
+		{
+			super();
+			actualParent = this;
+		}
+		
+		public var mxmlContent:Array;
+
+		private var actualParent:DisplayObjectContainer;
+		
+		public function setActualParent(parent:DisplayObjectContainer):void
+		{
+			actualParent = parent;	
+		}
+		
+        override public function getElementIndex(c:Object):int
+        {
+            if (c is IUIBase)
+                return actualParent.getChildIndex(IUIBase(c).element as DisplayObject);
+            else
+                return actualParent.getChildIndex(c as DisplayObject);
+        }
+
+        override public function addElement(c:Object):void
+        {
+            if (c is IUIBase)
+            {
+				if (c is IChrome ) {
+					addChild(IUIBase(c).element as DisplayObject);
+					IUIBase(c).addedToParent();
+				}
+				else {
+                	actualParent.addChild(IUIBase(c).element as DisplayObject);
+                	IUIBase(c).addedToParent();
+				}
+            }
+            else {
+				if (c is IChrome) {
+					addChild(c as DisplayObject);
+				}
+				else {
+					actualParent.addChild(c as DisplayObject);
+				}
+			}
+        }
+        
+        override public function addElementAt(c:Object, index:int):void
+        {
+            if (c is IUIBase)
+            {
+				if (c is IChrome) {
+					addChildAt(IUIBase(c).element as DisplayObject, index);
+					IUIBase(c).addedToParent();
+				}
+				else {
+                	actualParent.addChildAt(IUIBase(c).element as DisplayObject, index);
+                	IUIBase(c).addedToParent();
+				}
+            }
+            else {
+				if (c is IChrome) {
+					addChildAt(c as DisplayObject, index);
+				} else {
+                	actualParent.addChildAt(c as DisplayObject, index);
+				}
+			}
+        }
+        
+        override public function removeElement(c:Object):void
+        {
+            if (c is IUIBase)
+                actualParent.removeChild(IUIBase(c).element as DisplayObject);
+            else
+                actualParent.removeChild(c as DisplayObject);
+        }
+        
+        public function getChildren():Array
+		{
+			var children:Array = [];
+			var n:int = actualParent.numChildren;
+			for (var i:int = 0; i < n; i++)
+				children.push(actualParent.getChildAt(i));
+			return children;
+		}
+
+		public function childrenAdded():void
+		{
+			dispatchEvent(new Event("childrenAdded"));
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ContainerContentArea.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ContainerContentArea.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ContainerContentArea.as
new file mode 100644
index 0000000..fd846a4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ContainerContentArea.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.html.staticControls
+{
+	import org.apache.flex.core.UIBase;
+	
+	public class ContainerContentArea extends UIBase
+	{
+		public function ContainerContentArea()
+		{
+			super();
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ControlBar.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ControlBar.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ControlBar.as
new file mode 100644
index 0000000..8f0a46b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/ControlBar.as
@@ -0,0 +1,46 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	
+	import org.apache.flex.core.IBeadLayout;
+	import org.apache.flex.core.IChrome;
+	import org.apache.flex.core.IContainer;
+	import org.apache.flex.core.ValuesManager;
+
+	public class ControlBar extends Container implements IContainer, IChrome
+	{
+		public function ControlBar()
+		{
+			super();
+			
+			className = "ControlBar";
+		}
+		
+		override public function addedToParent():void
+		{
+			super.addedToParent();	
+			
+			if( getBeadByType(IBeadLayout) == null ) {
+				var layout:IBeadLayout = new (ValuesManager.valuesImpl.getValue(this, "iBeadLayout")) as IBeadLayout;
+				addBead(layout);
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as
new file mode 100644
index 0000000..9a02831
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as
@@ -0,0 +1,56 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	import org.apache.flex.core.IDataGridModel;
+	import org.apache.flex.core.UIBase;
+	
+	[Event(name="change", type="org.apache.flex.events.Event")]
+	
+	public class DataGrid extends UIBase
+	{
+		public function DataGrid()
+		{
+			super();
+		}
+		
+		public function get dataProvider():Object
+		{
+			return IDataGridModel(model).dataProvider;
+		}
+		public function set dataProvider(value:Object):void
+		{
+			IDataGridModel(model).dataProvider = value;
+		}
+		
+		public function get labelFields():Object
+		{
+			return IDataGridModel(model).labelFields;
+		}
+		public function set labelFields(value:Object):void
+		{
+			IDataGridModel(model).labelFields = value;
+		}
+		
+		public function get selectedIndex():int
+		{
+			return IDataGridModel(model).selectedIndex;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DropDownList.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DropDownList.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DropDownList.as
new file mode 100644
index 0000000..57f1a88
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DropDownList.as
@@ -0,0 +1,59 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+    import org.apache.flex.core.ISelectionModel;
+    
+    [Event(name="change", type="org.apache.flex.events.Event")]
+    
+	public class DropDownList extends Button
+	{
+		public function DropDownList()
+		{
+		}
+		
+        public function get dataProvider():Object
+        {
+            return ISelectionModel(model).dataProvider;
+        }
+        public function set dataProvider(value:Object):void
+        {
+            ISelectionModel(model).dataProvider = value;
+        }
+        
+        public function get selectedIndex():int
+        {
+            return ISelectionModel(model).selectedIndex;
+        }
+        public function set selectedIndex(value:int):void
+        {
+            ISelectionModel(model).selectedIndex = value;
+        }
+        
+        public function get selectedItem():Object
+        {
+            return ISelectionModel(model).selectedItem;
+        }
+        public function set selectedItem(value:Object):void
+        {
+            ISelectionModel(model).selectedItem = value;
+        }
+                        
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Image.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Image.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Image.as
new file mode 100644
index 0000000..eebfe40
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Image.as
@@ -0,0 +1,41 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	import org.apache.flex.core.IImageModel;
+	import org.apache.flex.core.UIBase;
+	
+	public class Image extends UIBase
+	{
+		public function Image()
+		{
+			super();
+		}
+		
+		public function get source():String
+		{
+			return IImageModel(model).source;
+		}
+		
+		public function set source(value:String):void
+		{
+			IImageModel(model).source = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Label.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Label.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Label.as
new file mode 100644
index 0000000..30565d6
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Label.as
@@ -0,0 +1,70 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	import org.apache.flex.core.ITextModel;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	
+	/**
+	 *  Label probably should extend TextField directly,
+	 *  but the player's APIs for TextLine do not allow
+	 *  direct instantiation, and we might want to allow
+	 *  Labels to be declared and have their actual
+	 *  view be swapped out.
+	 */
+	public class Label extends UIBase
+	{
+		public function Label()
+		{
+			super();
+		}
+		
+		public function get text():String
+		{
+			return ITextModel(model).text;
+		}
+		public function set text(value:String):void
+		{
+			ITextModel(model).text = value;
+		}
+		
+		public function get html():String
+		{
+			return ITextModel(model).html;
+		}
+		public function set html(value:String):void
+		{
+			ITextModel(model).html = value;
+		}
+				
+		override public function set width(value:Number):void
+		{
+			super.width = value;
+			IEventDispatcher(model).dispatchEvent( new Event("widthChanged") );
+		}
+		
+		override public function set height(value:Number):void
+		{
+			super.height = value;
+			IEventDispatcher(model).dispatchEvent( new Event("heightChanged") );
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as
new file mode 100644
index 0000000..da1638e
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as
@@ -0,0 +1,91 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	import org.apache.flex.core.IRollOverModel;
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.html.staticControls.beads.IDataProviderItemRendererMapper;
+	
+    [Event(name="change", type="org.apache.flex.events.Event")]
+    
+	/**
+	 *  Label probably should extend TextField directly,
+	 *  but the player's APIs for TextLine do not allow
+	 *  direct instantiation, and we might want to allow
+	 *  Labels to be declared and have their actual
+	 *  view be swapped out.
+	 */
+	public class List extends UIBase
+	{
+		public function List()
+		{
+			super();
+		}
+		
+        public function get dataProvider():Object
+        {
+            return ISelectionModel(model).dataProvider;
+        }
+        public function set dataProvider(value:Object):void
+        {
+            ISelectionModel(model).dataProvider = value;
+        }
+
+        public function get selectedIndex():int
+		{
+			return ISelectionModel(model).selectedIndex;
+		}
+		public function set selectedIndex(value:int):void
+		{
+			ISelectionModel(model).selectedIndex = value;
+		}
+
+        public function get rollOverIndex():int
+		{
+			return IRollOverModel(model).rollOverIndex;
+		}
+		public function set rollOverIndex(value:int):void
+		{
+			IRollOverModel(model).rollOverIndex = value;
+		}
+		
+		public function get selectedItem():Object
+		{
+			return ISelectionModel(model).selectedItem;
+		}
+		public function set selectedItem(value:Object):void
+		{
+			ISelectionModel(model).selectedItem = value;
+		}
+		
+		override public function addedToParent():void
+		{
+            super.addedToParent();
+            
+            if (getBeadByType(IDataProviderItemRendererMapper) == null)
+            {
+                var mapper:IDataProviderItemRendererMapper = new (ValuesManager.valuesImpl.getValue(this, "iDataProviderItemRendererMapper")) as IDataProviderItemRendererMapper;
+                addBead(mapper);
+            }
+		}
+        
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/NumericStepper.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/NumericStepper.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/NumericStepper.as
new file mode 100644
index 0000000..c587ff3
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/NumericStepper.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.staticControls
+{
+	import org.apache.flex.core.IRangeModel;
+
+	[Event(name="valueChanged", type="org.apache.flex.events.Event")]
+	public class NumericStepper extends Container
+	{
+		public function NumericStepper()
+		{
+			super();
+		}
+		
+		public function get value():Number
+		{
+			return IRangeModel(model).value;
+		}
+		public function set value(newValue:Number):void
+		{
+			IRangeModel(model).value = newValue;
+		}
+		
+		public function get minimum():Number
+		{
+			return IRangeModel(model).minimum;
+		}
+		public function set minimum(value:Number):void
+		{
+			IRangeModel(model).minimum = value;
+		}
+		
+		public function get maximum():Number
+		{
+			return IRangeModel(model).maximum;
+		}
+		public function set maximum(value:Number):void
+		{
+			IRangeModel(model).maximum = value;
+		}
+		
+		public function get stepSize():Number
+		{
+			return IRangeModel(model).stepSize;
+		}
+		public function set stepSize(value:Number):void
+		{
+			IRangeModel(model).stepSize = value;
+		}
+		
+		public function get snapInterval():Number
+		{
+			return IRangeModel(model).snapInterval;
+		}
+		public function set snapInterval(value:Number):void
+		{
+			IRangeModel(model).snapInterval = value;
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Panel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Panel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Panel.as
new file mode 100644
index 0000000..90b637e
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Panel.as
@@ -0,0 +1,70 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	import org.apache.flex.core.IPanelModel;
+
+	[Event(name="close", type="org.apache.flex.events.Event")]
+	
+	public class Panel extends Container
+	{
+		public function Panel()
+		{
+			super();
+		}
+		
+		public function get title():String
+		{
+			return IPanelModel(model).title;
+		}
+		public function set title(value:String):void
+		{
+			IPanelModel(model).title = value;
+		}
+		
+		public function get htmlTitle():String
+		{
+			return IPanelModel(model).htmlTitle;
+		}
+		public function set htmlTitle(value:String):void
+		{
+			IPanelModel(model).htmlTitle = value;
+		}
+		
+		public function get showCloseButton():Boolean
+		{
+			return IPanelModel(model).showCloseButton;
+		}
+		public function set showCloseButton(value:Boolean):void
+		{
+			IPanelModel(model).showCloseButton = value;
+		}
+		
+		private var _controlBar:Array;
+		public function get controlBar():Array
+		{
+			return _controlBar;
+		}
+		public function set controlBar(value:Array):void
+		{
+			_controlBar = value;
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/RadioButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/RadioButton.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/RadioButton.as
new file mode 100644
index 0000000..8f31816
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/RadioButton.as
@@ -0,0 +1,142 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	import flash.display.DisplayObject;
+	import flash.events.MouseEvent;
+	import flash.utils.Dictionary;
+	
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IValueToggleButtonModel;
+	import org.apache.flex.core.UIButtonBase;
+	import org.apache.flex.events.Event;
+	
+	[Event(name="change", type="org.apache.flex.events.Event")]
+
+	public class RadioButton extends UIButtonBase implements IStrand
+	{
+		public function RadioButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
+		{
+			super(upState, overState, downState, hitTestState);
+			
+			addEventListener(MouseEvent.CLICK, internalMouseHandler);
+		}
+		
+		protected static var dict:Dictionary = new Dictionary(true);
+		
+		private var _groupName:String;
+		
+		public function get groupName() : String
+		{
+			return IValueToggleButtonModel(model).groupName;
+		}
+		
+		public function set groupName(value:String) : void
+		{
+			IValueToggleButtonModel(model).groupName = value;
+		}
+		
+		public function get text():String
+		{
+			return IValueToggleButtonModel(model).text;
+		}
+		public function set text(value:String):void
+		{
+			IValueToggleButtonModel(model).text = value;
+		}
+		
+		public function get selected():Boolean
+		{
+			return IValueToggleButtonModel(model).selected;
+		}
+		
+		public function set selected(selValue:Boolean):void
+		{
+			IValueToggleButtonModel(model).selected = selValue;
+			
+			// if this button is being selected, its value should become
+			// its group's selectedValue
+			if( selValue ) {
+				for each(var rb:RadioButton in dict)
+				{
+					if( rb.groupName == groupName )
+					{
+						rb.selectedValue = value;
+					}
+				}
+			}
+		}
+		
+		public function get value():Object
+		{
+			return IValueToggleButtonModel(model).value;
+		}
+		
+		public function set value(newValue:Object):void
+		{
+			IValueToggleButtonModel(model).value = newValue;
+		}
+		
+		public function get selectedValue():Object 
+		{
+			return IValueToggleButtonModel(model).selectedValue;
+		}
+		
+		public function set selectedValue(newValue:Object):void 
+		{
+			// a radio button is really selected when its value matches that of the group's value
+			IValueToggleButtonModel(model).selected = (newValue == value);
+			IValueToggleButtonModel(model).selectedValue = newValue;
+		}
+				
+		override public function addedToParent():void
+		{
+            super.addedToParent();
+
+            // if this instance is selected, set the local selectedValue to
+			// this instance's value
+			if( selected ) selectedValue = value;
+			
+			else {
+			
+				// make sure this button's selectedValue is set from its group's selectedValue
+				// to keep it in sync with the rest of the buttons in its group.
+				for each(var rb:RadioButton in dict)
+				{
+					if( rb.groupName == groupName )
+					{
+						selectedValue = rb.selectedValue;
+						break;
+					}
+				}
+			}
+			
+			dict[this] = this;
+		}
+				
+		private function internalMouseHandler(event:Event) : void
+		{
+			// prevent radiobutton from being turned off by a click
+			if( !selected ) {
+				selected = !selected;
+				dispatchEvent(new Event("change"));
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/SimpleAlert.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/SimpleAlert.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/SimpleAlert.as
new file mode 100644
index 0000000..cf4cc8c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/SimpleAlert.as
@@ -0,0 +1,70 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{	
+	import org.apache.flex.core.IAlertModel;
+	import org.apache.flex.core.IPopUp;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.Event;
+	
+	[Event(name="close", type="org.apache.flex.events.Event")]
+	
+	public class SimpleAlert extends UIBase implements IPopUp
+	{
+		public function SimpleAlert()
+		{
+			super();
+			
+			className = "SimpleAlert";
+		}
+		
+		private function get message():String
+		{
+			return IAlertModel(model).message;
+		}
+		private function set message(value:String):void
+		{
+			IAlertModel(model).message = value;
+		}
+		
+		private function get htmlMessage():String
+		{
+			return IAlertModel(model).htmlMessage;
+		}
+		private function set htmlMessage(value:String):void
+		{
+			IAlertModel(model).htmlMessage = value;
+		}
+		
+		public function show(parent:Object) : void
+		{
+			parent.addElement(this);
+		}
+		
+		static public function show(message:String, parent:Object):SimpleAlert
+		{
+			var alert:SimpleAlert = new SimpleAlert();
+			alert.message = message;
+			alert.show(parent);
+			
+			return alert;
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/SimpleList.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/SimpleList.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/SimpleList.as
new file mode 100644
index 0000000..9f19a72
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/SimpleList.as
@@ -0,0 +1,28 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	public class SimpleList extends List
+	{
+		public function SimpleList()
+		{
+			super();
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Slider.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Slider.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Slider.as
new file mode 100644
index 0000000..47a0db5
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Slider.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.staticControls
+{
+	import org.apache.flex.core.IRangeModel;
+	import org.apache.flex.core.UIBase;
+	
+	[Event(name="valueChanged", type="org.apache.flex.events.Event")]
+	
+	public class Slider extends UIBase
+	{
+		public function Slider()
+		{
+			super();
+			
+			className = "Slider";
+			
+			IRangeModel(model).value = 0;
+			IRangeModel(model).minimum = 0;
+			IRangeModel(model).maximum = 100;
+			IRangeModel(model).stepSize = 1;
+			IRangeModel(model).snapInterval = 1;
+		}
+		
+		public function get value():Number
+		{
+			return IRangeModel(model).value;
+		}
+		public function set value(newValue:Number):void
+		{
+			IRangeModel(model).value = newValue;
+		}
+		
+		public function get minimum():Number
+		{
+			return IRangeModel(model).minimum;
+		}
+		public function set minimum(value:Number):void
+		{
+			IRangeModel(model).minimum = value;
+		}
+		
+		public function get maximum():Number
+		{
+			return IRangeModel(model).maximum;
+		}
+		public function set maximum(value:Number):void
+		{
+			IRangeModel(model).maximum = value;
+		}
+		
+		public function get snapInterval():Number
+		{
+			return IRangeModel(model).snapInterval;
+		}
+		public function set snapInterval(value:Number):void
+		{
+			IRangeModel(model).snapInterval = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Spinner.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Spinner.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Spinner.as
new file mode 100644
index 0000000..d0eb443
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/Spinner.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.staticControls
+{
+	import org.apache.flex.core.IRangeModel;
+	import org.apache.flex.core.UIBase;
+	
+	[Event(name="valueChanged", type="org.apache.flex.events.Event")]
+	
+	public class Spinner extends UIBase
+	{
+		public function Spinner()
+		{
+			super();
+			
+			className = "Spinner";
+		}
+		
+		public function get value():Number
+		{
+			return IRangeModel(model).value;
+		}
+		public function set value(newValue:Number):void
+		{
+			IRangeModel(model).value = newValue;
+		}
+		
+		public function get minimum():Number
+		{
+			return IRangeModel(model).minimum;
+		}
+		public function set minimum(value:Number):void
+		{
+			IRangeModel(model).minimum = value;
+		}
+		
+		public function get maximum():Number
+		{
+			return IRangeModel(model).maximum;
+		}
+		public function set maximum(value:Number):void
+		{
+			IRangeModel(model).maximum = value;
+		}
+		
+		public function get snapInterval():Number
+		{
+			return IRangeModel(model).snapInterval;
+		}
+		public function set snapInterval(value:Number):void
+		{
+			IRangeModel(model).snapInterval = value;
+		}
+		
+		public function get stepSize():Number
+		{
+			return IRangeModel(model).stepSize;
+		}
+		public function set stepSize(value:Number):void
+		{
+			IRangeModel(model).stepSize = value;
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TextArea.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TextArea.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TextArea.as
new file mode 100644
index 0000000..b8bb750
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TextArea.as
@@ -0,0 +1,50 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	import org.apache.flex.core.ITextModel;
+	import org.apache.flex.core.UIBase;
+	
+	public class TextArea extends UIBase
+	{
+		public function TextArea()
+		{
+			super();
+		}
+		
+		public function get text():String
+		{
+			return ITextModel(model).text;
+		}
+		public function set text(value:String):void
+		{
+			ITextModel(model).text = value;
+		}
+		
+		public function get html():String
+		{
+			return ITextModel(model).html;
+		}
+		public function set html(value:String):void
+		{
+			ITextModel(model).html = value;
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TextButton.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TextButton.as
new file mode 100644
index 0000000..425af1e
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TextButton.as
@@ -0,0 +1,51 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	import flash.display.DisplayObject;
+	
+	import org.apache.flex.core.ITextModel;
+	
+	public class TextButton extends Button
+	{
+		public function TextButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
+		{
+			super(upState, overState, downState, hitTestState);
+		}
+		
+		public function get text():String
+		{
+			return ITextModel(model).text;
+		}
+		public function set text(value:String):void
+		{
+			ITextModel(model).text = value;
+		}
+		
+		public function get html():String
+		{
+			return ITextModel(model).html;
+		}
+		public function set html(value:String):void
+		{
+			ITextModel(model).html = value;
+		}
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TextInput.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TextInput.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TextInput.as
new file mode 100644
index 0000000..c048564
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TextInput.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.staticControls
+{
+	import org.apache.flex.core.ITextModel;
+	import org.apache.flex.core.UIBase;
+	
+	public class TextInput extends UIBase
+	{
+		public function TextInput()
+		{
+			super();
+		}
+		
+		public function get text():String
+		{
+			return ITextModel(model).text;
+		}
+		public function set text(value:String):void
+		{
+			ITextModel(model).text = value;
+		}
+		
+		public function get html():String
+		{
+			return ITextModel(model).html;
+		}
+		public function set html(value:String):void
+		{
+			ITextModel(model).html = value;
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TitleBar.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TitleBar.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TitleBar.as
new file mode 100644
index 0000000..cf1e584
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/TitleBar.as
@@ -0,0 +1,173 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	import flash.display.Shape;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IBeadLayout;
+	import org.apache.flex.core.IChrome;
+	import org.apache.flex.core.ITitleBarModel;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.html.staticControls.Label;
+	
+	public class TitleBar extends Container implements IChrome
+	{
+		public function TitleBar()
+		{
+			super();
+			
+			className = "TitleBar";
+		}
+		
+		public function get title():String
+		{
+			return ITitleBarModel(model).title;
+		}
+		public function set title(value:String):void
+		{
+			ITitleBarModel(model).title = value;
+		}
+		
+		public function get htmlTitle():String
+		{
+			return ITitleBarModel(model).htmlTitle;
+		}
+		public function set htmlTitle(value:String):void
+		{
+			ITitleBarModel(model).htmlTitle = value;
+		}
+		
+		public function get showCloseButton():Boolean
+		{
+			return ITitleBarModel(model).showCloseButton;
+		}
+		public function set showCloseButton(value:Boolean):void
+		{
+			ITitleBarModel(model).showCloseButton = value;
+		}
+		
+		private var _titleLabel:Label;
+		public function get titleLabel():Label
+		{
+			return _titleLabel;
+		}
+		
+		private var _closeButton:Button;
+		public function get closeButton():Button
+		{
+			return closeButton;
+		}
+		
+		override public function addedToParent():void
+		{
+			super.addedToParent();
+			
+			if( getBeadByType(IBeadLayout) == null )
+				addBead(new (ValuesManager.valuesImpl.getValue(this, "iBeadLayout")) as IBead);
+			
+			// add the label for the title and the button for the close
+			_titleLabel = createTitle();
+			_titleLabel.className = className;
+			_titleLabel.id = "title";
+			addElement(_titleLabel);
+			
+			_closeButton = createCloseButton();
+			_closeButton.className = className;
+			_closeButton.id = "closeButton";
+			addElement(_closeButton);
+			
+			childrenAdded();
+            
+            model.addEventListener('titleChange',handlePropertyChange);
+            model.addEventListener('htmlTitleChange',handlePropertyChange);
+            model.addEventListener('showCloseButtonChange',handlePropertyChange);
+
+			// dispatch this event to force any beads to update
+			dispatchEvent(new Event("widthChanged"));
+		}
+		
+		private function handlePropertyChange(event:Event):void
+		{
+			if( event.type == "showCloseButtonChange" ) {
+				if( closeButton ) closeButton.visible = showCloseButton;
+			}
+			else if( event.type == "titleChange" ) {
+				if( titleLabel ) {
+					titleLabel.text = title;
+				}
+			}
+			else if( event.type == "htmlTitleChange" ) {
+				if( titleLabel ) {
+					titleLabel.html = htmlTitle;
+				}
+			}
+			
+			dispatchEvent(new Event("widthChanged"));
+		}
+		
+		protected function createTitle() : Label
+		{
+			var label:Label = new Label();
+			label.text = title;
+			return label;
+		}
+		
+		protected function createCloseButton() : Button
+		{
+			var upState:Shape = new Shape();
+			upState.graphics.clear();
+			upState.graphics.beginFill(0xCCCCCC);
+			upState.graphics.drawRect(0,0,11,11);
+			upState.graphics.endFill();
+			
+			var overState:Shape = new Shape();
+			overState.graphics.clear();
+			overState.graphics.beginFill(0x999999);
+			overState.graphics.drawRect(0,0,11,11);
+			overState.graphics.endFill();
+			
+			var downState:Shape = new Shape();
+			downState.graphics.clear();
+			downState.graphics.beginFill(0x666666);
+			downState.graphics.drawRect(0, 0, 11, 11);
+			downState.graphics.endFill();
+			
+			var hitArea:Shape = new Shape();
+			hitArea.graphics.clear();
+			hitArea.graphics.beginFill(0x000000);
+			hitArea.graphics.drawRect(0, 0, 11, 11);
+			hitArea.graphics.endFill();
+			
+			var button:Button = new Button(upState, overState, downState, hitArea);
+			button.visible = showCloseButton;
+			
+			button.addEventListener('click',closeButtonHandler);
+			
+			return button;
+		}
+		
+		private function closeButtonHandler(event:org.apache.flex.events.Event) : void
+		{
+			var newEvent:Event = new Event('close',true);
+			dispatchEvent(newEvent);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/accessories/NumericOnlyTextInputBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/accessories/NumericOnlyTextInputBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/accessories/NumericOnlyTextInputBead.as
new file mode 100644
index 0000000..b92a317
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/accessories/NumericOnlyTextInputBead.as
@@ -0,0 +1,84 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.accessories
+{
+	import flash.events.TextEvent;
+	
+	import org.apache.flex.core.CSSTextField;
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.beads.ITextFieldView;
+	
+	public class NumericOnlyTextInputBead implements IBead
+	{
+		public function NumericOnlyTextInputBead()
+		{
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			IEventDispatcher(value).addEventListener("viewChanged",viewChangeHandler);
+		}
+		
+		private var _decimalSeparator:String = ".";
+		public function get decimalSeparator():String
+		{
+			return _decimalSeparator;
+		}
+		public function set decimalSeparator(value:String):void
+		{
+			if (_decimalSeparator != value) {
+				_decimalSeparator = value;
+			}
+		}
+		
+		private function viewChangeHandler(event:Event):void
+		{			
+			// get the ITextFieldView bead, which is required for this bead to work
+			var textView:ITextFieldView = _strand.getBeadByType(ITextFieldView) as ITextFieldView;
+			if (textView) {
+				var textField:CSSTextField = textView.textField;
+				textField.restrict = "0-9" + decimalSeparator;
+				
+				// listen for changes to this textField and prevent non-numeric values, such
+				// as 34.09.94
+				textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput);
+			}
+			else {
+				throw new Error("NumericOnlyTextInputBead requires strand to have an ITextFieldView bead");
+			}
+		}
+		
+		private function handleTextInput(event:TextEvent):void
+		{
+			var insert:String = event.text;
+			var caretIndex:int = (event.target as CSSTextField).caretIndex;
+			var current:String = (event.target as CSSTextField).text;
+			var value:String = current.substring(0,caretIndex) + insert + current.substr(caretIndex);
+			var n:Number = Number(value);
+			if (isNaN(n)) event.preventDefault();
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/accessories/PasswordInputBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/accessories/PasswordInputBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/accessories/PasswordInputBead.as
new file mode 100644
index 0000000..9280317
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/accessories/PasswordInputBead.as
@@ -0,0 +1,56 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.accessories
+{
+	import org.apache.flex.core.CSSTextField;
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.staticControls.beads.ITextFieldView;
+	
+	public class PasswordInputBead implements IBead
+	{
+		public function PasswordInputBead()
+		{
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			IEventDispatcher(value).addEventListener("viewChanged",viewChangeHandler);
+		}
+		
+		private function viewChangeHandler(event:Event):void
+		{			
+			// get the ITextFieldView bead, which is required for this bead to work
+			var textView:ITextFieldView = _strand.getBeadByType(ITextFieldView) as ITextFieldView;
+			if (textView) {
+				var textField:CSSTextField = textView.textField;
+				textField.displayAsPassword = true;
+			}
+			else {
+				throw new Error("PasswordInputBead requires strand to have a TextInputView bead");
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/accessories/TextPromptBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/accessories/TextPromptBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/accessories/TextPromptBead.as
new file mode 100644
index 0000000..d27dafa
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/accessories/TextPromptBead.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.staticControls.accessories
+{
+	import flash.text.TextFieldType;
+	
+	import org.apache.flex.core.CSSTextField;
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	
+	public class TextPromptBead implements IBead
+	{
+		public function TextPromptBead()
+		{
+		}
+		
+		private var _prompt:String;
+		public function get prompt():String
+		{
+			return _prompt;
+		}
+		public function set prompt(value:String):void
+		{
+			_prompt = value;
+		}
+		
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			// listen for changes in text to hide or show the prompt
+			var model:Object = UIBase(_strand).model;
+			if (!model.hasOwnProperty("text")) {
+				throw new Error("Model requires a text property when used with TextPromptBead");
+			}
+			IEventDispatcher(model).addEventListener("textChange",handleTextChange);
+			
+			// create a TextField that displays the prompt - it shows
+			// and hides based on the model's content
+			promptField = new CSSTextField();
+			promptField.selectable = false;
+			promptField.type = TextFieldType.DYNAMIC;
+			promptField.mouseEnabled = false;
+			promptField.multiline = false;
+			promptField.wordWrap = false;
+			promptField.textColor = 0xBBBBBB;
+			
+			// trigger the event handler to display if needed
+			handleTextChange(null);
+		}
+		
+		private var promptField:CSSTextField;
+		private var promptAdded:Boolean;
+		
+		private function handleTextChange( event:Event ):void
+		{	
+			// see what the model currently has to determine if the prompt should be
+			// displayed or not.
+			var model:Object = UIBase(_strand).model;
+			
+			if (model.text != null && model.text.length > 0 ) {
+				if (promptAdded) UIBase(_strand).removeChild(promptField);
+				promptAdded = false;
+			}
+			else {
+				if (!promptAdded) UIBase(_strand).addChild(promptField);
+				promptField.text = prompt;
+				promptAdded = true;
+			}
+		}
+	}
+}
\ No newline at end of file


[11/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/UIItemRendererBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/UIItemRendererBase.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/UIItemRendererBase.as
new file mode 100644
index 0000000..5936387
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/UIItemRendererBase.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.staticControls.supportClasses
+{
+	import org.apache.flex.core.IItemRenderer;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.Event;
+	
+	public class UIItemRendererBase extends UIBase implements IItemRenderer
+	{
+		public function UIItemRendererBase()
+		{
+		}
+		
+		override public function addedToParent():void
+		{
+			super.addedToParent();
+			
+			// very common for item renderers to be resized by their containers,
+			addEventListener("widthChanged", sizeChangeHandler);
+			addEventListener("heightChanged", sizeChangeHandler);
+		}
+		
+		public var backgroundColor:uint = 0xFFFFFF;
+		public var highlightColor:uint = 0xCEDBEF;
+		public var selectedColor:uint = 0xA8C6EE;
+		public var downColor:uint = 0x808080;
+		
+		private var _data:Object;
+		
+		public function get data():Object
+		{
+			return _data;
+		}
+		public function set data(value:Object):void
+		{
+			_data = value;
+		}
+		
+		private var _index:int;
+		
+		public function get index():int
+		{
+			return _index;
+		}
+		public function set index(value:int):void
+		{
+			_index = value;
+		}
+		
+		private var _hovered:Boolean;
+		
+		public function get hovered():Boolean
+		{
+			return _hovered;
+		}
+		public function set hovered(value:Boolean):void
+		{
+			_hovered = value;
+			updateRenderer();
+		}
+		
+		private var _selected:Boolean;
+		
+		public function get selected():Boolean
+		{
+			return _selected;
+		}
+		public function set selected(value:Boolean):void
+		{
+			_selected = value;
+			updateRenderer();
+		}
+		
+		private var _down:Boolean;
+		
+		public function get down():Boolean
+		{
+			return _down;
+		}
+		public function set down(value:Boolean):void
+		{
+			_down = value;
+			updateRenderer();
+		}
+		
+		public function updateRenderer():void
+		{
+			if (down)
+				backgroundColor = downColor;
+			else if (hovered)
+				backgroundColor = highlightColor;
+			else if (selected)
+				backgroundColor = selectedColor;
+		}
+		
+		private function sizeChangeHandler(event:Event):void
+		{
+			adjustSize();
+		}
+		
+		public function adjustSize():void
+		{
+			// handle in subclass
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Button.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Button.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Button.as
new file mode 100644
index 0000000..4b7731d
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Button.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.html5.staticControls
+{
+	import org.apache.flex.html.staticControls.Button;
+	
+	public class Button extends org.apache.flex.html.staticControls.Button
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/CheckBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/CheckBox.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/CheckBox.as
new file mode 100644
index 0000000..ec92d72
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/CheckBox.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.html5.staticControls
+{
+	import org.apache.flex.html.staticControls.CheckBox;
+	
+	public class CheckBox extends org.apache.flex.html.staticControls.CheckBox 
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/ComboBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/ComboBox.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/ComboBox.as
new file mode 100644
index 0000000..ebeea35
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/ComboBox.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.html5.staticControls
+{
+	import org.apache.flex.html.staticControls.ComboBox;
+	
+	public class ComboBox extends org.apache.flex.html.staticControls.ComboBox
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/DropDownList.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/DropDownList.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/DropDownList.as
new file mode 100644
index 0000000..14aa0fe
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/DropDownList.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.html5.staticControls
+{
+    import org.apache.flex.html.staticControls.DropDownList;
+    
+    public class DropDownList extends org.apache.flex.html.staticControls.DropDownList
+	{
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Label.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Label.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Label.as
new file mode 100644
index 0000000..8a8ad99
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Label.as
@@ -0,0 +1,33 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.html5.staticControls
+{
+	import org.apache.flex.html.staticControls.Label;
+	
+	/**
+	 *  Label probably should extend TextField directly,
+	 *  but the player's APIs for TextLine do not allow
+	 *  direct instantiation, and we might want to allow
+	 *  Labels to be declared and have their actual
+	 *  view be swapped out.
+	 */
+	public class Label extends org.apache.flex.html.staticControls.Label
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/List.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/List.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/List.as
new file mode 100644
index 0000000..86e8ef8
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/List.as
@@ -0,0 +1,33 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.html5.staticControls
+{
+	import org.apache.flex.html.staticControls.List;
+	
+    /**
+	 *  Label probably should extend TextField directly,
+	 *  but the player's APIs for TextLine do not allow
+	 *  direct instantiation, and we might want to allow
+	 *  Labels to be declared and have their actual
+	 *  view be swapped out.
+	 */
+	public class List extends org.apache.flex.html.staticControls.List
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/RadioButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/RadioButton.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/RadioButton.as
new file mode 100644
index 0000000..78f117b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/RadioButton.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.html5.staticControls
+{
+	import org.apache.flex.html.staticControls.RadioButton;
+	
+	public class RadioButton extends org.apache.flex.html.staticControls.RadioButton
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextArea.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextArea.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextArea.as
new file mode 100644
index 0000000..a2c4f0b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextArea.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.html5.staticControls
+{
+	import org.apache.flex.html.staticControls.TextArea;
+
+	public class TextArea extends org.apache.flex.html.staticControls.TextArea
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextButton.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextButton.as
new file mode 100644
index 0000000..6c87ea4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextButton.as
@@ -0,0 +1,32 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.html5.staticControls
+{
+	import flash.display.DisplayObject;
+	
+	import org.apache.flex.html.staticControls.TextButton;
+	
+	public class TextButton extends org.apache.flex.html.staticControls.TextButton
+	{
+		public function TextButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
+		{
+			super(upState, overState, downState, hitTestState);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextInput.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextInput.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextInput.as
new file mode 100644
index 0000000..adb723f
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextInput.as
@@ -0,0 +1,25 @@
+//
+//  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.html5.staticControls
+{
+	import org.apache.flex.html.staticControls.TextInput;
+	
+	public class TextInput extends org.apache.flex.html.staticControls.TextInput
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/Application.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/Application.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/Application.as
new file mode 100644
index 0000000..e2a3113
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/Application.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.jquery
+{
+    import org.apache.flex.core.Application;
+	import org.apache.flex.core.IFlexInfo;
+	
+	public class Application extends org.apache.flex.core.Application implements IFlexInfo
+	{
+		public function Application()
+		{
+			super();
+		}
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/CheckBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/CheckBox.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/CheckBox.as
new file mode 100644
index 0000000..a2f3a01
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/CheckBox.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.jquery.staticControls
+{
+	import org.apache.flex.html.staticControls.CheckBox;
+	
+	public class CheckBox extends org.apache.flex.html.staticControls.CheckBox 
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/RadioButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/RadioButton.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/RadioButton.as
new file mode 100644
index 0000000..a94739a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/RadioButton.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.jquery.staticControls
+{
+	import org.apache.flex.html.staticControls.RadioButton;
+	
+	public class RadioButton extends org.apache.flex.html.staticControls.RadioButton
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/TextButton.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/TextButton.as
new file mode 100644
index 0000000..c2632f3
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/TextButton.as
@@ -0,0 +1,32 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.jquery.staticControls
+{
+	import flash.display.DisplayObject;
+	
+	import org.apache.flex.html.staticControls.TextButton;
+	
+	public class TextButton extends org.apache.flex.html.staticControls.TextButton
+	{
+		public function TextButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
+		{
+			super(upState, overState, downState, hitTestState);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/BinaryUploader.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/BinaryUploader.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/BinaryUploader.as
new file mode 100644
index 0000000..e806518
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/BinaryUploader.as
@@ -0,0 +1,305 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.net
+{
+	import flash.events.HTTPStatusEvent;
+	import flash.events.IOErrorEvent;
+	import flash.net.URLLoader;
+	import flash.net.URLRequest;
+	import flash.net.URLRequestHeader;
+	import flash.net.URLRequestMethod;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.EventDispatcher;
+	import org.apache.flex.utils.BinaryData;
+	
+	[Event(name="complete", type="org.apache.flex.events.Event")]
+	
+	[Event(name="ioError", type="org.apache.flex.events.Event")]
+	
+	[Event(name="httpStatus", type="org.apache.flex.events.Event")]
+	
+	[Event(name="httpResponseStatus", type="org.apache.flex.events.Event")]
+    
+    [DefaultProperty("beads")]
+    
+	public class BinaryUploader extends EventDispatcher implements IStrand, IBead
+	{
+		public static const HTTP_METHOD_GET:String = URLRequestMethod.GET;
+		public static const HTTP_METHOD_POST:String = URLRequestMethod.POST;
+		public static const HTTP_METHOD_PUT:String = URLRequestMethod.PUT;
+		public static const HTTP_METHOD_DELETE:String = URLRequestMethod.DELETE;
+		
+		public function BinaryUploader()
+		{
+			super();
+		}
+		
+		private var _contentType:String = "application/octet-stream";
+		public function get contentType():String
+		{
+			return _contentType;
+		}
+		public function set contentType(value:String):void
+		{
+			if (_contentType != value)
+			{
+				_contentType = value;
+				dispatchEvent(new Event("contentTypeChanged"));
+			}
+		}
+		
+		private var _binaryData:BinaryData;
+		public function get binaryData():BinaryData
+		{
+			return _binaryData;
+		}
+		public function set binaryData(value:BinaryData):void
+		{
+			if (_binaryData != value)
+			{
+				_binaryData = value;
+				dispatchEvent(new Event("binaryDataChanged"));
+			}
+		}
+
+		private var _headers:Array;
+		public function get headers():Array
+		{
+			if (_headers == null)
+				_headers = [];
+			return _headers;
+		}
+		public function set headers(value:Array):void
+		{
+			if (_headers != value)
+			{
+				_headers = value;
+				dispatchEvent(new Event("headersChanged"));
+			}
+		}
+		
+		private var _method:String = HTTP_METHOD_POST;
+		public function get method():String
+		{
+			return _method;
+		}
+		public function set method(value:String):void
+		{
+			if (_method != value)
+			{
+				_method = value;
+				dispatchEvent(new Event("methodChanged"));
+			}
+		}
+		
+		private var _responseHeaders:Array;
+		public function get responseHeaders():Array
+		{
+			if (_responseHeaders && _responseHeaders.length > 0)
+			{
+				if (_responseHeaders[0] is URLRequestHeader)
+				{
+					var n:int = _responseHeaders.length;
+					for (var i:int = 0; i < n; i++)
+					{
+						var old:URLRequestHeader = _responseHeaders[i];
+						var nu:HTTPHeader = new HTTPHeader(old.name, old.value);
+						_responseHeaders[i] = nu;
+					}
+				}
+			}
+			return _responseHeaders;
+		}
+		
+		private var _responseURL:String;
+		public function get responseURL():String
+		{
+			return _responseURL;	
+		}
+		
+		private var _status:int;
+		public function get status():int
+		{
+			return _status;
+		}
+		
+		private var _url:String;
+		public function get url():String
+		{
+			return _url;
+		}
+		public function set url(value:String):void
+		{
+			if (_url != value)
+			{
+                _url = value;
+				dispatchEvent(new Event("urlChanged"));
+			}
+		}
+		
+		private var _timeout:Number = 0;
+		public function get timeout():Number
+		{
+			return _timeout;
+		}
+		public function set timeout(value:Number):void
+		{
+			if (_timeout != value)
+			{
+				_timeout = value;
+				dispatchEvent(new Event("timeoutChanged"));
+			}
+		}
+		
+		private var _id:String;
+		public function get id():String
+		{
+			return _id;
+		}
+		public function set id(value:String):void
+		{
+			if (_id != value)
+			{
+				_id = value;
+				dispatchEvent(new Event("idChanged"));
+			}
+		}
+		
+        private var _strand:IStrand;
+        
+        public function set strand(value:IStrand):void
+        {
+            _strand = value;
+        }
+
+		// beads declared in MXML are added to the strand.
+		// from AS, just call addBead()
+		public var beads:Array;
+		
+		private var _beads:Vector.<IBead>;
+		public function addBead(bead:IBead):void
+		{
+			if (!_beads)
+				_beads = new Vector.<IBead>;
+			_beads.push(bead);
+			bead.strand = this;
+		}
+		
+		public function getBeadByType(classOrInterface:Class):IBead
+		{
+			for each (var bead:IBead in _beads)
+			{
+				if (bead is classOrInterface)
+					return bead;
+			}
+			return null;
+		}
+		
+		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;
+		}
+
+        private var urlLoader:URLLoader;
+        
+        public function send():void
+        {
+            if (!urlLoader)
+                urlLoader = new URLLoader();
+			var request:URLRequest = new URLRequest(url);
+			request.method = method;
+			if ("idleTimeout" in request)
+			{
+				request["idleTimeout"] = timeout;
+			}
+			var sawContentType:Boolean;
+			if (headers)
+			{
+				for each (var header:HTTPHeader in headers)
+				{
+					var urlHeader:URLRequestHeader = new URLRequestHeader(header.name, header.value);
+					request.requestHeaders.push(urlHeader);
+					if (header.name == HTTPHeader.CONTENT_TYPE)
+						sawContentType = true;
+				}
+			}
+			if (method != HTTP_METHOD_GET && !sawContentType)
+			{
+				urlHeader = new URLRequestHeader(HTTPHeader.CONTENT_TYPE, contentType);
+				request.requestHeaders.push(urlHeader);
+			}
+			if (binaryData)
+			{
+				if (method == HTTP_METHOD_GET)
+				{
+					if (url.indexOf("?") != -1)
+						url += binaryData.data.toString();
+					else
+						url += "?" + binaryData.data.toString();
+				}
+				else
+					request.data = binaryData.data;
+			}
+			urlLoader.addEventListener(flash.events.Event.COMPLETE, completeHandler);
+			urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
+			if (HTTPStatusEvent.HTTP_RESPONSE_STATUS) // only on AIR
+				urlLoader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, statusHandler);
+			urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, statusHandler);
+            urlLoader.load(request);
+        }
+        
+		protected function statusHandler(event:HTTPStatusEvent):void
+		{
+			_status = event.status;
+			if ("responseHeaders" in event)
+				_responseHeaders = event.responseHeaders;
+			if ("responseURL" in event)
+				_responseURL = event.responseURL;
+			dispatchEvent(new Event(event.type));
+		}
+		
+		protected function ioErrorHandler(event:IOErrorEvent):void
+		{
+			dispatchEvent(new Event(event.type));
+		}
+		
+        protected function completeHandler(event:flash.events.Event):void
+        {
+            dispatchEvent(new Event(event.type));
+        }
+        
+        public function get data():*
+        {
+            return urlLoader.data;
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPHeader.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPHeader.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPHeader.as
new file mode 100644
index 0000000..4585530
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPHeader.as
@@ -0,0 +1,35 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.net
+{
+	public class HTTPHeader
+	{
+		public static const CONTENT_TYPE:String = "Content-type";
+
+		public function HTTPHeader(name:String = null, value:String = null)
+		{
+			super();
+			this.name = name;
+			this.value = value;
+		}
+		
+		public var name:String;
+		public var value:String;
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPService.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPService.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPService.as
new file mode 100644
index 0000000..225ff08
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPService.as
@@ -0,0 +1,304 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.net
+{
+	import flash.events.HTTPStatusEvent;
+	import flash.events.IOErrorEvent;
+	import flash.net.URLLoader;
+	import flash.net.URLRequest;
+	import flash.net.URLRequestHeader;
+	import flash.net.URLRequestMethod;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.EventDispatcher;
+	
+	[Event(name="complete", type="org.apache.flex.events.Event")]
+	
+	[Event(name="ioError", type="org.apache.flex.events.Event")]
+	
+	[Event(name="httpStatus", type="org.apache.flex.events.Event")]
+	
+	[Event(name="httpResponseStatus", type="org.apache.flex.events.Event")]
+    
+    [DefaultProperty("beads")]
+    
+	public class HTTPService extends EventDispatcher implements IStrand, IBead
+	{
+		public static const HTTP_METHOD_GET:String = URLRequestMethod.GET;
+		public static const HTTP_METHOD_POST:String = URLRequestMethod.POST;
+		public static const HTTP_METHOD_PUT:String = URLRequestMethod.PUT;
+		public static const HTTP_METHOD_DELETE:String = URLRequestMethod.DELETE;
+		
+		public function HTTPService()
+		{
+			super();
+		}
+		
+		private var _contentType:String = "application/x-www-form-urlencoded";
+		public function get contentType():String
+		{
+			return _contentType;
+		}
+		public function set contentType(value:String):void
+		{
+			if (_contentType != value)
+			{
+				_contentType = value;
+				dispatchEvent(new Event("contentTypeChanged"));
+			}
+		}
+		
+		private var _contentData:String;
+		public function get contentData():String
+		{
+			return _contentData;
+		}
+		public function set contentData(value:String):void
+		{
+			if (_contentData != value)
+			{
+				_contentData = value;
+				dispatchEvent(new Event("contentDataChanged"));
+			}
+		}
+
+		private var _headers:Array;
+		public function get headers():Array
+		{
+			if (_headers == null)
+				_headers = [];
+			return _headers;
+		}
+		public function set headers(value:Array):void
+		{
+			if (_headers != value)
+			{
+				_headers = value;
+				dispatchEvent(new Event("headersChanged"));
+			}
+		}
+		
+		private var _method:String = HTTP_METHOD_GET;
+		public function get method():String
+		{
+			return _method;
+		}
+		public function set method(value:String):void
+		{
+			if (_method != value)
+			{
+				_method = value;
+				dispatchEvent(new Event("methodChanged"));
+			}
+		}
+		
+		private var _responseHeaders:Array;
+		public function get responseHeaders():Array
+		{
+			if (_responseHeaders && _responseHeaders.length > 0)
+			{
+				if (_responseHeaders[0] is URLRequestHeader)
+				{
+					var n:int = _responseHeaders.length;
+					for (var i:int = 0; i < n; i++)
+					{
+						var old:URLRequestHeader = _responseHeaders[i];
+						var nu:HTTPHeader = new HTTPHeader(old.name, old.value);
+						_responseHeaders[i] = nu;
+					}
+				}
+			}
+			return _responseHeaders;
+		}
+		
+		private var _responseURL:String;
+		public function get responseURL():String
+		{
+			return _responseURL;	
+		}
+		
+		private var _status:int;
+		public function get status():int
+		{
+			return _status;
+		}
+		
+		private var _url:String;
+		public function get url():String
+		{
+			return _url;
+		}
+		public function set url(value:String):void
+		{
+			if (_url != value)
+			{
+                _url = value;
+				dispatchEvent(new Event("urlChanged"));
+			}
+		}
+		
+		private var _timeout:Number = 0;
+		public function get timeout():Number
+		{
+			return _timeout;
+		}
+		public function set timeout(value:Number):void
+		{
+			if (_timeout != value)
+			{
+				_timeout = value;
+				dispatchEvent(new Event("timeoutChanged"));
+			}
+		}
+		
+		private var _id:String;
+		public function get id():String
+		{
+			return _id;
+		}
+		public function set id(value:String):void
+		{
+			if (_id != value)
+			{
+				_id = value;
+				dispatchEvent(new Event("idChanged"));
+			}
+		}
+		
+        private var _strand:IStrand;
+        
+        public function set strand(value:IStrand):void
+        {
+            _strand = value;
+        }
+
+		// beads declared in MXML are added to the strand.
+		// from AS, just call addBead()
+		public var beads:Array;
+		
+		private var _beads:Vector.<IBead>;
+		public function addBead(bead:IBead):void
+		{
+			if (!_beads)
+				_beads = new Vector.<IBead>;
+			_beads.push(bead);
+			bead.strand = this;
+		}
+		
+		public function getBeadByType(classOrInterface:Class):IBead
+		{
+			for each (var bead:IBead in _beads)
+			{
+				if (bead is classOrInterface)
+					return bead;
+			}
+			return null;
+		}
+		
+		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;
+		}
+
+        private var urlLoader:URLLoader;
+        
+        public function send():void
+        {
+            if (!urlLoader)
+                urlLoader = new URLLoader();
+			var request:URLRequest = new URLRequest(url);
+			request.method = method;
+			if ("idleTimeout" in request)
+			{
+				request["idleTimeout"] = timeout;
+			}
+			var sawContentType:Boolean;
+			if (headers)
+			{
+				for each (var header:HTTPHeader in headers)
+				{
+					var urlHeader:URLRequestHeader = new URLRequestHeader(header.name, header.value);
+					request.requestHeaders.push(urlHeader);
+					if (header.name == HTTPHeader.CONTENT_TYPE)
+						sawContentType = true;
+				}
+			}
+			if (method != HTTP_METHOD_GET && !sawContentType && contentData != null)
+			{
+				urlHeader = new URLRequestHeader(HTTPHeader.CONTENT_TYPE, contentType);
+				request.requestHeaders.push(urlHeader);
+			}
+			if (contentData)
+			{
+				if (method == HTTP_METHOD_GET)
+				{
+					if (url.indexOf("?") != -1)
+						url += contentData;
+					else
+						url += "?" + contentData;
+				}
+				else
+					request.data = contentData;
+			}
+			urlLoader.addEventListener(flash.events.Event.COMPLETE, completeHandler);
+			urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
+			if (HTTPStatusEvent.HTTP_RESPONSE_STATUS) // only on AIR
+				urlLoader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, statusHandler);
+			urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, statusHandler);
+            urlLoader.load(request);
+        }
+        
+		protected function statusHandler(event:HTTPStatusEvent):void
+		{
+			_status = event.status;
+			if ("responseHeaders" in event)
+				_responseHeaders = event.responseHeaders;
+			if ("responseURL" in event)
+				_responseURL = event.responseURL;
+			dispatchEvent(new Event(event.type));
+		}
+		
+		protected function ioErrorHandler(event:IOErrorEvent):void
+		{
+			dispatchEvent(new Event(event.type));
+		}
+		
+        protected function completeHandler(event:flash.events.Event):void
+        {
+            dispatchEvent(new Event(event.type));
+        }
+        
+        public function get data():*
+        {
+            return urlLoader.data;
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IInputParser.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IInputParser.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IInputParser.as
new file mode 100644
index 0000000..55e0d99
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IInputParser.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.net
+{
+	public interface IInputParser
+	{
+		function parseItems(s:String):Array;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IItemConverter.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IItemConverter.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IItemConverter.as
new file mode 100644
index 0000000..f736ce5
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IItemConverter.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.net
+{
+	public interface IItemConverter
+	{
+		function convertItem(data:String):Object
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONInputParser.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONInputParser.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONInputParser.as
new file mode 100644
index 0000000..4abbbde
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONInputParser.as
@@ -0,0 +1,28 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.net
+{
+	public class JSONInputParser implements IInputParser
+	{        
+		public function parseItems(s:String):Array
+        {
+            return s.split("},");
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONItemConverter.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONItemConverter.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONItemConverter.as
new file mode 100644
index 0000000..0042e5b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONItemConverter.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.net
+{
+    import org.apache.flex.net.IItemConverter;
+    
+	public class JSONItemConverter implements IItemConverter
+	{
+		public function convertItem(data:String):Object
+        {
+            return JSON.parse(data);
+        }
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/dataConverters/LazyCollection.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/dataConverters/LazyCollection.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/dataConverters/LazyCollection.as
new file mode 100644
index 0000000..7b1be41
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/dataConverters/LazyCollection.as
@@ -0,0 +1,106 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.net.dataConverters
+{
+	import flash.events.Event;
+	import flash.events.IEventDispatcher;
+	
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.data.ICollection;
+	import org.apache.flex.events.EventDispatcher;
+    import org.apache.flex.net.IInputParser;
+    import org.apache.flex.net.IItemConverter;
+    
+	public class LazyCollection extends EventDispatcher implements IBead, ICollection
+	{
+		public function LazyCollection()
+		{
+			super();
+		}
+		
+		private var _inputParser:IInputParser;
+		public function get inputParser():IInputParser
+		{
+			return _inputParser;
+		}
+		public function set inputParser(value:IInputParser):void
+		{
+			if (_inputParser != value)
+			{
+                _inputParser = value;
+				dispatchEvent(new Event("inputParserChanged"));
+			}
+		}
+		
+        private var _itemConverter:IItemConverter;
+        public function get itemConverter():IItemConverter
+        {
+            return _itemConverter;
+        }
+        public function set itemConverter(value:IItemConverter):void
+        {
+            if (_itemConverter != value)
+            {
+                _itemConverter = value;
+                dispatchEvent(new Event("itemConverterChanged"));
+            }
+        }
+
+        private var _id:String;
+		public function get id():String
+		{
+			return _id;
+		}
+		public function set id(value:String):void
+		{
+			if (_id != value)
+			{
+				_id = value;
+				dispatchEvent(new Event("idChanged"));
+			}
+		}
+		
+        private var _strand:IStrand;
+        
+        public function set strand(value:IStrand):void
+        {
+            _strand = value;
+            IEventDispatcher(_strand).addEventListener(Event.COMPLETE, completeHandler);
+        }
+        
+        private var rawData:Array;
+        private var data:Array;
+        
+        private function completeHandler(event:Event):void
+        {
+            rawData = inputParser.parseItems(_strand["data"]);  
+            data = new Array(rawData.length);
+        }
+        
+        public function getItemAt(index:int):Object
+        {
+            if (data[index] == undefined)
+            {
+                data[index] = itemConverter.convertItem(rawData[index]);
+            }
+            return data[index];
+        }   
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/svg/staticControls/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/svg/staticControls/TextButton.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/svg/staticControls/TextButton.as
new file mode 100644
index 0000000..a493e31
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/svg/staticControls/TextButton.as
@@ -0,0 +1,32 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls
+{
+	import flash.display.DisplayObject;
+	
+	import org.apache.flex.html.staticControls.TextButton;
+	
+	public class TextButton extends org.apache.flex.html.staticControls.TextButton
+	{
+		public function TextButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
+		{
+			super(upState, overState, downState, hitTestState);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BeadMetrics.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BeadMetrics.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BeadMetrics.as
new file mode 100644
index 0000000..3ec3827
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BeadMetrics.as
@@ -0,0 +1,79 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.utils
+{
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIMetrics;
+	import org.apache.flex.core.ValuesManager;
+
+public class BeadMetrics
+{
+	
+	public static function getMetrics(strand:IStrand) : UIMetrics
+	{
+		var borderThickness:Object = ValuesManager.valuesImpl.getValue(strand,"border-thickness");
+		var borderOffset:Number;
+		if( borderThickness == null ) {
+			borderOffset = 0;
+		}
+		else {
+			borderOffset = Number(borderThickness);
+			if( isNaN(borderOffset) ) borderOffset = 0;
+		}
+		
+		var paddingLeft:Object;
+		var paddingTop:Object;
+		var padding:Object = ValuesManager.valuesImpl.getValue(strand, "padding");
+		if (padding is Array)
+		{
+			if (padding.length == 1)
+				paddingLeft = paddingTop = padding[0];
+			else if (padding.length <= 3)
+			{
+				paddingLeft = padding[1];
+				paddingTop = padding[0];
+			}
+			else if (padding.length == 4)
+			{
+				paddingLeft = padding[3];
+				paddingTop = padding[0];					
+			}
+		}
+		else if (padding == null)
+		{
+			paddingLeft = ValuesManager.valuesImpl.getValue(strand, "padding-left");
+			paddingTop = ValuesManager.valuesImpl.getValue(strand, "padding-top");
+		}
+		else
+		{
+			paddingLeft = paddingTop = padding;
+		}
+		var pl:Number = Number(paddingLeft);
+		var pt:Number = Number(paddingTop);
+		
+		var result:UIMetrics = new UIMetrics();
+		result.top = borderOffset + pt;
+		result.left = borderOffset + pl;
+		result.bottom = borderOffset + pt;
+		result.right = borderOffset + pl;
+		
+		return result;
+	}
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BinaryData.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BinaryData.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BinaryData.as
new file mode 100644
index 0000000..48cfd00
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BinaryData.as
@@ -0,0 +1,106 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.utils
+{
+	import flash.utils.ByteArray;
+
+public class BinaryData
+{
+	public function BinaryData()
+	{
+		
+	}
+	
+	private var ba:ByteArray = new ByteArray();
+	
+	/**
+	 * Get the platform-specific data for sending.
+	 * Generally only used by the network services.
+	 */
+	public function get data():Object
+	{
+		return ba;
+	}
+	
+	public function writeByte(byte:int):void
+	{
+		ba.writeByte(byte);
+	}
+	
+	public function writeShort(byte:int):void
+	{
+		ba.writeShort(byte);
+	}
+	
+	public function writeUnsignedInt(byte:uint):void
+	{
+		ba.writeUnsignedInt(byte);
+	}
+
+	public function writeInt(byte:uint):void
+	{
+		ba.writeInt(byte);
+	}
+
+	public function readByte():int
+	{
+		return ba.readByte();
+	}
+	
+	public function readShort():int
+	{
+		return ba.readShort();
+	}
+	
+	public function readUnsignedInt():uint
+	{
+		return ba.readUnsignedInt();
+	}
+	
+	public function readInt():int
+	{
+		return ba.readInt();
+	}
+
+	public function get length():int
+	{
+		return ba.length;
+	}
+	
+	public function get bytesAvailable():int
+	{
+		return ba.bytesAvailable;
+	}
+
+	public function get position():int
+	{
+		return ba.position;
+	}
+	
+	public function set position(value:int):void
+	{
+		ba.position = value;
+	}
+	
+	public function growBuffer(extra:int):void
+	{
+		// no need to do anything in AS
+	}
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/MXMLDataInterpreter.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/MXMLDataInterpreter.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/MXMLDataInterpreter.as
new file mode 100644
index 0000000..3538e51
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/MXMLDataInterpreter.as
@@ -0,0 +1,321 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.utils
+{
+
+import org.apache.flex.core.IStrand;
+import org.apache.flex.core.IBead;
+import org.apache.flex.core.IDocument;
+import org.apache.flex.core.IParent;
+import org.apache.flex.core.IContainer;
+
+public class MXMLDataInterpreter
+{
+    public function MXMLDataInterpreter()
+    {
+        super();
+    }
+    	
+    
+    public static function generateMXMLObject(document:Object, data:Array):Object
+    {
+        var i:int = 0;
+        var cls:Class = data[i++];
+        var comp:Object = new cls();
+        
+        var m:int;
+        var j:int;
+        var name:String;
+        var simple:*;
+        var value:Object;
+        var id:String;
+        
+        m = data[i++]; // num props
+        for (j = 0; j < m; j++)
+        {
+            name = data[i++];
+            simple = data[i++];
+            value = data[i++];
+            if (simple == null)
+                value = generateMXMLArray(document, null, value as Array);
+            else if (simple == false)
+                value = generateMXMLObject(document, value as Array);
+            if (name == "id")
+            {
+                document[value] = comp;
+                id = value as String;
+            }
+            else if (name == "_id")
+            {
+                document[value] = comp;
+                id = value as String;
+                continue; // skip assignment to comp
+            }
+            comp[name] = value;
+        }
+        if (comp is IDocument)
+            comp.setDocument(document, id);
+        return comp;
+    }
+    
+    public static function generateMXMLArray(document:Object, parent:IParent, data:Array, recursive:Boolean = true):Array
+    {
+        var comps:Array = [];
+        
+        var n:int = data.length;
+        var i:int = 0;
+        while (i < n)
+        {
+            var cls:Class = data[i++];
+            var comp:Object = new cls();
+                        
+            var m:int;
+            var j:int;
+            var name:String;
+            var simple:*;
+            var value:Object;
+            var id:String = null;
+            
+            m = data[i++]; // num props
+            if (m > 0 && data[0] == "model")
+            {
+                m--;
+                name = data[i++];
+                simple = data[i++];
+                value = data[i++];
+                if (simple == null)
+                    value = generateMXMLArray(document, parent, value as Array, recursive);
+                else if (simple == false)
+                    value = generateMXMLObject(document, value as Array);
+                comp[name] = value;
+                if (value is IBead && comp is IStrand)
+                    IStrand(comp).addBead(value as IBead);
+            }
+            var beadOffset:int = i + (m - 1) * 3;
+            if (beadOffset >= -1)
+                trace(beadOffset, data[beadOffset]);
+            if (m > 0 && data[beadOffset] == "beads")
+            {
+                m--;
+            }
+            else
+                beadOffset = -1;
+            for (j = 0; j < m; j++)
+            {
+                name = data[i++];
+                simple = data[i++];
+                value = data[i++];
+                if (simple == null)
+                    value = generateMXMLArray(document, null, value as Array, recursive);
+                else if (simple == false)
+                    value = generateMXMLObject(document, value as Array);
+                if (name == "id")
+                    id = value as String;
+                if (name == "document" && !comp.document)
+                    comp.document = document;
+                else if (name == "_id")
+                    id = value as String; // and don't assign to comp
+                else
+                    comp[name] = value;
+            }
+            if (beadOffset > -1)
+            {
+                name = data[i++];
+                simple = data[i++];
+                value = data[i++];
+                if (simple == null)
+                    value = generateMXMLArray(document, null, value as Array, recursive);
+                else if (simple == false)
+                    value = generateMXMLObject(document, value as Array);
+                else
+                    comp[name] = value;
+                var beads:Array = value as Array;
+                var l:int = beads.length;
+                for (var k:int = 0; k < l; k++)
+                {
+                    var bead:IBead = beads[k] as IBead;
+                    IStrand(comp).addBead(bead);
+                }
+            }
+            m = data[i++]; // num styles
+            for (j = 0; j < m; j++)
+            {
+                name = data[i++];
+                simple = data[i++];
+                value = data[i++];
+                if (simple == null)
+                    value = generateMXMLArray(document, null, value as Array, recursive);
+                else if (simple == false)
+                    value = generateMXMLObject(document, value as Array);
+                comp.setStyle(name, value);
+            }            
+            
+            m = data[i++]; // num effects
+            for (j = 0; j < m; j++)
+            {
+                name = data[i++];
+                simple = data[i++];
+                value = data[i++];
+                if (simple == null)
+                    value = generateMXMLArray(document, null, value as Array, recursive);
+                else if (simple == false)
+                    value = generateMXMLObject(document, value as Array);
+                comp.setStyle(name, value);
+            }
+            
+            m = data[i++]; // num events
+            for (j = 0; j < m; j++)
+            {
+                name = data[i++];
+                value = data[i++];
+                comp.addEventListener(name, value);
+            }
+            
+            if (parent)
+            {
+                parent.addElement(comp);
+            }
+
+            var children:Array = data[i++];
+            if (children)
+            {
+                if (recursive)
+				{
+                    generateMXMLInstances(document, comp as IParent, children, recursive);
+					if (comp is IContainer)
+					{
+						IContainer(comp).childrenAdded();
+					}
+				}
+                else
+                    comp.setMXMLDescriptor(children);
+            }
+            
+            if (id)
+                document[id] = comp;
+            
+            if (comp is IDocument)
+                comp.setDocument(document, id);
+            comps.push(comp);
+        }
+        return comps;
+    }
+    
+    public static function generateMXMLInstances(document:Object, parent:IParent, data:Array, recursive:Boolean = true):void
+    {
+		if (!data) return;
+		
+        generateMXMLArray(document, parent, data, recursive);
+    }
+    
+    public static function generateMXMLProperties(host:Object, data:Array):void
+    {
+		if (!data) return;
+		
+        var i:int = 0;
+        var m:int;
+        var j:int;
+        var name:String;
+        var simple:*;
+        var value:Object;
+        var id:String = null;
+        
+        m = data[i++]; // num props
+        var beadOffset:int = i + (m - 1) * 3;
+        if (beadOffset >= -1)
+            trace(beadOffset, data[beadOffset]);
+        if (m > 0 && data[beadOffset] == "beads")
+        {
+            m--;
+        }
+        else
+            beadOffset = -1;
+        for (j = 0; j < m; j++)
+        {
+            name = data[i++];
+            simple = data[i++];
+            value = data[i++];
+            if (simple == null)
+                value = generateMXMLArray(host, null, value as Array, true);
+            else if (simple == false)
+                value = generateMXMLObject(host, value as Array);
+            if (name == "id")
+                id = value as String;
+            if (name == "_id")
+                id = value as String; // and don't assign
+            else
+                host[name] = value;
+        }
+        if (beadOffset > -1)
+        {
+            name = data[i++];
+            simple = data[i++];
+            value = data[i++];
+            if (simple == null)
+                value = generateMXMLArray(host, null, value as Array, true);
+            else if (simple == false)
+                value = generateMXMLObject(host, value as Array);
+            else
+                host[name] = value;
+            var beads:Array = value as Array;
+            var l:int = beads.length;
+            for (var k:int = 0; k < l; k++)
+            {
+                var bead:IBead = beads[k] as IBead;
+                IStrand(host).addBead(bead);
+                bead.strand = host as IStrand;
+            }
+        }
+        m = data[i++]; // num styles
+        for (j = 0; j < m; j++)
+        {
+            name = data[i++];
+            simple = data[i++];
+            value = data[i++];
+            if (simple == null)
+                value = generateMXMLArray(host, null, value as Array, true);
+            else if (simple == false)
+                value = generateMXMLObject(host, value as Array);
+            host[name] = value;
+        }
+        
+        m = data[i++]; // num effects
+        for (j = 0; j < m; j++)
+        {
+            name = data[i++];
+            simple = data[i++];
+            value = data[i++];
+            if (simple == null)
+                value = generateMXMLArray(host, null, value as Array, true);
+            else if (simple == false)
+                value = generateMXMLObject(host, value as Array);
+            host[name] = value;
+        }
+        
+        m = data[i++]; // num events
+        for (j = 0; j < m; j++)
+        {
+            name = data[i++];
+            value = data[i++];
+            host.addEventListener(name, value as Function);
+        }
+    }
+    
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/SolidBorderUtil.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/SolidBorderUtil.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/SolidBorderUtil.as
new file mode 100644
index 0000000..cb43da1
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/SolidBorderUtil.as
@@ -0,0 +1,39 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.utils
+{
+	import flash.display.Graphics;
+
+public class SolidBorderUtil
+{
+	public static function drawBorder(g:Graphics, x:Number, y:Number, 
+									  width:Number, height:Number,
+									  color:uint, backgroundColor:Object = null, 
+									  thickness:int = 1, alpha:Number = 1.0):void
+	{
+		g.lineStyle(thickness, color, alpha);
+		if (backgroundColor != null)
+			g.beginFill(uint(backgroundColor));	
+		
+		g.drawRect(x, y, width, height);
+		if (backgroundColor != null)
+			g.endFill();
+	}
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/Timer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/Timer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/Timer.as
new file mode 100644
index 0000000..541ddfd
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/Timer.as
@@ -0,0 +1,45 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.utils
+{
+import flash.events.TimerEvent;
+import flash.utils.Timer;
+
+import org.apache.flex.events.Event;
+
+[Event(name="timer", type="org.apache.flex.events.Event")]
+
+public class Timer extends flash.utils.Timer
+{
+    public function Timer(delay:Number, repeatCount:int = 0)
+    {
+        super(delay, repeatCount);
+		addEventListener("timer", interceptor, false, 9999);
+    }
+
+	private function interceptor(event:flash.events.Event):void
+	{
+		if (event is TimerEvent)
+		{
+			event.stopImmediatePropagation();
+			dispatchEvent(new Event("timer"));
+		}
+	}
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/ViewSourceContextMenuOption.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/ViewSourceContextMenuOption.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/ViewSourceContextMenuOption.as
new file mode 100644
index 0000000..e119377
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/ViewSourceContextMenuOption.as
@@ -0,0 +1,63 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.utils
+{
+
+import flash.display.InteractiveObject;
+import flash.events.ContextMenuEvent;
+import flash.net.URLRequest;
+import flash.net.navigateToURL;
+import flash.ui.ContextMenu;
+import flash.ui.ContextMenuItem;
+
+import org.apache.flex.core.IBead;
+import org.apache.flex.core.IStrand;
+
+public class ViewSourceContextMenuOption implements IBead
+{
+    public function ViewSourceContextMenuOption()
+    {
+    }
+
+	private var _strand:IStrand;
+	
+	public function set strand(value:IStrand):void
+	{
+		_strand = value;
+		
+		var menuHost:InteractiveObject = InteractiveObject(value);
+		var cm:ContextMenu = menuHost.contextMenu;
+		if (!cm)
+		{
+			cm = new ContextMenu();
+			menuHost.contextMenu = cm;
+		}
+		var cmi:ContextMenuItem = new ContextMenuItem("View Source...");
+		cm.hideBuiltInItems();
+		cm.customItems.push(cmi);
+		cmi.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, viewSource);
+	}
+	
+	private function viewSource(e:ContextMenuEvent):void
+	{
+		var urlRequest:URLRequest = new URLRequest("srcview/index.html");
+		navigateToURL(urlRequest, "_blank");	
+	}
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/svg-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/svg-manifest.xml b/frameworks/as/projects/FlexJSUI/svg-manifest.xml
new file mode 100644
index 0000000..89d7728
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/svg-manifest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.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.
+
+-->
+
+
+<componentPackage>
+
+    <component id="TextButton" class="org.apache.flex.svg.staticControls.TextButton"/>
+
+</componentPackage>


[03/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/SpinnerMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/SpinnerMouseController.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/SpinnerMouseController.as
deleted file mode 100644
index abb7e97..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/SpinnerMouseController.as
+++ /dev/null
@@ -1,65 +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.staticControls.beads.controllers
-{
-	import flash.events.MouseEvent;
-	
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.beads.ISpinnerView;
-	
-	public class SpinnerMouseController implements IBeadController
-	{
-		public function SpinnerMouseController()
-		{
-		}
-		
-		private var rangeModel:IRangeModel;
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			rangeModel = UIBase(value).model as IRangeModel;
-			
-			var spinnerBead:ISpinnerView = value.getBeadByType(ISpinnerView) as ISpinnerView;
-			spinnerBead.decrement.addEventListener(MouseEvent.CLICK, decrementClickHandler);
-			spinnerBead.decrement.addEventListener("buttonRepeat", decrementClickHandler);
-			spinnerBead.increment.addEventListener(MouseEvent.CLICK, incrementClickHandler);
-			spinnerBead.increment.addEventListener("buttonRepeat", incrementClickHandler);
-		}
-		
-		private function decrementClickHandler( event:Event ) : void
-		{
-			rangeModel.value = Math.max(rangeModel.minimum, rangeModel.value - rangeModel.stepSize);
-			IEventDispatcher(_strand).dispatchEvent(new Event("valueChanged"));
-		}
-		
-		private function incrementClickHandler( event:Event ) : void
-		{
-			rangeModel.value = Math.min(rangeModel.maximum, rangeModel.value + rangeModel.stepSize);	
-			IEventDispatcher(_strand).dispatchEvent(new Event("valueChanged"));
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/VScrollBarMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/VScrollBarMouseController.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/VScrollBarMouseController.as
deleted file mode 100644
index b99889e..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/VScrollBarMouseController.as
+++ /dev/null
@@ -1,77 +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.staticControls.beads.controllers
-{
-	import flash.display.DisplayObject;
-	import flash.events.MouseEvent;
-	
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public class VScrollBarMouseController extends ScrollBarMouseControllerBase
-	{
-		public function VScrollBarMouseController()
-		{
-		}
-		
-		override protected function trackClickHandler(event:MouseEvent):void
-		{
-			if (sbView.thumb.visible)
-			{
-				if (event.localY < sbView.thumb.y)
-				{
-					sbModel.value = snap(Math.max(sbModel.minimum, sbModel.value - sbModel.pageStepSize));						
-					IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
-				}
-				else
-				{
-					sbModel.value = snap(Math.min(sbModel.maximum - sbModel.pageSize, sbModel.value + sbModel.pageStepSize));
-					IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
-				}
-			}
-		}
-		
-		private var thumbDownY:Number;
-		private var lastThumbY:Number;
-		
-		override protected function thumbMouseDownHandler(event:MouseEvent):void
-		{
-			sbView.thumb.stage.addEventListener(MouseEvent.MOUSE_MOVE, thumbMouseMoveHandler);
-			sbView.thumb.stage.addEventListener(MouseEvent.MOUSE_UP, thumbMouseUpHandler);
-			thumbDownY = event.stageY;
-			lastThumbY = sbView.thumb.y;
-		}
-		
-		private function thumbMouseMoveHandler(event:MouseEvent):void
-		{
-			var thumb:DisplayObject = sbView.thumb;
-			var track:DisplayObject = sbView.track;
-			thumb.y = Math.max(track.y, Math.min(lastThumbY + (event.stageY - thumbDownY), track.y + track.height - thumb.height));
-			var newValue:Number = snap((thumb.y - track.y) / (track.height - thumb.height) * (sbModel.maximum - sbModel.minimum - sbModel.pageSize));
-			sbModel.value = newValue;
-			IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
-		}
-		
-		private function thumbMouseUpHandler(event:MouseEvent):void
-		{
-			sbView.thumb.stage.removeEventListener(MouseEvent.MOUSE_MOVE, thumbMouseMoveHandler);
-			sbView.thumb.stage.removeEventListener(MouseEvent.MOUSE_UP, thumbMouseUpHandler);			
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as
deleted file mode 100644
index c7c0a2d..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as
+++ /dev/null
@@ -1,69 +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.staticControls.beads.layouts
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public class ButtonBarLayout implements IBeadLayout
-	{
-		public function ButtonBarLayout()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
-			IEventDispatcher(value).addEventListener("childrenAdded", changeHandler);
-			IEventDispatcher(value).addEventListener("itemsCreated", changeHandler);
-		}
-		
-		private function changeHandler(event:Event):void
-		{
-			var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
-			var contentView:DisplayObjectContainer = layoutParent.contentView;
-			
-			var n:int = contentView.numChildren;
-			var xpos:Number = 0;
-			var useWidth:Number = DisplayObject(_strand).width / n;
-			var useHeight:Number = DisplayObject(_strand).height;
-			
-			for (var i:int = 0; i < n; i++)
-			{
-				var child:DisplayObject = contentView.getChildAt(i);
-				
-				child.y = 0;
-				child.x = xpos;
-				child.width = useWidth;
-				child.height = useHeight;
-				xpos += useWidth;
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalLayout.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalLayout.as
deleted file mode 100644
index 1b793e1..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalLayout.as
+++ /dev/null
@@ -1,145 +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.staticControls.beads.layouts
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-
-	public class NonVirtualHorizontalLayout implements IBeadLayout
-	{
-		public function NonVirtualHorizontalLayout()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
-			IEventDispatcher(value).addEventListener("childrenAdded", changeHandler);
-			IEventDispatcher(value).addEventListener("itemsCreated", changeHandler);
-		}
-	
-		private function changeHandler(event:Event):void
-		{
-			var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
-			var contentView:DisplayObjectContainer = layoutParent.contentView;
-			
-			var n:int = contentView.numChildren;
-			var marginLeft:Object;
-			var marginRight:Object;
-			var marginTop:Object;
-			var marginBottom:Object;
-			var margin:Object;
-			var maxHeight:Number = 0;
-			var verticalMargins:Array = [];
-			
-			for (var i:int = 0; i < n; i++)
-			{
-				var child:DisplayObject = contentView.getChildAt(i);
-				margin = ValuesManager.valuesImpl.getValue(child, "margin");
-				if (margin is Array)
-				{
-					if (margin.length == 1)
-						marginLeft = marginTop = marginRight = marginBottom = margin[0];
-					else if (margin.length <= 3)
-					{
-						marginLeft = marginRight = margin[1];
-						marginTop = marginBottom = margin[0];
-					}
-					else if (margin.length == 4)
-					{
-						marginLeft = margin[3];
-						marginBottom = margin[2];
-						marginRight = margin[1];
-						marginTop = margin[0];					
-					}
-				}
-				else if (margin == null)
-				{
-					marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
-					marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
-					marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
-					marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
-				}
-				else
-				{
-					marginLeft = marginTop = marginBottom = marginRight = margin;
-				}
-				var ml:Number;
-				var mr:Number;
-				var mt:Number;
-				var mb:Number;
-				var lastmr:Number;
-				mt = Number(marginTop);
-				if (isNaN(mt))
-					mt = 0;
-				mb = Number(marginBottom);
-				if (isNaN(mb))
-					mb = 0;
-				if (marginLeft == "auto")
-					ml = 0;
-				else
-				{
-					ml = Number(marginLeft);
-					if (isNaN(ml))
-						ml = 0;
-				}
-				if (marginRight == "auto")
-					mr = 0;
-				else
-				{
-					mr = Number(marginRight);
-					if (isNaN(mr))
-						mr = 0;
-				}
-				child.y = mt;
-				maxHeight = Math.max(maxHeight, ml + child.height + mr);
-				var xx:Number;
-				if (i == 0)
-					child.x = ml;
-				else
-					child.x = xx + ml + lastmr;
-				xx = child.x + child.width;
-				lastmr = mr;
-				var valign:Object = ValuesManager.valuesImpl.getValue(child, "vertical-align");
-				verticalMargins.push({ marginTop: marginTop, marginBottom: marginBottom, valign: valign });
-			}
-			for (i = 0; i < n; i++)
-			{
-				var obj:Object = verticalMargins[0]
-				child = contentView.getChildAt(i);
-				if (obj.valign == "middle")
-					child.y = maxHeight - child.height / 2;
-				else if (valign == "bottom")
-					child.y = maxHeight - child.height - obj.marginBottom;
-				else
-					child.y = obj.marginTop;
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalScrollingLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalScrollingLayout.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalScrollingLayout.as
deleted file mode 100644
index 00dcfc1..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualHorizontalScrollingLayout.as
+++ /dev/null
@@ -1,110 +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.staticControls.beads.layouts
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	import flash.geom.Rectangle;
-	
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IBorderModel;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.supportClasses.Border;
-	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
-	
-	public class NonVirtualHorizontalScrollingLayout implements IBeadLayout
-	{
-		public function NonVirtualHorizontalScrollingLayout()
-		{
-		}
-		
-		private var hScrollBar:ScrollBar;
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
-			IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
-			IEventDispatcher(value).addEventListener("itemsCreated", changeHandler);
-		}
-		
-		private function changeHandler(event:Event):void
-		{            
-			var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
-			var contentView:DisplayObjectContainer = layoutParent.contentView;
-			var border:Border = layoutParent.border;
-			var borderModel:IBorderModel = border.model as IBorderModel;
-			
-			var ww:Number = layoutParent.resizableView.width;
-			var hh:Number = layoutParent.resizableView.height;
-			border.width = ww;
-			border.height = hh;
-			
-			contentView.width = ww - borderModel.offsets.left - borderModel.offsets.right;
-			contentView.height = hh - borderModel.offsets.top - borderModel.offsets.bottom;
-			contentView.x = borderModel.offsets.left;
-			contentView.y = borderModel.offsets.top;
-			
-			var n:int = contentView.numChildren;
-			var xx:Number = 0;
-			for (var i:int = 0; i < n; i++)
-			{
-				var ir:DisplayObject = contentView.getChildAt(i);
-				ir.x = xx;
-				ir.height = contentView.height;
-				xx += ir.width;			
-			}
-			/*
-			if (xx > dataGroup.width)
-			{
-				hScrollBar = listView.hScrollBar;
-				dataGroup.height -= hScrollBar.height;
-				IScrollBarModel(hScrollBar.model).maximum = xx;
-				IScrollBarModel(hScrollBar.model).pageSize = dataGroup.width;
-				IScrollBarModel(hScrollBar.model).pageStepSize = dataGroup.width;
-				hScrollBar.visible = true;
-				hScrollBar.width = dataGroup.width;
-				hScrollBar.x = dataGroup.x;
-				hScrollBar.y = dataGroup.height;
-				var xpos:Number = IScrollBarModel(hScrollBar.model).value;
-				dataGroup.scrollRect = new Rectangle(xpos, 0, xpos + dataGroup.width, dataGroup.height);
-				hScrollBar.addEventListener("scroll", scrollHandler);
-			}
-			else if (hScrollBar)
-			{
-				dataGroup.scrollRect = null;
-				hScrollBar.visible = false;
-			}
-			*/
-		}
-		
-		/*private function scrollHandler(event:Event):void
-		{
-			var xpos:Number = IScrollBarModel(hScrollBar.model).value;
-			dataGroup.scrollRect = new Rectangle(xpos, 0, xpos + dataGroup.width, dataGroup.height);
-		}*/
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.as
deleted file mode 100644
index 04a3b5e..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.as
+++ /dev/null
@@ -1,163 +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.staticControls.beads.layouts
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-
-	public class NonVirtualVerticalLayout implements IBead
-	{
-		public function NonVirtualVerticalLayout()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
-			IEventDispatcher(value).addEventListener("childrenAdded", changeHandler);
-			IEventDispatcher(value).addEventListener("itemsCreated", changeHandler);
-		}
-	
-		private function changeHandler(event:Event):void
-		{
-			var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
-			var contentView:DisplayObjectContainer = layoutParent.contentView;
-			
-			var n:int = contentView.numChildren;
-			var hasHorizontalFlex:Boolean;
-			var flexibleHorizontalMargins:Array = [];
-			var marginLeft:Object;
-			var marginRight:Object;
-			var marginTop:Object;
-			var marginBottom:Object;
-			var margin:Object;
-			var maxWidth:Number = 0;
-			for (var i:int = 0; i < n; i++)
-			{
-				var child:DisplayObject = contentView.getChildAt(i);
-				margin = ValuesManager.valuesImpl.getValue(child, "margin");
-				if (margin is Array)
-				{
-					if (margin.length == 1)
-						marginLeft = marginTop = marginRight = marginBottom = margin[0];
-					else if (margin.length <= 3)
-					{
-						marginLeft = marginRight = margin[1];
-						marginTop = marginBottom = margin[0];
-					}
-					else if (margin.length == 4)
-					{
-						marginLeft = margin[3];
-						marginBottom = margin[2];
-						marginRight = margin[1];
-						marginTop = margin[0];					
-					}
-				}
-				else if (margin == null)
-				{
-					marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
-					marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
-					marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
-					marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
-				}
-				else
-				{
-					marginLeft = marginTop = marginBottom = marginRight = margin;
-				}
-				var ml:Number;
-				var mr:Number;
-				var mt:Number;
-				var mb:Number;
-				var lastmb:Number;
-				mt = Number(marginTop);
-				if (isNaN(mt))
-					mt = 0;
-				mb = Number(marginBottom);
-				if (isNaN(mb))
-					mb = 0;
-				var yy:Number;
-				if (i == 0)
-					child.y = mt;
-				else
-					child.y = yy + Math.max(mt, lastmb);
-				yy = child.y + child.height;
-				lastmb = mb;
-				flexibleHorizontalMargins[i] = {};
-				if (marginLeft == "auto")
-				{
-					ml = 0;
-					flexibleHorizontalMargins[i].marginLeft = marginLeft;
-					hasHorizontalFlex = true;
-				}
-				else
-				{
-					ml = Number(marginLeft);
-					if (isNaN(ml))
-					{
-						ml = 0;
-						flexibleHorizontalMargins[i].marginLeft = marginLeft;
-					}
-					else
-						flexibleHorizontalMargins[i].marginLeft = ml;
-				}
-				if (marginRight == "auto")
-				{
-					mr = 0;
-					flexibleHorizontalMargins[i].marginRight = marginRight;
-					hasHorizontalFlex = true;
-				}
-				else
-				{
-					mr = Number(marginRight);
-					if (isNaN(mr))
-					{
-						mr = 0;
-						flexibleHorizontalMargins[i].marginRight = marginRight;
-					}
-					else
-						flexibleHorizontalMargins[i].marginRight = mr;
-				}
-				child.x = ml;
-				maxWidth = Math.max(maxWidth, ml + child.width + mr);
-			}
-			if (hasHorizontalFlex)
-			{
-				for (i = 0; i < n; i++)
-				{
-					child = contentView.getChildAt(i);
-					var obj:Object = flexibleHorizontalMargins[i];
-					if (obj.marginLeft == "auto" && obj.marginRight == "auto")
-						child.x = maxWidth - child.width / 2;
-					else if (obj.marginLeft == "auto")
-						child.x = maxWidth - child.width - obj.marginRight;
-				}
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as
deleted file mode 100644
index 0bc9dfd..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as
+++ /dev/null
@@ -1,111 +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.staticControls.beads.layouts
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	import flash.geom.Rectangle;
-	
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IBorderModel;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.supportClasses.Border;
-	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
-
-	public class NonVirtualVerticalScrollingLayout implements IBeadLayout
-	{
-		public function NonVirtualVerticalScrollingLayout()
-		{
-		}
-        
-        private var vScrollBar:ScrollBar;	
-
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
-			IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
-			IEventDispatcher(value).addEventListener("itemsCreated", changeHandler);
-		}
-	
-		private function changeHandler(event:Event):void
-		{            
-			var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
-			var contentView:DisplayObjectContainer = layoutParent.contentView;
-			var border:Border = layoutParent.border;
-			var borderModel:IBorderModel = border.model as IBorderModel;
-			
-            var ww:Number = DisplayObject(layoutParent.resizableView).width;
-            var hh:Number = DisplayObject(layoutParent.resizableView).height;
-            border.width = ww;
-            border.height = hh;
-           
-			contentView.width = ww - borderModel.offsets.left - borderModel.offsets.right;
-			contentView.height = hh - borderModel.offsets.top - borderModel.offsets.bottom;
-			contentView.x = borderModel.offsets.left;
-			contentView.y = borderModel.offsets.top;
-			
-			var n:int = contentView.numChildren;
-			var yy:Number = 0;
-			for (var i:int = 0; i < n; i++)
-			{
-				var ir:DisplayObject = contentView.getChildAt(i);
-				ir.y = yy;
-				ir.width = contentView.width;
-				yy += ir.height;			
-			}
-			if (yy > contentView.height)
-			{
-                vScrollBar = layoutParent.vScrollBar;
-				contentView.width -= vScrollBar.width;
-				IScrollBarModel(vScrollBar.model).maximum = yy;
-				IScrollBarModel(vScrollBar.model).pageSize = contentView.height;
-				IScrollBarModel(vScrollBar.model).pageStepSize = contentView.height;
-				vScrollBar.visible = true;
-				vScrollBar.height = contentView.height;
-				vScrollBar.y = contentView.y;
-				vScrollBar.x = contentView.width;
-                var vpos:Number = IScrollBarModel(vScrollBar.model).value;
-				contentView.scrollRect = new Rectangle(0, vpos, contentView.width, vpos + contentView.height);
-                vScrollBar.addEventListener("scroll", scrollHandler);
-			}
-			else if (vScrollBar)
-			{
-				contentView.scrollRect = null;
-				vScrollBar.visible = false;
-			}
-		}
-
-        private function scrollHandler(event:Event):void
-        {
-			var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
-			var contentView:DisplayObjectContainer = layoutParent.contentView;
-			
-            var vpos:Number = IScrollBarModel(vScrollBar.model).value;
-			contentView.scrollRect = new Rectangle(0, vpos, contentView.width, vpos + contentView.height);
-        }
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/VScrollBarLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/VScrollBarLayout.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/VScrollBarLayout.as
deleted file mode 100644
index 3d33ca0..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/layouts/VScrollBarLayout.as
+++ /dev/null
@@ -1,84 +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.staticControls.beads.layouts
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.html.staticControls.beads.IScrollBarView;
-
-	public class VScrollBarLayout implements IBeadLayout
-	{
-		public function VScrollBarLayout()
-		{
-		}
-		
-		private var sbModel:IScrollBarModel;
-		private var sbView:IScrollBarView;
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			sbView = value as IScrollBarView;
-			sbModel = sbView.scrollBarModel;
-			sbModel.addEventListener("maximumChange", changeHandler);
-			sbModel.addEventListener("minimumChange", changeHandler);
-			sbModel.addEventListener("snapIntervalChange", changeHandler);
-			sbModel.addEventListener("stepSizeChange", changeHandler);
-            sbModel.addEventListener("pageSizeChange", changeHandler);
-			sbModel.addEventListener("valueChange", changeHandler);
-			IEventDispatcher(sbView.strand).addEventListener("heightChanged", changeHandler);
-			changeHandler(null);
-		}
-	
-		private function changeHandler(event:Event):void
-		{
-			var h:Number = DisplayObject(sbView.strand).height;
-			var increment:DisplayObject = sbView.increment;
-			var decrement:DisplayObject = sbView.decrement;
-			var track:DisplayObject = sbView.track;
-			var thumb:DisplayObject = sbView.thumb;
-			
-			decrement.x = 0;
-			decrement.y = 0;
-			increment.x = 0;
-			increment.y = h - increment.height;
-			track.x = 0;
-			track.y = decrement.height;
-			track.height = increment.y - decrement.height;
-            thumb.height = sbModel.pageSize / (sbModel.maximum - sbModel.minimum) * track.height;
-			if (track.height > thumb.height)
-			{
-				thumb.visible = true;
-				thumb.y = (sbModel.value / (sbModel.maximum - sbModel.minimum - sbModel.pageSize) * (track.height - thumb.height)) + track.y;
-			}
-			else
-			{
-				thumb.visible = false;
-			}
-		}
-						
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/AlertModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/AlertModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/AlertModel.as
deleted file mode 100644
index 12deea4..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/AlertModel.as
+++ /dev/null
@@ -1,163 +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.staticControls.beads.models
-{
-	import org.apache.flex.core.IAlertModel;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	
-	public class AlertModel extends EventDispatcher implements IAlertModel, IBead
-	{
-		public function AlertModel()
-		{
-			super();
-		}
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _title:String;
-		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;
-		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 _message:String;
-		public function get message():String
-		{
-			return _message;
-		}
-		public function set message(value:String):void
-		{
-			if( value != _message ) {
-				_message = value;
-				dispatchEvent( new Event("messageChange") );
-			}
-		}
-		
-		private var _htmlMessage:String;
-		public function get htmlMessage():String
-		{
-			return _htmlMessage;
-		}
-		public function set htmlMessage(value:String):void
-		{
-			if( value != _htmlMessage )
-			{
-				_htmlMessage = value;
-				dispatchEvent( new Event("htmlMessageChange") );
-			}
-		}
-		
-		private var _flags:uint;
-		public function get flags():uint
-		{
-			return _flags;
-		}
-		public function set flags(value:uint):void
-		{
-			if( value != _flags )
-			{
-				_flags = value;
-				dispatchEvent( new Event("flagsChange") );
-			}
-		}
-		
-		private var _okLabel:String = "OK";
-		public function get okLabel():String
-		{
-			return _okLabel;
-		}
-		public function set okLabel(value:String):void
-		{
-			if( value != _okLabel )
-			{
-				_okLabel = value;
-				dispatchEvent( new Event("okLabelChange") );
-			}
-		}
-		
-		private var _cancelLabel:String = "Cancel";
-		public function get cancelLabel():String
-		{
-			return _cancelLabel;
-		}
-		public function set cancelLabel(value:String):void
-		{
-			if( value != _cancelLabel )
-			{
-				_cancelLabel = value;
-				dispatchEvent( new Event("cancelLabelChange") );
-			}
-		}
-		
-		private var _yesLabel:String = "YES";
-		public function get yesLabel():String
-		{
-			return _yesLabel;
-		}
-		public function set yesLabel(value:String):void
-		{
-			if( value != _yesLabel )
-			{
-				_yesLabel = value;
-				dispatchEvent( new Event("yesLabelChange") );
-			}
-		}
-		
-		private var _noLabel:String = "NO";
-		public function get noLabel():String
-		{
-			return _noLabel;
-		}
-		public function set noLabel(value:String):void
-		{
-			if( value != _noLabel )
-			{
-				_noLabel = value;
-				dispatchEvent( new Event("noLabelChange") );
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as
deleted file mode 100644
index d1794be..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as
+++ /dev/null
@@ -1,120 +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.staticControls.beads.models
-{
-	import org.apache.flex.core.IRollOverModel;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-			
-	public class ArraySelectionModel extends EventDispatcher implements ISelectionModel, IRollOverModel
-	{
-		public function ArraySelectionModel()
-		{
-		}
-
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _dataProvider:Object;
-        
-		public function get dataProvider():Object
-		{
-			return _dataProvider;
-		}
-		public function set dataProvider(value:Object):void
-		{
-            _dataProvider = value;
-			dispatchEvent(new Event("dataProviderChanged"));
-		}
-
-		private var _selectedIndex:int = -1;
-		private var _rollOverIndex:int = -1;
-		
-		public function get selectedIndex():int
-		{
-			return _selectedIndex;
-		}
-		public function set selectedIndex(value:int):void
-		{
-			_selectedIndex = value;
-			_selectedItem = (value == -1) ? null : (value < _dataProvider.length) ? _dataProvider[value] : null;
-			dispatchEvent(new Event("selectedIndexChanged"));			
-		}
-		
-		public function get rollOverIndex():int
-		{
-			return _rollOverIndex;
-		}
-		public function set rollOverIndex(value:int):void
-		{
-			_rollOverIndex = value;
-			dispatchEvent(new Event("rollOverIndexChanged"));			
-		}
-		
-		private var _selectedItem:Object;
-		
-		public function get selectedItem():Object
-		{
-			return _selectedItem;
-		}
-		public function set selectedItem(value:Object):void
-		{
-			_selectedItem = value;	
-			var n:int = _dataProvider.length;
-			for (var i:int = 0; i < n; i++)
-			{
-				if (_dataProvider[i] == value)
-				{
-					_selectedIndex = i;
-					break;
-				}
-			}
-			dispatchEvent(new Event("selectedItemChanged"));			
-			dispatchEvent(new Event("selectedIndexChanged"));
-		}
-		
-		private var _selectedString:String;
-		
-		public function get selectedString():String
-		{
-			return String(_selectedItem);
-		}
-		public function set selectedString(value:String):void
-		{
-			_selectedString = value;
-			var n:int = _dataProvider.length;
-			for (var i:int = 0; i < n; i++)
-			{
-				if (String(_dataProvider[i]) == value)
-				{
-					_selectedIndex = i;
-					break;
-				}
-			}
-			dispatchEvent(new Event("selectedItemChanged"));			
-			dispatchEvent(new Event("selectedIndexChanged"));			
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ComboBoxModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ComboBoxModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ComboBoxModel.as
deleted file mode 100644
index 91d2ce0..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ComboBoxModel.as
+++ /dev/null
@@ -1,61 +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.staticControls.beads.models
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IComboBoxModel;
-	import org.apache.flex.events.Event;
-			
-	public class ComboBoxModel extends ArraySelectionModel implements IBead, IComboBoxModel
-	{
-		public function ComboBoxModel()
-		{
-		}
-
-		private var _text:String;
-		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;
-		public function get html():String
-		{
-			return _html;
-		}
-		
-		public function set html(value:String):void
-		{
-			if (value != _html)
-			{
-				_html = value;
-				dispatchEvent(new Event("htmlChange"));
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as
deleted file mode 100644
index bc71bff..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as
+++ /dev/null
@@ -1,45 +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.staticControls.beads.models
-{
-	import org.apache.flex.core.IDataGridModel;
-	import org.apache.flex.events.Event;
-	
-	public class DataGridModel extends ArraySelectionModel implements IDataGridModel
-	{
-		public function DataGridModel()
-		{
-			super();
-		}
-		
-		private var _labelFields:Object;
-		public function get labelFields():Object
-		{
-			return _labelFields;
-		}
-		
-		public function set labelFields(value:Object):void
-		{
-			if (value != _labelFields) {
-				_labelFields = value;
-				dispatchEvent( new Event("labelFieldsChanged"));
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/DataGridPresentationModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/DataGridPresentationModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/DataGridPresentationModel.as
deleted file mode 100644
index 4c19aac..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/DataGridPresentationModel.as
+++ /dev/null
@@ -1,65 +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.staticControls.beads.models
-{
-	import org.apache.flex.core.IDataGridPresentationModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	
-	public class DataGridPresentationModel extends EventDispatcher implements IDataGridPresentationModel
-	{
-		public function DataGridPresentationModel()
-		{
-			super();
-		}
-		
-		private var _columnLabels:Array;
-		public function get columnLabels():Array
-		{
-			return _columnLabels;
-		}
-		public function set columnLabels(value:Array):void
-		{
-			if (value != _columnLabels) {
-				_columnLabels = value;
-				dispatchEvent(new Event("columnsChanged"));
-			}
-		}
-		
-		private var _rowHeight:Number = 30;
-		public function get rowHeight():Number
-		{
-			return _rowHeight;
-		}
-		public function set rowHeight(value:Number):void
-		{
-			if (value != _rowHeight) {
-				_rowHeight = value;
-				dispatchEvent(new Event("rowHeightChanged"));
-			}
-		}
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ImageModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ImageModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ImageModel.as
deleted file mode 100644
index c6e3e80..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ImageModel.as
+++ /dev/null
@@ -1,53 +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.staticControls.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;
-	
-	public class ImageModel extends EventDispatcher implements IImageModel
-	{
-		public function ImageModel()
-		{
-			super();
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _source:String;
-		public function get source():String
-		{
-			return _source;
-		}
-		public function set source(value:String):void
-		{
-			if (value != _source) {
-				_source = value;
-				dispatchEvent( new Event("urlChanged") );
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/PanelModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/PanelModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/PanelModel.as
deleted file mode 100644
index 19c61aa..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/PanelModel.as
+++ /dev/null
@@ -1,82 +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.staticControls.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;
-	
-	public class PanelModel extends EventDispatcher implements IBead, IPanelModel
-	{
-		public function PanelModel()
-		{
-			super();
-		}
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _title:String;
-		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;
-		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;
-		public function get showCloseButton():Boolean
-		{
-			return _showCloseButton;
-		}
-		
-		public function set showCloseButton(value:Boolean):void
-		{
-			if( value != _showCloseButton ) {
-				_showCloseButton = value;
-				dispatchEvent( new Event('showCloseButtonChange') );
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/RangeModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/RangeModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/RangeModel.as
deleted file mode 100644
index 4b475be..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/RangeModel.as
+++ /dev/null
@@ -1,138 +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.staticControls.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;
-			
-	public class RangeModel extends EventDispatcher implements IBead, IRangeModel
-	{
-		public function RangeModel()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-
-		private var _maximum:Number = 100;
-		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;
-		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;
-		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;
-		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;
-		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"));
-			}
-		}
-		
-		
-		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;
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ScrollBarModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ScrollBarModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ScrollBarModel.as
deleted file mode 100644
index ce2e52d..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ScrollBarModel.as
+++ /dev/null
@@ -1,62 +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.staticControls.beads.models
-{
-	
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.events.Event;
-		
-	public class ScrollBarModel extends RangeModel implements IScrollBarModel
-	{
-		public function ScrollBarModel()
-		{
-		}
-		
-		private var _pageSize:Number;
-		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;
-		public function get pageStepSize():Number
-		{
-			return _pageStepSize;
-		}
-		
-		public function set pageStepSize(value:Number):void
-		{
-			if (value != _pageStepSize)
-			{
-				_pageStepSize = value;
-				dispatchEvent(new Event("pageStepSizeChange"));
-			}
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/SingleLineBorderModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/SingleLineBorderModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/SingleLineBorderModel.as
deleted file mode 100644
index 39908e8..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/SingleLineBorderModel.as
+++ /dev/null
@@ -1,49 +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.staticControls.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;
-		
-	public class SingleLineBorderModel extends EventDispatcher implements IBead, IBorderModel
-	{
-		public function SingleLineBorderModel()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-
-        static private var rect:Rectangle = new Rectangle(1, 1, 1, 1);
-        
-        public function get offsets():Rectangle
-        {
-            return rect;
-        }
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/StringSelectionModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/StringSelectionModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/StringSelectionModel.as
deleted file mode 100644
index 1313855..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/StringSelectionModel.as
+++ /dev/null
@@ -1,101 +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.staticControls.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;
-		
-	public class StringSelectionModel extends EventDispatcher implements ISelectionModel
-	{
-		public function StringSelectionModel()
-		{
-		}
-
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _strings:Vector.<String>;
-		public function get strings():Vector.<String>
-		{
-			return _strings;
-		}
-		public function set strings(value:Vector.<String>):void
-		{
-			_strings = value;
-			dispatchEvent(new Event("dataProviderChanged"));
-		}
-		public function get dataProvider():Object
-		{
-			return _strings;
-		}
-		public function set dataProvider(value:Object):void
-		{
-			_strings = value as Vector.<String>;
-			dispatchEvent(new Event("dataProviderChanged"));
-		}
-
-		private var _selectedIndex:int = -1;
-		
-		public function get selectedIndex():int
-		{
-			return _selectedIndex;
-		}
-		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;
-		
-		public function get selectedItem():Object
-		{
-			return _selectedString;
-		}
-		public function set selectedItem(value:Object):void
-		{
-			selectedString = String(value);	
-		}
-		public function get selectedString():String
-		{
-			return _selectedString;
-		}
-		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"));			
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/TextModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/TextModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/TextModel.as
deleted file mode 100644
index 6a994b2..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/TextModel.as
+++ /dev/null
@@ -1,70 +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.staticControls.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;
-		
-	public class TextModel extends EventDispatcher implements IBead, ITextModel
-	{
-		public function TextModel()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-
-		private var _text:String;
-		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;
-		public function get html():String
-		{
-			return _html;
-		}
-		
-		public function set html(value:String):void
-		{
-			if (value != _html)
-			{
-				_html = value;
-				dispatchEvent(new Event("htmlChange"));
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/TitleBarModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/TitleBarModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/TitleBarModel.as
deleted file mode 100644
index d72fab9..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/TitleBarModel.as
+++ /dev/null
@@ -1,83 +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.staticControls.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;
-	
-	public class TitleBarModel extends EventDispatcher implements IBead, ITitleBarModel
-	{
-		public function TitleBarModel()
-		{
-			super();
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _title:String;
-		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;
-		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;
-		public function get showCloseButton():Boolean
-		{
-			return _showCloseButton;
-		}
-		
-		public function set showCloseButton(value:Boolean):void
-		{
-			if( value != _showCloseButton ) {
-				_showCloseButton = value;
-				dispatchEvent( new Event('showCloseButtonChange') );
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ToggleButtonModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ToggleButtonModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ToggleButtonModel.as
deleted file mode 100644
index c96e101..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ToggleButtonModel.as
+++ /dev/null
@@ -1,87 +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.staticControls.beads.models
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IToggleButtonModel;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	
-	public class ToggleButtonModel extends EventDispatcher implements IBead, IToggleButtonModel
-	{
-		public function ToggleButtonModel()
-		{
-			super();
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _text:String;
-		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;
-		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;
-		
-		public function get selected():Boolean
-		{
-			return _selected;
-		}
-		
-		public function set selected(value:Boolean):void
-		{
-			if( value != _selected )
-			{
-				_selected = value;
-				dispatchEvent(new Event("selectedChange"));
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ValueToggleButtonModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ValueToggleButtonModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ValueToggleButtonModel.as
deleted file mode 100644
index a1cc0fb..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ValueToggleButtonModel.as
+++ /dev/null
@@ -1,80 +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.staticControls.beads.models
-{
-	
-	import org.apache.flex.core.IValueToggleButtonModel;
-	import org.apache.flex.events.Event;
-
-	public class ValueToggleButtonModel extends ToggleButtonModel implements IValueToggleButtonModel
-	{
-		public function ValueToggleButtonModel()
-		{
-			super();
-		}
-		
-		private var _value:Object;
-		
-		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;
-		
-		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;
-		
-		public function get selectedValue():Object
-		{
-			return _selectedValue;
-		}
-		
-		public function set selectedValue(newValue:Object):void
-		{
-			if( _selectedValue != newValue )
-			{
-				_selectedValue = newValue;
-				dispatchEvent(new Event("selectedValueChange"));
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/Border.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/Border.as b/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/Border.as
deleted file mode 100644
index 615e35c..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/Border.as
+++ /dev/null
@@ -1,31 +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.staticControls.supportClasses
-{
-	import org.apache.flex.core.UIBase;
-	
-	public class Border extends UIBase
-	{
-		public function Border()
-		{
-			super();
-		}		
-        
-   	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/ButtonBarButtonItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/ButtonBarButtonItemRenderer.as b/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/ButtonBarButtonItemRenderer.as
deleted file mode 100644
index 01750b8..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/ButtonBarButtonItemRenderer.as
+++ /dev/null
@@ -1,89 +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.staticControls.supportClasses
-{
-	import org.apache.flex.events.Event;
-	import org.apache.flex.html.staticControls.TextButton;
-	import org.apache.flex.html.staticControls.beads.ITextItemRenderer;
-
-	public class ButtonBarButtonItemRenderer extends UIItemRendererBase implements ITextItemRenderer
-	{
-		public function ButtonBarButtonItemRenderer()
-		{
-			super();
-		}
-		
-		private var textButton:TextButton;
-		
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-		}
-		
-		private function handleClickEvent(event:Event):void
-		{
-			this.dispatchEvent(new Event("selected"));
-		}
-		
-		public function get text():String
-		{
-			return data as String;
-		}
-		public function set text(value:String):void
-		{
-			data = value;
-		}
-		
-		override public function set data(value:Object):void
-		{
-			super.data = value;
-			
-			var added:Boolean = false;
-			if (textButton == null) {
-				textButton = new TextButton();
-				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);
-		}
-		
-		override public function adjustSize():void
-		{
-			textButton.width = this.width;
-			textButton.height = this.height;
-			
-			updateRenderer();
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as b/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as
deleted file mode 100644
index 8f2a5cc..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as
+++ /dev/null
@@ -1,80 +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.staticControls.supportClasses
-{
-	import flash.display.Sprite;
-
-	public class DataItemRenderer extends UIItemRendererBase
-	{
-		public function DataItemRenderer()
-		{
-			super();
-		}
-		
-		private var _columnIndex:int;
-		public function get columnIndex():int
-		{
-			return _columnIndex;
-		}
-		public function set columnIndex(value:int):void
-		{
-			_columnIndex = value;
-		}
-		
-		private var _rowIndex:int;
-		public function get rowIndex():int
-		{
-			return _rowIndex;
-		}
-		public function set rowIndex(value:int):void
-		{
-			_rowIndex = value;
-		}
-		
-		private var _labelField:String = "label";
-		public function get labelField():String
-		{
-			return _labelField;
-		}
-		public function set labelField(value:String):void
-		{
-			_labelField = value;
-		}
-		
-		private var background:Sprite;
-		
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-			
-			background = new Sprite();
-			addChild(background);
-		}
-		
-		override public function updateRenderer():void
-		{
-			super.updateRenderer();
-			
-			background.graphics.clear();
-			background.graphics.beginFill(backgroundColor, (down||selected||hovered)?1:0);
-			background.graphics.drawRect(0, 0, this.width, this.height);
-			background.graphics.endFill();
-		}
-	}
-}
\ No newline at end of file


[05/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DropDownListView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DropDownListView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/DropDownListView.as
deleted file mode 100644
index 59954ed..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DropDownListView.as
+++ /dev/null
@@ -1,223 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.display.Sprite;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IPopUpHost;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IPopUpHost;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-
-	public class DropDownListView implements IDropDownListView, IBeadView
-	{
-		public function DropDownListView()
-		{
-            upSprite = new Sprite();
-            downSprite = new Sprite();
-            overSprite = new Sprite();
-			upTextField = new CSSTextField();
-			downTextField = new CSSTextField();
-			overTextField = new CSSTextField();
-            upSprite.addChild(upTextField);
-            overSprite.addChild(overTextField);
-            downSprite.addChild(downTextField);
-			upTextField.border = true;
-			downTextField.border = true;
-			overTextField.border = true;
-			upTextField.background = true;
-			downTextField.background = true;
-			overTextField.background = true;
-			upTextField.borderColor = 0;
-			downTextField.borderColor = 0;
-			overTextField.borderColor = 0;
-			upTextField.backgroundColor = 0xEEEEEE;
-			downTextField.backgroundColor = 0x808080;
-			overTextField.backgroundColor = 0xFFFFFF;
-			upTextField.selectable = false;
-			upTextField.type = TextFieldType.DYNAMIC;
-			downTextField.selectable = false;
-			downTextField.type = TextFieldType.DYNAMIC;
-			overTextField.selectable = false;
-			overTextField.type = TextFieldType.DYNAMIC;
-			//upTextField.autoSize = "left";
-			//downTextField.autoSize = "left";
-			//overTextField.autoSize = "left";
-            
-            upArrows = new Shape();
-            overArrows = new Shape();
-            downArrows = new Shape();
-            upSprite.addChild(upArrows);
-			overSprite.addChild(overArrows);
-			downSprite.addChild(downArrows);
-            drawArrows(upArrows, 0xEEEEEE);
-            drawArrows(overArrows, 0xFFFFFF);
-            drawArrows(downArrows, 0x808080);
-
-		}
-
-        private function drawArrows(shape:Shape, color:uint):void
-        {
-            var g:Graphics = shape.graphics;
-            g.beginFill(color);
-            g.drawRect(0, 0, 16, 17);
-            g.endFill();
-            g.beginFill(0);
-            g.moveTo(8, 2);
-            g.lineTo(12, 6);
-            g.lineTo(4, 6);
-            g.lineTo(8, 2);
-            g.endFill();
-            g.beginFill(0);
-            g.moveTo(8, 14);
-            g.lineTo(12, 10);
-            g.lineTo(4, 10);
-            g.lineTo(8, 14);
-            g.endFill();
-            g.lineStyle(1, 0);
-            g.drawRect(0, 0, 16, 17);
-        }
-        
-		private var selectionModel:ISelectionModel;
-		
-		private var _strand:IStrand;
-		
-		private var shape:Shape;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
-            selectionModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 10, 10);
-			shape.graphics.endFill();
-			SimpleButton(value).upState = upSprite;
-			SimpleButton(value).downState = downSprite;
-			SimpleButton(value).overState = overSprite;
-			SimpleButton(value).hitTestState = shape;
-			if (selectionModel.selectedIndex !== -1)
-				text = selectionModel.selectedItem.toString();
-            IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
-            IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
-			changeHandler(null);
-		}
-		
-		private function selectionChangeHandler(event:Event):void
-		{
-			text = selectionModel.selectedItem.toString();
-		}
-		
-        private function changeHandler(event:Event):void
-        {
-            var ww:Number = DisplayObject(_strand).width;
-            var hh:Number = DisplayObject(_strand).height;
-            upArrows.x = ww - upArrows.width;            
-            overArrows.x = ww - overArrows.width;            
-            downArrows.x = ww - downArrows.width;
-			upTextField.width = upArrows.x;
-			downTextField.width = downArrows.x;
-			overTextField.width = overArrows.x;
-			upTextField.height = hh;
-			downTextField.height = hh;
-			overTextField.height = hh;
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, ww, hh);
-			shape.graphics.endFill();
-        }
-        
-		private var upTextField:CSSTextField;
-		private var downTextField:CSSTextField;
-		private var overTextField:CSSTextField;
-        private var upSprite:Sprite;
-        private var downSprite:Sprite;
-        private var overSprite:Sprite;
-        private var upArrows:Shape;
-        private var downArrows:Shape;
-        private var overArrows:Shape;
-		
-		public function get text():String
-		{
-			return upTextField.text;
-		}
-        
-		public function set text(value:String):void
-		{
-            var ww:Number = DisplayObject(_strand).width;
-            var hh:Number = DisplayObject(_strand).height;
-			upTextField.text = value;
-			downTextField.text = value;
-			overTextField.text = value;
-			
-		}
-		
-        private var _popUp:IStrand;
-        public function get popUp():IStrand
-        {
-            return _popUp;
-        }
-        
-        private var _popUpVisible:Boolean;
-        
-        public function get popUpVisible():Boolean
-        {
-            return _popUpVisible;
-        }
-        
-        public function set popUpVisible(value:Boolean):void
-        {
-            if (value != _popUpVisible)
-            {
-                _popUpVisible = value;
-                if (value)
-                {
-                    if (!_popUp)
-                    {
-                        var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
-                        _popUp = new popUpClass() as IStrand;
-                    }
-					var root:Object = DisplayObject(_strand).root;
-					var host:DisplayObjectContainer = DisplayObject(_strand).parent;
-                    while (host && !(host is IPopUpHost))
-                        host = host.parent;
-                    if (host)
-                        IPopUpHost(host).addElement(popUp);
-                }
-                else
-                {
-                    DisplayObject(_popUp).parent.removeChild(_popUp as DisplayObject);                    
-                }
-            }
-        }
-        
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IBackgroundBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IBackgroundBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/IBackgroundBead.as
deleted file mode 100644
index f73da26..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IBackgroundBead.as
+++ /dev/null
@@ -1,26 +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.staticControls.beads
-{
-	import org.apache.flex.core.IBead;
-
-	public interface IBackgroundBead extends IBead
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IBorderBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IBorderBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/IBorderBead.as
deleted file mode 100644
index 813be04..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IBorderBead.as
+++ /dev/null
@@ -1,26 +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.staticControls.beads
-{
-	import org.apache.flex.core.IBead;
-
-	public interface IBorderBead extends IBead
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IComboBoxView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IComboBoxView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/IComboBoxView.as
deleted file mode 100644
index e3866fc..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IComboBoxView.as
+++ /dev/null
@@ -1,37 +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.staticControls.beads
-{
-    import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.IStrand;
-    
-	public interface IComboBoxView extends IBeadView
-	{
-		function get text():String;
-		function set text(value:String):void;
-		
-		function get html():String;
-		function set html(value:String):void;
-		
-		function get popUp():IStrand;
-		
-		function get popUpVisible():Boolean;
-		function set popUpVisible(value:Boolean):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IDataGridView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IDataGridView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/IDataGridView.as
deleted file mode 100644
index 17afcd5..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IDataGridView.as
+++ /dev/null
@@ -1,27 +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.staticControls.beads
-{
-	import org.apache.flex.core.IBeadView;
-	
-	public interface IDataGridView extends IBeadView
-	{
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IDataProviderItemRendererMapper.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IDataProviderItemRendererMapper.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/IDataProviderItemRendererMapper.as
deleted file mode 100644
index 8a83d82..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IDataProviderItemRendererMapper.as
+++ /dev/null
@@ -1,34 +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.staticControls.beads
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IItemRendererClassFactory;
-
-    /**
-     * Classes that generate ItemRenderers based on dataProvider contents.
-     * These classes use an IItemRendererFactory to generate the actual
-     * ItemRenderer instances
-     */
-	public interface IDataProviderItemRendererMapper extends IBead
-	{
-        function get itemRendererFactory():IItemRendererClassFactory;
-        function set itemRendererFactory(value:IItemRendererClassFactory):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IDropDownListView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IDropDownListView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/IDropDownListView.as
deleted file mode 100644
index b90b00c..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IDropDownListView.as
+++ /dev/null
@@ -1,31 +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.staticControls.beads
-{
-    import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.IStrand;
-
-	public interface IDropDownListView extends IBeadView
-	{
-        function get popUp():IStrand;
-        
-        function get popUpVisible():Boolean;
-        function set popUpVisible(value:Boolean):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IGraphicsDrawing.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IGraphicsDrawing.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/IGraphicsDrawing.as
deleted file mode 100644
index dc1ca3d..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IGraphicsDrawing.as
+++ /dev/null
@@ -1,25 +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.staticControls.beads
-{
-	public interface IGraphicsDrawing
-	{
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IListView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IListView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/IListView.as
deleted file mode 100644
index 8e74ff4..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IListView.as
+++ /dev/null
@@ -1,33 +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.staticControls.beads
-{	
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.html.staticControls.supportClasses.Border;
-	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
-
-	public interface IListView
-	{
-        function get border():Border;
-		function get vScrollBar():ScrollBar;
-		function get dataGroup():IItemRendererParent;
-		function get strand():IStrand;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IScrollBarView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IScrollBarView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/IScrollBarView.as
deleted file mode 100644
index dbfe531..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/IScrollBarView.as
+++ /dev/null
@@ -1,36 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-
-	public interface IScrollBarView
-	{
-		function get increment():DisplayObject;
-		function get decrement():DisplayObject;
-		function get track():DisplayObject;
-		function get thumb():DisplayObject;
-		
-		function get scrollBarModel():IScrollBarModel;
-		function get strand():IStrand;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ISliderView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ISliderView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ISliderView.as
deleted file mode 100644
index aa0db41..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ISliderView.as
+++ /dev/null
@@ -1,30 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.core.IBead;
-	
-	public interface ISliderView extends IBead
-	{
-		function get track():DisplayObject;
-		function get thumb():DisplayObject;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ISpinnerView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ISpinnerView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ISpinnerView.as
deleted file mode 100644
index 920024c..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ISpinnerView.as
+++ /dev/null
@@ -1,30 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.core.IBead;
-	
-	public interface ISpinnerView extends IBead
-	{
-		function get increment():DisplayObject;
-		function get decrement():DisplayObject;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ITextFieldView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ITextFieldView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ITextFieldView.as
deleted file mode 100644
index 67fa049..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ITextFieldView.as
+++ /dev/null
@@ -1,27 +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.staticControls.beads
-{
-	import org.apache.flex.core.CSSTextField;
-
-	public interface ITextFieldView
-	{
-		function get textField():CSSTextField;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ITextItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ITextItemRenderer.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ITextItemRenderer.as
deleted file mode 100644
index e73786d..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ITextItemRenderer.as
+++ /dev/null
@@ -1,28 +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.staticControls.beads
-{
-	import org.apache.flex.core.IItemRenderer;
-
-	public interface ITextItemRenderer extends IItemRenderer
-	{
-        function get text():String;
-        function set text(value:String):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageView.as
deleted file mode 100644
index 1171e15..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageView.as
+++ /dev/null
@@ -1,88 +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.staticControls.beads
-{
-	import flash.display.Bitmap;
-	import flash.display.Loader;
-	import flash.display.LoaderInfo;
-	import flash.net.URLRequest;
-	
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IImageModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public class ImageView implements IBeadView
-	{
-		public function ImageView()
-		{
-		}
-		
-		private var bitmap:Bitmap;
-		private var loader:Loader;
-		
-		private var _strand:IStrand;
-		private var _model:IImageModel;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			IEventDispatcher(_strand).addEventListener("widthChanged",handleSizeChange);
-			IEventDispatcher(_strand).addEventListener("heightChanged",handleSizeChange);
-			
-			_model = value.getBeadByType(IImageModel) as IImageModel;
-			_model.addEventListener("urlChanged",handleUrlChange);
-			
-			handleUrlChange(null);
-		}
-		
-		private function handleUrlChange(event:Event):void
-		{
-			if (_model.source) {
-				loader = new Loader();
-				loader.contentLoaderInfo.addEventListener("complete",onComplete);
-				loader.load(new URLRequest(_model.source));
-			}
-		}
-		
-		private function onComplete(event:Object):void
-		{
-			if (bitmap) {
-				UIBase(_strand).removeChild(bitmap);
-			}
-			
-			bitmap = Bitmap(LoaderInfo(event.target).content);
-			
-			UIBase(_strand).addChild(bitmap);
-			
-			handleSizeChange(null);
-		}
-		
-		private function handleSizeChange(event:Object):void
-		{
-			if (bitmap) {
-				bitmap.width = UIBase(_strand).width;
-				bitmap.height = UIBase(_strand).height;
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ListView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ListView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ListView.as
deleted file mode 100644
index b8c9ab9..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ListView.as
+++ /dev/null
@@ -1,170 +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.staticControls.beads
-{	
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IItemRenderer;
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IRollOverModel;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.Strand;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.html.staticControls.beads.models.ScrollBarModel;
-	import org.apache.flex.html.staticControls.beads.models.SingleLineBorderModel;
-	import org.apache.flex.html.staticControls.supportClasses.Border;
-	import org.apache.flex.html.staticControls.supportClasses.NonVirtualDataGroup;
-	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
-
-	public class ListView extends Strand implements IBeadView, IStrand, IListView, ILayoutParent
-	{
-		public function ListView()
-		{
-		}
-						
-		private var listModel:ISelectionModel;
-		
-        private var _border:Border;
-        
-        public function get border():Border
-        {
-            return _border;
-        }
-
-        private var _dataGroup:IItemRendererParent;
-
-		public function get dataGroup():IItemRendererParent
-		{
-			return _dataGroup;
-		}
-		
-		private var _vScrollBar:ScrollBar;
-		
-		public function get vScrollBar():ScrollBar
-		{
-            if (!_vScrollBar)
-                _vScrollBar = createScrollBar();
-			return _vScrollBar;
-		}
-		
-		public function get hScrollBar():ScrollBar
-		{
-			return null;
-		}
-		
-		public function get contentView():DisplayObjectContainer
-		{
-			return _dataGroup as DisplayObjectContainer;
-		}
-		
-		public function get resizableView():DisplayObject
-		{
-			return _strand as DisplayObject;
-		}
-
-		private var _strand:IStrand;
-		
-		public function get strand():IStrand
-		{
-			return _strand;
-		}
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            
-            listModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
-            listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
-            listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
-
-            _border = new Border();
-            _border.model = new SingleLineBorderModel();
-            _border.addBead(new SingleLineBorderBead());
-            IParent(_strand).addElement(_border);
-            
-			_dataGroup = new NonVirtualDataGroup();
-			IParent(_strand).addElement(_dataGroup);
-            
-            if (getBeadByType(IBeadLayout) == null)
-            {
-                var mapper:IBeadLayout = new (ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout")) as IBeadLayout;
-				strand.addBead(mapper);
-            }            
-		}
-		
-		private var lastSelectedIndex:int = -1;
-		
-		private function selectionChangeHandler(event:Event):void
-		{
-			if (lastSelectedIndex != -1)
-			{
-				var ir:IItemRenderer = dataGroup.getItemRendererForIndex(lastSelectedIndex) as IItemRenderer;
-                ir.selected = false;
-			}
-			if (listModel.selectedIndex != -1)
-			{
-	            ir = dataGroup.getItemRendererForIndex(listModel.selectedIndex);
-	            ir.selected = true;
-			}
-            lastSelectedIndex = listModel.selectedIndex;
-		}
-		
-		private var lastRollOverIndex:int = -1;
-		
-		private function rollOverIndexChangeHandler(event:Event):void
-		{
-			if (lastRollOverIndex != -1)
-			{
-				var ir:IItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as IItemRenderer;
-                ir.hovered = false;
-			}
-			if (IRollOverModel(listModel).rollOverIndex != -1)
-			{
-	            ir = dataGroup.getItemRendererForIndex(IRollOverModel(listModel).rollOverIndex);
-	            ir.hovered = true;
-			}
-			lastRollOverIndex = IRollOverModel(listModel).rollOverIndex;
-		}
-			
-		private function createScrollBar():ScrollBar
-		{
-			var vsb:ScrollBar;
-			vsb = new ScrollBar();
-			var vsbm:ScrollBarModel = new ScrollBarModel();
-			vsbm.maximum = 100;
-			vsbm.minimum = 0;
-			vsbm.pageSize = 10;
-			vsbm.pageStepSize = 10;
-			vsbm.snapInterval = 1;
-			vsbm.stepSize = 1;
-			vsbm.value = 0;
-			vsb.model = vsbm;
-			vsb.width = 16;
-            IParent(_strand).addElement(vsb);
-			return vsb;
-		}
-				
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/NumericStepperView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/NumericStepperView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/NumericStepperView.as
deleted file mode 100644
index 27308ef..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/NumericStepperView.as
+++ /dev/null
@@ -1,157 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.createjs.staticControls.Label;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.Spinner;
-	import org.apache.flex.html.staticControls.TextInput;
-	import org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout;
-	import org.apache.flex.html.staticControls.supportClasses.Border;
-	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
-	
-	public class NumericStepperView implements IBeadView, ILayoutParent
-	{
-		public function NumericStepperView()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		private var label:Label;
-		private var input:TextInput;
-		private var spinner:Spinner;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			// add a horizontal layout bead
-			value.addBead(new NonVirtualHorizontalLayout());
-            
-			// add an input field
-			input = new TextInput();
-			IParent(value).addElement(input);
-			
-			// add a spinner
-			spinner = new Spinner();
-			spinner.addBead( UIBase(value).model );
-			IParent(value).addElement(spinner);
-			spinner.width = 17;
-			input.height = spinner.height; // should be spinner.height = input.height but the spinner buttons won't get small enough
-			
-			// listen for changes to the text input field which will reset the
-			// value. ideally, we should either set the input to accept only
-			// numeric values or, barring that, reject non-numeric entries. we
-			// cannot do that right now however.
-			input.model.addEventListener("textChange",inputChangeHandler);
-			
-			// listen for change events on the spinner so the value can be updated as
-			// as resizing the component
-			spinner.addEventListener("valueChanged",spinnerValueChanged);
-			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
-			
-			// listen for changes to the model itself and update the UI accordingly
-			IEventDispatcher(UIBase(value).model).addEventListener("valueChange",modelChangeHandler);
-			IEventDispatcher(UIBase(value).model).addEventListener("minimumChange",modelChangeHandler);
-			IEventDispatcher(UIBase(value).model).addEventListener("maximumChange",modelChangeHandler);
-			IEventDispatcher(UIBase(value).model).addEventListener("stepSizeChange",modelChangeHandler);
-			IEventDispatcher(UIBase(value).model).addEventListener("snapIntervalChange",modelChangeHandler);
-			
-			input.text = String(spinner.value);
-			
-			// set a default size which will trigger the sizeChangeHandler
-			var minWidth:Number = Math.max(50+spinner.width,UIBase(value).width);
-			
-			UIBase(value).width = minWidth;
-			UIBase(value).height = spinner.height;
-		}
-		
-		private function sizeChangeHandler(event:Event) : void
-		{
-			input.x = 2;
-			input.y = (UIBase(_strand).height - input.height)/2;
-			input.width = UIBase(_strand).width-spinner.width-2;
-			spinner.x = input.width+2;
-			spinner.y = 0;
-		}
-		
-		private function spinnerValueChanged(event:Event) : void
-		{
-			input.text = String(spinner.value);
-			
-			var newEvent:Event = new Event(event.type,event.bubbles);
-			IEventDispatcher(_strand).dispatchEvent(newEvent);
-		}
-		
-		private function inputChangeHandler(event:Event) : void
-		{
-			var newValue:Number = Number(input.text);
-
-			if( !isNaN(newValue) ) {
-				spinner.value = newValue;
-			}
-			else {
-				input.text = String(spinner.value);
-			}
-		}
-		
-		private function modelChangeHandler( event:Event ) : void
-		{
-			var n:Number = IRangeModel(UIBase(_strand).model).value;
-			input.text = String(IRangeModel(UIBase(_strand).model).value);
-		}
-		
-		public function get contentView():DisplayObjectContainer
-		{
-			return _strand as DisplayObjectContainer;
-		}
-		
-		public function get border():Border
-		{
-			return null;
-		}
-		
-		public function get vScrollBar():ScrollBar
-		{
-			return null;
-		}
-		
-		public function get hScrollBar():ScrollBar
-		{
-			return null;
-		}
-		
-		public function get resizableView():DisplayObject
-		{
-			return _strand as DisplayObject;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/PanelView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/PanelView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/PanelView.as
deleted file mode 100644
index f7fcd70..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/PanelView.as
+++ /dev/null
@@ -1,119 +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.staticControls.beads
-{
-	import flash.display.Sprite;
-	
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.UIMetrics;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.Container;
-	import org.apache.flex.html.staticControls.ControlBar;
-	import org.apache.flex.html.staticControls.Panel;
-	import org.apache.flex.html.staticControls.TitleBar;
-	import org.apache.flex.utils.BeadMetrics;
-	
-	public class PanelView extends ContainerView implements IBeadView
-	{
-		public function PanelView()
-		{
-			_titleBar = new TitleBar();
-		}
-		
-		private var _titleBar:TitleBar;
-		public function get titleBar():TitleBar
-		{
-			return _titleBar;
-		}
-		
-		private var _controlBar:ControlBar;
-		public function get controlBar():ControlBar
-		{
-			return _controlBar;
-		}
-		
-		private var _strand:IStrand;
-		
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			_strand = value;
-			
-			// replace the TitleBar's model with the Panel's model (it implements ITitleBarModel) so that
-			// any changes to values in the Panel's model that correspond values in the TitleBar will 
-			// be picked up automatically by the TitleBar.
-			titleBar.model = Panel(_strand).model;
-			Container(_strand).addElement(titleBar);
-			
-			var controlBarItems:Array = Panel(_strand).controlBar;
-			if( controlBarItems && controlBarItems.length > 0 ) {
-				_controlBar = new ControlBar();
-				
-				for each(var comp:IUIBase in controlBarItems) {
-					_controlBar.addElement(comp);
-				}
-				
-				Container(_strand).addElement(controlBar);
-			}
-			
-			IEventDispatcher(_strand).addEventListener("childrenAdded", changeHandler);
-            
-		}
-		
-		private function changeHandler(event:Event):void
-		{
-			var metrics:UIMetrics = BeadMetrics.getMetrics(_strand);
-			
-			var w:Number = UIBase(_strand).explicitWidth;
-			if (isNaN(w)) w = Math.max(titleBar.width,actualParent.width+metrics.left+metrics.right,controlBar?controlBar.width:0);
-			
-			var h:Number = UIBase(_strand).explicitHeight;
-			if (isNaN(h)) h = titleBar.height + actualParent.height + (controlBar ? controlBar.height : 0) +
-				metrics.top + metrics.bottom;
-			
-			titleBar.x = 0;
-			titleBar.y = 0;
-			titleBar.width = w;
-			
-			var remainingHeight:Number = h - titleBar.height;
-			
-			if( controlBar ) {
-				controlBar.x = 0;
-				controlBar.y = h - controlBar.height;
-				//controlBar.y = actualParent.y + actualParent.height + metrics.bottom;
-				controlBar.width = w;
-				
-				remainingHeight -= controlBar.height;
-			}
-			
-			actualParent.x = metrics.left;
-			actualParent.y = titleBar.y + titleBar.height + metrics.top;
-			actualParent.width = w;
-			actualParent.height = remainingHeight - metrics.top - metrics.bottom;
-			
-			UIBase(_strand).width = w;
-			UIBase(_strand).height = h;
-		}
-        
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/RadioButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/RadioButtonView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/RadioButtonView.as
deleted file mode 100644
index d356e88..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/RadioButtonView.as
+++ /dev/null
@@ -1,218 +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.staticControls.beads
-{
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.display.Sprite;
-	import flash.text.TextFieldAutoSize;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IValueToggleButtonModel;
-	import org.apache.flex.events.Event;
-	
-	public class RadioButtonView implements IBeadView
-	{
-		public function RadioButtonView()
-		{
-			sprites = [ upSprite = new Sprite(),
-				        downSprite = new Sprite(),
-						overSprite = new Sprite(),
-						upAndSelectedSprite = new Sprite(),
-						downAndSelectedSprite = new Sprite(),
-						overAndSelectedSprite = new Sprite() ];
-			
-			for each( var s:Sprite in sprites )
-			{
-				var tf:CSSTextField = new CSSTextField();
-				tf.type = TextFieldType.DYNAMIC;
-				tf.autoSize = TextFieldAutoSize.LEFT;
-				tf.name = "textField";
-				var icon:Shape = new Shape();
-				icon.name = "icon";
-				s.addChild(icon);
-				s.addChild(tf);
-			}
-		}
-		
-		private var upSprite:Sprite;
-		private var downSprite:Sprite;
-		private var overSprite:Sprite;
-		private var upAndSelectedSprite:Sprite;
-		private var downAndSelectedSprite:Sprite;
-		private var overAndSelectedSprite:Sprite;
-		
-		private var sprites:Array;
-		
-		private var _toggleButtonModel:IValueToggleButtonModel;
-		
-		public function get toggleButtonModel() : IValueToggleButtonModel
-		{
-			return _toggleButtonModel;
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			_toggleButtonModel = value.getBeadByType(IValueToggleButtonModel) as IValueToggleButtonModel;
-			_toggleButtonModel.addEventListener("textChange", textChangeHandler);
-			_toggleButtonModel.addEventListener("htmlChange", htmlChangeHandler);
-			_toggleButtonModel.addEventListener("selectedValueChange", selectedValueChangeHandler);
-			if (_toggleButtonModel.text != null)
-				text = _toggleButtonModel.text;
-			if (_toggleButtonModel.html != null)
-				html = _toggleButtonModel.html;
-			
-			layoutControl();
-			
-			var hitArea:Shape = new Shape();
-			hitArea.graphics.beginFill(0x000000);
-			hitArea.graphics.drawRect(12,0,upSprite.width, upSprite.height);
-			hitArea.graphics.endFill();
-			
-			SimpleButton(value).upState = upSprite;
-			SimpleButton(value).downState = downSprite;
-			SimpleButton(value).overState = overSprite;
-			SimpleButton(value).hitTestState = hitArea;
-			
-			if (toggleButtonModel.text !== null)
-				text = toggleButtonModel.text;
-			if (toggleButtonModel.html !== null)
-				html = toggleButtonModel.html;
-			
-			if (toggleButtonModel.selected && toggleButtonModel.value == value) {
-				selected = true;
-			}
-		}
-		
-		public function get text():String
-		{
-			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
-			return tf.text;
-		}
-		
-		public function set text(value:String):void
-		{
-			for each( var s:Sprite in sprites )
-			{
-				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
-				tf.text = value;
-			}
-			
-			layoutControl();
-		}
-		
-		public function get html():String
-		{
-			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
-			return tf.htmlText;
-		}
-		
-		public function set html(value:String):void
-		{
-			for each(var s:Sprite in sprites)
-			{
-				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
-				tf.htmlText = value;
-			}
-			
-			layoutControl();
-		}
-		
-		private function textChangeHandler(event:Event):void
-		{
-			text = toggleButtonModel.text;
-		}
-		
-		private function htmlChangeHandler(event:Event):void
-		{
-			html = toggleButtonModel.html;
-		}
-		
-		private var _selected:Boolean;
-		
-		public function get selected():Boolean
-		{
-			return _selected;
-		}
-		
-		public function set selected(value:Boolean):void
-		{
-			_selected = value;
-			
-			if( value ) {
-				SimpleButton(_strand).upState = upAndSelectedSprite;
-				SimpleButton(_strand).downState = downAndSelectedSprite;
-				SimpleButton(_strand).overState = overAndSelectedSprite;
-				
-			} else {
-				SimpleButton(_strand).upState = upSprite;
-				SimpleButton(_strand).downState = downSprite;
-				SimpleButton(_strand).overState = overSprite;
-			}
-			
-			layoutControl();
-		}
-		
-		private function selectedValueChangeHandler(event:Event):void
-		{
-			selected = _toggleButtonModel.value == _toggleButtonModel.selectedValue;
-		}
-		
-		protected function layoutControl() : void
-		{
-			for each(var s:Sprite in sprites)
-			{
-				var icon:Shape = s.getChildByName("icon") as Shape;
-				var tf:CSSTextField = s.getChildByName("textField") as CSSTextField;
-				
-				drawRadioButton(icon);
-				
-				var mh:Number = Math.max(icon.height,tf.height);
-				
-				icon.x = 0;
-				icon.y = (mh - icon.height)/2;
-				
-				tf.x = icon.x + icon.width + 1;
-				tf.y = (mh - tf.height)/2;
-			}
-			
-		}
-		
-		protected function drawRadioButton(icon:Shape) : void
-		{
-			icon.graphics.clear();
-			icon.graphics.beginFill(0xCCCCCC);
-			icon.graphics.lineStyle(1,0x333333);
-			icon.graphics.drawEllipse(0,0,10,10);
-			icon.graphics.endFill();
-			
-			if( selected ) {
-				icon.graphics.beginFill(0x555555);
-				icon.graphics.drawEllipse(2,2,6,6);
-				icon.graphics.endFill();
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ScrollBarView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ScrollBarView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ScrollBarView.as
deleted file mode 100644
index d698037..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ScrollBarView.as
+++ /dev/null
@@ -1,104 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.Strand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.html.staticControls.Button;
-	import org.apache.flex.html.staticControls.beads.controllers.ButtonAutoRepeatController;
-
-	public class ScrollBarView extends Strand implements IBeadView, IStrand, IScrollBarView
-	{
-		public function ScrollBarView()
-		{
-		}
-		
-		public function get scrollBarModel():IScrollBarModel
-		{
-			return sbModel;
-		}
-		
-		private var sbModel:IScrollBarModel;
-		
-		private var _strand:IStrand;
-		
-		public function get strand():IStrand
-		{
-			return _strand;
-		}
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			sbModel = value.getBeadByType(IScrollBarModel) as IScrollBarModel;
-            
-            // TODO: (aharui) put in values impl
-			_increment = new Button();
-			Button(_increment).addBead(new DownArrowButtonView());
-            Button(_increment).addBead(new ButtonAutoRepeatController());
-			_decrement = new Button();
-			Button(_decrement).addBead(new UpArrowButtonView());
-            Button(_decrement).addBead(new ButtonAutoRepeatController());
-			_track = new Button();				
-			Button(_track).addBead(new VScrollBarTrackView());
-			_thumb = new Button();				
-			Button(_thumb).addBead(new VScrollBarThumbView());
-            
-            UIBase(value).addChild(_decrement);
-            UIBase(value).addChild(_increment);
-            UIBase(value).addChild(_track);
-            UIBase(value).addChild(_thumb);
-            
-            if( getBeadByType(IBeadLayout) == null ) {
-                var layout:IBeadLayout = new (ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout")) as IBeadLayout;
-                addBead(layout);
-            }
-            
-		}
-						
-		private var _decrement:DisplayObject;
-		private var _increment:DisplayObject;
-		private var _track:DisplayObject;
-		private var _thumb:DisplayObject;
-		
-		public function get decrement():DisplayObject
-		{
-			return _decrement;
-		}
-		public function get increment():DisplayObject
-		{
-			return _increment;
-		}
-		public function get track():DisplayObject
-		{
-			return _track;
-		}
-		public function get thumb():DisplayObject
-		{
-			return _thumb;
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SimpleAlertView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SimpleAlertView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/SimpleAlertView.as
deleted file mode 100644
index b5748d0..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SimpleAlertView.as
+++ /dev/null
@@ -1,118 +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.staticControls.beads
-{
-	import org.apache.flex.core.IAlertModel;
-	import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IParent;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.UIMetrics;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.Label;
-	import org.apache.flex.html.staticControls.TextButton;
-	import org.apache.flex.utils.BeadMetrics;
-	
-	public class SimpleAlertView implements IBeadView
-	{
-		public function SimpleAlertView()
-		{
-		}
-		
-		private var messageLabel:Label;
-		private var okButton:TextButton;
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            
-			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
-			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(value, "background-image");
-			if (backgroundColor != null || backgroundImage != null)
-			{
-				if (value.getBeadByType(IBackgroundBead) == null)
-					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);					
-			}
-			
-			var borderStyle:String;
-			var borderStyles:Object = ValuesManager.valuesImpl.getValue(value, "border");
-			if (borderStyles is Array)
-			{
-				borderStyle = borderStyles[1];
-			}
-			if (borderStyle == null)
-			{
-				borderStyle = ValuesManager.valuesImpl.getValue(value, "border-style") as String;
-			}
-			if (borderStyle != null && borderStyle != "none")
-			{
-				if (value.getBeadByType(IBorderBead) == null)
-					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);	
-			}
-			
-			var model:IAlertModel = _strand.getBeadByType(IAlertModel) as IAlertModel;
-			model.addEventListener("messageChange",handleMessageChange);
-			model.addEventListener("htmlMessageChange",handleMessageChange);
-
-            messageLabel = new Label();
-			messageLabel.text = model.message;
-			messageLabel.html = model.htmlMessage;
-			IParent(_strand).addElement(messageLabel);
-			
-			okButton = new TextButton();
-			okButton.text = model.okLabel;
-			IParent(_strand).addElement(okButton);
-			okButton.addEventListener("click",handleOK);
-			
-			handleMessageChange(null);
-		}
-		
-		private function handleMessageChange(event:Event):void
-		{
-			var ruler:IMeasurementBead = messageLabel.getBeadByType(IMeasurementBead) as IMeasurementBead;
-			if( ruler == null ) {
-				messageLabel.addBead(ruler = new (ValuesManager.valuesImpl.getValue(messageLabel, "iMeasurementBead")) as IMeasurementBead);
-			}
-			var maxWidth:Number = Math.max(UIBase(_strand).width,ruler.measuredWidth);
-			
-			var metrics:UIMetrics = BeadMetrics.getMetrics(_strand);
-			
-			messageLabel.x = metrics.left;
-			messageLabel.y = metrics.top;
-			messageLabel.width = maxWidth;
-			
-			okButton.x = (maxWidth - okButton.width)/2;
-			okButton.y = messageLabel.y + messageLabel.height + 20;
-			
-			UIBase(_strand).width = maxWidth + metrics.left + metrics.right;
-			UIBase(_strand).height = okButton.y + okButton.height + metrics.bottom;
-		}
-		
-		private function handleOK(event:Event):void
-		{
-			var newEvent:Event = new Event("close");
-			IEventDispatcher(_strand).dispatchEvent(newEvent);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SingleLineBorderBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SingleLineBorderBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/SingleLineBorderBead.as
deleted file mode 100644
index 5886073..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SingleLineBorderBead.as
+++ /dev/null
@@ -1,73 +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.staticControls.beads
-{
-	import flash.display.Graphics;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-
-	public class SingleLineBorderBead implements IBead, IBorderBead, IGraphicsDrawing
-	{
-		public function SingleLineBorderBead()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		public function get strand():IStrand
-		{
-			return _strand;
-		}
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
-            IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
-		}
-		        
-		private function changeHandler(event:Event):void
-		{
-			var styleObject:* = ValuesManager.valuesImpl.getValue(_strand,"border-color");
-			var borderColor:Number = Number(styleObject);
-			if( isNaN(borderColor) ) borderColor = 0x000000;
-			styleObject = ValuesManager.valuesImpl.getValue(_strand,"border-thickness");
-			var borderThickness:Number = Number(styleObject);
-			if( isNaN(borderThickness) ) borderThickness = 1;
-			
-            var host:UIBase = UIBase(_strand);
-            var g:Graphics = host.graphics;
-            var w:Number = host.width;
-            var h:Number = host.height;
-			
-			var gd:IGraphicsDrawing = strand.getBeadByType(IGraphicsDrawing) as IGraphicsDrawing;
-			if( this == gd ) g.clear();
-			
-			g.lineStyle();
-            g.beginFill(borderColor);
-            g.drawRect(0, 0, w, h);
-            g.drawRect(borderThickness, borderThickness, w-2*borderThickness, h-2*borderThickness);
-            g.endFill();
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SliderThumbView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SliderThumbView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/SliderThumbView.as
deleted file mode 100644
index b6a94f4..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SliderThumbView.as
+++ /dev/null
@@ -1,83 +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.staticControls.beads
-{
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public class SliderThumbView implements IBeadView
-	{
-		public function SliderThumbView()
-		{
-			hitArea = new Shape();
-			upView = new Shape();
-			downView = new Shape();
-			overView = new Shape();
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-			g.clear();
-			g.lineStyle(1,0x000000);
-			g.beginFill(bgColor);
-			g.drawCircle(SimpleButton(_strand).width/2, SimpleButton(_strand).height/2, 10);
-			g.endFill();
-		}
-		
-		private var _strand:IStrand;
-		
-		private var hitArea:Shape;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			drawView(hitArea.graphics, 0xDD0000);
-			drawView(upView.graphics, 0xFFFFFF);
-			drawView(downView.graphics, 0x999999);
-			drawView(overView.graphics, 0xDDDDDD);
-			
-			SimpleButton(value).upState = upView;
-			SimpleButton(value).downState = downView;
-			SimpleButton(value).overState = overView;
-			SimpleButton(value).hitTestState = hitArea;
-			
-			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
-		}
-		
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-		
-		private function sizeChangeHandler( event:Event ) : void
-		{
-			drawView(hitArea.graphics, 0xDD0000);
-			drawView(upView.graphics, 0xFFFFFF);
-			drawView(downView.graphics, 0x999999);
-			drawView(overView.graphics, 0xDDDDDD);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SliderTrackView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SliderTrackView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/SliderTrackView.as
deleted file mode 100644
index 6dcc5ae..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SliderTrackView.as
+++ /dev/null
@@ -1,83 +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.staticControls.beads
-{
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public class SliderTrackView implements IBeadView
-	{
-		public function SliderTrackView()
-		{
-			hitArea = new Shape();
-			upView = new Shape();
-			downView = new Shape();
-			overView = new Shape();
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-			g.clear();
-			g.lineStyle(1,0x000000);
-			g.beginFill(bgColor);
-			g.drawRect(0, 0, SimpleButton(_strand).width, SimpleButton(_strand).height);
-			g.endFill();
-		}
-		
-		private var _strand:IStrand;
-		
-		private var hitArea:Shape;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			drawView(hitArea.graphics, 0xDD0000);
-			drawView(upView.graphics, 0xCCCCCC);
-			drawView(downView.graphics, 0x808080);
-			drawView(overView.graphics, 0xEEEEEE);
-			
-			SimpleButton(value).upState = upView;
-			SimpleButton(value).downState = downView;
-			SimpleButton(value).overState = overView;
-			SimpleButton(value).hitTestState = hitArea;
-			
-			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
-		}
-		
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-		
-		private function sizeChangeHandler( event:Event ) : void
-		{
-			drawView(hitArea.graphics, 0xDD0000);
-			drawView(upView.graphics, 0xCCCCCC);
-			drawView(downView.graphics, 0x808080);
-			drawView(overView.graphics, 0xEEEEEE);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SliderView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SliderView.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/SliderView.as
deleted file mode 100644
index a969c25..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SliderView.as
+++ /dev/null
@@ -1,129 +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.staticControls.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.Sprite;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.staticControls.Button;
-	
-	public class SliderView implements ISliderView, IBeadView
-	{
-		public function SliderView()
-		{
-		}
-		
-		private var rangeModel:IRangeModel;
-		
-		private var _strand:IStrand;
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			_track = new Button();
-			Button(_track).addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iTrackView")) as IBead);
-			
-			_thumb = new Button();
-			Button(_thumb).addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iThumbView")) as IBead);
-			
-			UIBase(_strand).addChild(_track);
-			UIBase(_strand).addChild(_thumb);
-			
-			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
-			
-			rangeModel = _strand.getBeadByType(IBeadModel) as IRangeModel;
-			
-			// listen for changes to the model and adjust the UI accordingly.
-			IEventDispatcher(rangeModel).addEventListener("valueChange",modelChangeHandler);
-			IEventDispatcher(rangeModel).addEventListener("minimumChange",modelChangeHandler);
-			IEventDispatcher(rangeModel).addEventListener("maximumChange",modelChangeHandler);
-			IEventDispatcher(rangeModel).addEventListener("stepSizeChange",modelChangeHandler);
-			IEventDispatcher(rangeModel).addEventListener("snapIntervalChange",modelChangeHandler);
-			
-			// set a minimum size to trigger the size change handler
-			var needsSizing:Boolean = true;
-			if( UIBase(_strand).width < 100 ) {
-				UIBase(_strand).width = 100;
-				needsSizing = false;
-			}
-			if( UIBase(_strand).height < 30 ) {
-				UIBase(_strand).height = 30;
-				needsSizing = false;
-			}
-			
-			if( needsSizing ) sizeChangeHandler(null);
-		}
-		
-		private var _track:DisplayObject;
-		private var _thumb:DisplayObject;
-		
-		public function get track():DisplayObject
-		{
-			return _track;
-		}
-		
-		public function get thumb():DisplayObject
-		{
-			return _thumb;
-		}
-		
-		private function sizeChangeHandler( event:Event ) : void
-		{
-			var w:Number = UIBase(_strand).width;
-			var h:Number = UIBase(_strand).height;
-			
-			_thumb.width = 20;
-			_thumb.height = UIBase(_strand).height;
-			
-			_thumb.x = 10;
-			_thumb.y = 0;
-			
-			// the track is inset 1/2 of the thumbwidth so the thumb can
-			// overlay the track on either end with the thumb center being
-			// on the track's edge
-			_track.width = UIBase(_strand).width - _thumb.width;
-			_track.height = 5;
-			_track.x = _thumb.width/2;
-			_track.y = (UIBase(_strand).height - _track.height)/2;
-		}
-		
-		private function modelChangeHandler( event:Event ) : void
-		{
-			setThumbPositionFromValue(rangeModel.value);
-		}
-		
-		private function setThumbPositionFromValue( value:Number ) : void
-		{
-			var p:Number = (value-rangeModel.minimum)/(rangeModel.maximum-rangeModel.minimum);
-			var xloc:Number = p*(UIBase(_strand).width - _thumb.width);
-			
-			_thumb.x = xloc;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SolidBackgroundBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SolidBackgroundBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/SolidBackgroundBead.as
deleted file mode 100644
index 90dbbb4..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/SolidBackgroundBead.as
+++ /dev/null
@@ -1,101 +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.staticControls.beads
-{
-	import flash.display.Graphics;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-
-	public class SolidBackgroundBead implements IBead, IBackgroundBead, IGraphicsDrawing
-	{
-		public function SolidBackgroundBead()
-		{
-		}
-				
-		private var _strand:IStrand;
-		
-		public function get strand():IStrand
-		{
-			return _strand;
-		}
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
-            IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
-			
-			var bgColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
-			if( bgColor != null ) {
-				backgroundColor = uint(bgColor);
-			}
-			
-			var bgAlpha:Object = ValuesManager.valuesImpl.getValue(value, "opacity");
-			if( bgAlpha != null ) {
-				opacity = Number(bgAlpha);
-			}
-		}
-		
-		private var _backgroundColor:uint;
-		
-		public function get backgroundColor():uint
-		{
-			return _backgroundColor;
-		}
-		public function set backgroundColor(value:uint):void
-		{
-			_backgroundColor = value;
-			if (_strand)
-				changeHandler(null);
-		}
-		
-		private var _opacity:Number = 1.0;
-		
-		public function get opacity():Number
-		{
-			return _opacity;
-		}
-		
-		public function set opacity(value:Number):void
-		{
-			_opacity = value;
-			if( _strand )
-				changeHandler(null);
-		}
-		
-		private function changeHandler(event:Event):void
-		{
-            var host:UIBase = UIBase(_strand);
-            var g:Graphics = host.graphics;
-            var w:Number = host.width;
-            var h:Number = host.height;
-			
-			var gd:IGraphicsDrawing = strand.getBeadByType(IGraphicsDrawing) as IGraphicsDrawing;
-			if( this == gd ) g.clear();
-
-            g.beginFill(backgroundColor,opacity);
-            g.drawRect(0, 0, w, h);
-            g.endFill();
-		}
-	}
-}
\ No newline at end of file


[18/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/PropertyWatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/PropertyWatcher.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/PropertyWatcher.as
new file mode 100644
index 0000000..bde39e6
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/PropertyWatcher.as
@@ -0,0 +1,156 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.binding
+{	
+    import org.apache.flex.events.Event;
+    import org.apache.flex.events.IEventDispatcher;
+    import org.apache.flex.events.ValueChangeEvent;
+
+	public class PropertyWatcher extends WatcherBase
+	{
+		public function PropertyWatcher(source:Object, propertyName:String, eventNames:Object, 
+                                            getterFunction:Function)
+		{
+            this.source = source;
+            this.propertyName = propertyName;
+            this.getterFunction = getterFunction;
+            this.eventNames = eventNames;
+            
+		}
+		
+		public var source:Object;
+        public var propertyName:String;
+        public var eventNames:Object;
+        public var getterFunction:Function;
+		
+        protected function changeHandler(event:Event):void
+        {
+            if (event is ValueChangeEvent)
+            {
+                var propName:String = ValueChangeEvent(event).propertyName;
+                
+                if (propName != propertyName)
+                    return;
+            }
+            
+            wrapUpdate(updateProperty);
+            
+            notifyListeners();
+            
+        }
+        
+        //--------------------------------------------------------------------------
+        //
+        //  Overridden methods: Watcher
+        //
+        //--------------------------------------------------------------------------
+        
+        /**
+         *  If the parent has changed we need to update ourselves
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+        override public function parentChanged(parent:Object):void
+        {
+            if (source && source is IEventDispatcher)
+                removeEventListeners();
+
+            source = parent;
+            
+            if (source)
+                addEventListeners();
+            
+            // Now get our property.
+            wrapUpdate(updateProperty);
+        }
+
+        private function addEventListeners():void
+        {
+            if (eventNames is String)
+                source.addEventListener(eventNames as String, changeHandler);
+            else if (eventNames is Array)
+            {
+                var arr:Array = eventNames as Array;
+                var n:int = arr.length;
+                for (var i:int = 0; i < n; i++)
+                {
+                    var eventName:String = eventNames[i];
+                    source.addEventListener(eventName, changeHandler);           
+                }
+            }
+        }
+        
+        private function removeEventListeners():void
+        {
+            if (eventNames is String)
+                source.removeEventListener(eventNames as String, changeHandler);
+            else if (eventNames is Array)
+            {
+                var arr:Array = eventNames as Array;
+                var n:int = arr.length;
+                for (var i:int = 0; i < n; i++)
+                {
+                    var eventName:String = eventNames[i];
+                    source.removeEventListener(eventName, changeHandler);           
+                }
+            }
+        }
+        
+        /**
+         *  Gets the actual property then updates
+         *  the Watcher's children appropriately.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+        private function updateProperty():void
+        {
+            if (source)
+            {
+                if (propertyName == "this")
+                {
+                    value = source;
+                }
+                else
+                {
+                    if (getterFunction != null)
+                    {
+                        value = getterFunction.apply(source, [ propertyName ]);
+                    }
+                    else
+                    {
+                        value = source[propertyName];
+                    }
+                }
+            }
+            else
+            {
+                value = null;
+            }
+            
+            updateChildren();
+        }
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/SimpleBinding.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/SimpleBinding.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/SimpleBinding.as
new file mode 100644
index 0000000..bab9378
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/SimpleBinding.as
@@ -0,0 +1,64 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.binding
+{	
+	import flash.events.IEventDispatcher;
+	import flash.events.Event;
+
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IDocument;
+
+	public class SimpleBinding implements IBead, IDocument
+	{
+		public function SimpleBinding()
+		{
+		}
+		
+		protected var source:IEventDispatcher;
+		protected var document:Object;
+		protected var destination:Object;
+
+		public var sourceID:String;
+		public var sourcePropertyName:String;
+		public var eventName:String;
+		public var destinationPropertyName:String;
+		
+		public function set strand(value:IStrand):void
+		{
+			destination = value;
+            if (sourceID != null)
+    			source = document[sourceID] as IEventDispatcher;
+            else
+                source = document as IEventDispatcher;
+			source.addEventListener(eventName, changeHandler);
+			destination[destinationPropertyName] = source[sourcePropertyName];
+		}
+		
+		public function setDocument(document:Object, id:String = null):void
+		{
+			this.document = document;
+		}
+		
+		private function changeHandler(event:Event):void
+		{
+			destination[destinationPropertyName] = source[sourcePropertyName];
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/WatcherBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/WatcherBase.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/WatcherBase.as
new file mode 100644
index 0000000..47d4286
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/binding/WatcherBase.as
@@ -0,0 +1,236 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.binding
+{
+    
+    public class WatcherBase
+    {
+        //--------------------------------------------------------------------------
+        //
+        //  Constructor
+        //
+        //--------------------------------------------------------------------------
+        
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+        public function WatcherBase()
+        {
+            super();
+        }
+        
+        //--------------------------------------------------------------------------
+        //
+        //  Variables
+        //
+        //--------------------------------------------------------------------------
+        
+        /**
+         *  @private
+         *  The binding objects that are listening to this Watcher.
+         *  The standard event mechanism isn't used because it's too heavyweight.
+         */
+        protected var listeners:Array;
+        
+        /**
+         *  @private
+         *  Children of this watcher are watching sub values.
+         */
+        protected var children:Array;
+        
+        /**
+         *  @private
+         *  The value itself.
+         */
+        public var value:Object;
+        
+        //--------------------------------------------------------------------------
+        //
+        //  Methods
+        //
+        //--------------------------------------------------------------------------
+        
+        /**
+         *  @private
+         *  This is an abstract method that subclasses implement.
+         */
+        public function parentChanged(parent:Object):void
+        {
+        }
+        
+        /**
+         *  @private
+         *  Add a child to this watcher, meaning that the child
+         *  is watching a sub value of ours.
+         */
+        public function addChild(child:WatcherBase):void
+        {
+            if (!children)
+                children = [ child ];
+            else
+                children.push(child);
+            
+            child.parentChanged(this);
+        }
+        
+        /**
+         *  @private
+         *  Add a binding to this watcher, meaning that the binding
+         *  is notified when our value changes.
+         */
+        public function addBinding(binding:GenericBinding):void
+        {
+            if (!listeners)
+                listeners = [ binding ];
+            else
+                listeners.push(binding);
+            
+            binding.valueChanged(value);
+        }
+                
+        /**
+         *  We have probably changed, so go through
+         *  and make sure our children are updated.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Flex 3
+         */
+        public function updateChildren():void
+        {
+            if (children)
+            {
+                var n:int = children.length;
+                for (var i:int = 0; i < n; ++i)
+                {
+                    children[i].parentChanged(this);
+                }
+            }
+        }
+        
+        /**
+         *  @private
+         */
+        private function valueChanged(oldval:Object):Boolean
+        {
+            if (oldval == null && value == null)
+                return false;
+            
+            var valType:String = typeof(value);
+            
+            // The first check is meant to catch the delayed instantiation case
+            // where a control comes into existence but its value is still
+            // the equivalent of not having been filled in.
+            // Otherwise we simply return whether the value has changed.
+            
+            if (valType == "string")
+            {
+                if (oldval == null && value == "")
+                    return false;
+                else
+                    return oldval != value;
+            }
+            
+            if (valType == "number")
+            {
+                if (oldval == null && value == 0)
+                    return false;
+                else
+                    return oldval != value;
+            }
+            
+            if (valType == "boolean")
+            {
+                if (oldval == null && value == false)
+                    return false;
+                else
+                    return oldval != value;
+            }
+            
+            return true;
+        }
+        
+        /**
+         *  @private
+         */
+        protected function wrapUpdate(wrappedFunction:Function):void
+        {
+            try
+            {
+                wrappedFunction.apply(this);
+            }
+            catch(error:Error)
+            {
+                var n:int = allowedErrorTypes.length;
+                for (var i:int = 0; i < n; i++)
+                {
+                    if (error is allowedErrorTypes[i].type)
+                    {
+                        var handler:Function = allowedErrorTypes[i].handler;
+                        if (handler != null)
+                            value = handler(this, wrappedFunction);
+                        else
+                            value = null;
+                    }
+                }
+                
+                if (allowedErrors.indexOf(error.errorID) == -1)
+                    throw error;
+            }
+        }
+        
+        // Certain errors are normal when executing an update, so we swallow them:
+        public static var allowedErrors:Array = [
+            1006, //   Error #1006: Call attempted on an object that is not a function.
+            1009, //   Error #1009: null has no properties.
+            1010, //   Error #1010: undefined has no properties.
+            1055, //   Error #1055: - has no properties.
+            1069, //   Error #1069: Property - not found on - and there is no default value
+            1507 //   Error #1507: - invalid null argument.
+            ];
+        
+        public static var allowedErrorTypes:Array = [
+            { type: RangeError /*, handler: function(w:WatcherBase, wrappedFunction:Function):Object { return null }*/ }
+            ];
+        
+        /**
+         *  @private
+         */
+        public function notifyListeners():void
+        {
+            if (listeners)
+            {
+                var n:int = listeners.length;
+                
+                for (var i:int = 0; i < n; i++)
+                {
+                    listeners[i].valueChanged(value);
+                }
+            }
+        }
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/Application.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/Application.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/Application.as
new file mode 100644
index 0000000..a126b6f
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/Application.as
@@ -0,0 +1,167 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.Sprite;
+    import flash.display.StageAlign;
+    import flash.display.StageScaleMode;
+    import flash.events.IOErrorEvent;
+    
+    import org.apache.flex.events.Event;
+    import org.apache.flex.utils.MXMLDataInterpreter;
+    
+    //--------------------------------------
+    //  Events
+    //--------------------------------------
+    
+    /**
+     *  Dispatched at startup.
+     */
+    [Event(name="initialize", type="org.apache.flex.events.Event")]
+    
+    public class Application extends Sprite implements IStrand, IFlexInfo, IParent
+    {
+        public function Application()
+        {
+            super();
+			if (stage)
+			{
+				stage.align = StageAlign.TOP_LEFT;
+				stage.scaleMode = StageScaleMode.NO_SCALE;
+			}
+			
+            loaderInfo.addEventListener(flash.events.Event.INIT, initHandler);
+        }
+
+        private function initHandler(event:flash.events.Event):void
+        {
+            ValuesManager.valuesImpl = valuesImpl;
+            ValuesManager.valuesImpl.init(this);
+
+            dispatchEvent(new Event("initialize"));
+
+            initialView.applicationModel =  model;
+    	    this.addElement(initialView);
+    	    dispatchEvent(new Event("viewChanged"));
+        }
+
+        public var valuesImpl:IValuesImpl;
+
+        public var initialView:ViewBase;
+
+        public var model:Object;
+
+        public var controller:Object;
+
+        public function get MXMLDescriptor():Array
+        {
+            return null;
+        }
+
+    	public function generateMXMLAttributes(data:Array):void
+        {
+			MXMLDataInterpreter.generateMXMLProperties(this, data);
+        }
+        
+        // beads declared in MXML are added to the strand.
+        // from AS, just call addBead()
+        public var beads:Array;
+        
+        private var _beads:Vector.<IBead>;
+        public function addBead(bead:IBead):void
+        {
+            if (!_beads)
+                _beads = new Vector.<IBead>;
+            _beads.push(bead);
+            bead.strand = this;
+        }
+        
+        public function getBeadByType(classOrInterface:Class):IBead
+        {
+            for each (var bead:IBead in _beads)
+            {
+                if (bead is classOrInterface)
+                    return bead;
+            }
+            return null;
+        }
+        
+        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;
+        }
+        
+        public function get info():Object
+        {
+            return {};           
+        }
+        
+        public function addElement(c:Object):void
+        {
+            if (c is IUIBase)
+            {
+                addChild(IUIBase(c).element as DisplayObject);
+                IUIBase(c).addedToParent();
+            }
+            else
+                addChild(c as DisplayObject);
+        }
+        
+        public function addElementAt(c:Object, index:int):void
+        {
+            if (c is IUIBase)
+            {
+                addChildAt(IUIBase(c).element as DisplayObject, index);
+                IUIBase(c).addedToParent();
+            }
+            else
+                addChildAt(c as DisplayObject, index);
+        }
+
+        public function getElementIndex(c:Object):int
+        {
+            if (c is IUIBase)
+                return getChildIndex(IUIBase(c).element as DisplayObject);
+
+            return getChildIndex(c as DisplayObject);
+        }
+        
+        public function removeElement(c:Object):void
+        {
+            if (c is IUIBase)
+            {
+                removeChild(IUIBase(c).element as DisplayObject);
+            }
+            else
+                removeChild(c as DisplayObject);
+        }
+        
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/CSSTextField.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/CSSTextField.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/CSSTextField.as
new file mode 100644
index 0000000..ed1c87b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/CSSTextField.as
@@ -0,0 +1,59 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.text.TextField;
+	import flash.text.TextFormat;
+	
+	import org.apache.flex.core.ValuesManager;
+		
+	public class CSSTextField extends TextField
+	{
+		public function CSSTextField()
+		{
+			super();
+		}
+		
+		// if used as the display object in a button, parent is null and
+		// the css lookup doesn't work.  This will be used if parent is 
+		// null.
+		public var styleParent:Object;
+		
+		override public function set text(value:String):void
+		{
+			var sp:Object = parent;
+			if (!sp)
+				sp = styleParent;
+			
+			var tf: TextFormat = new TextFormat();
+			tf.font = ValuesManager.valuesImpl.getValue(sp, "fontFamily") as String;
+			tf.size = ValuesManager.valuesImpl.getValue(sp, "fontSize");
+			tf.bold = ValuesManager.valuesImpl.getValue(sp, "fontWeight") == "bold";
+			tf.color = ValuesManager.valuesImpl.getValue(sp, "color");
+			var padding:Object = ValuesManager.valuesImpl.getValue(sp, "padding");
+			if (padding != null)
+			{
+				tf.leftMargin = padding;
+				tf.rightMargin = padding;
+			}
+			defaultTextFormat = tf;
+			super.text = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IAlertModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IAlertModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IAlertModel.as
new file mode 100644
index 0000000..03707cc
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IAlertModel.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 org.apache.flex.core
+{
+	import org.apache.flex.events.IEventDispatcher;
+	
+	public interface IAlertModel extends IEventDispatcher, IBeadModel
+	{
+		function get title():String;
+		function set title(value:String):void;
+		
+		function get htmlTitle():String;
+		function set htmlTitle(value:String):void;
+		
+		function get message():String;
+		function set message(value:String):void;
+		
+		function get htmlMessage():String;
+		function set htmlMessage(value:String):void;
+		
+		function get flags():uint;
+		function set flags(value:uint):void;
+		
+		function get okLabel():String;
+		function set okLabel(value:String):void;
+		
+		function get cancelLabel():String;
+		function set cancelLabel(value:String):void;
+		
+		function get yesLabel():String;
+		function set yesLabel(value:String):void;
+		
+		function get noLabel():String;
+		function set noLabel(value:String):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBead.as
new file mode 100644
index 0000000..5367708
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBead.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface IBead
+	{
+		function set strand(value:IStrand):void
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadController.as
new file mode 100644
index 0000000..fa5a8f8
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadController.as
@@ -0,0 +1,28 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	/** 
+	 *  Marker interface for Controllers
+	 */
+	public interface IBeadController extends IBead
+	{
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadLayout.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadLayout.as
new file mode 100644
index 0000000..662c99c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadLayout.as
@@ -0,0 +1,28 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	/** 
+	 *  Marker interface for Layouts
+	 */
+	public interface IBeadLayout extends IBead
+	{
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadModel.as
new file mode 100644
index 0000000..b339984
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadModel.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.core
+{
+	import org.apache.flex.events.IEventDispatcher;
+
+	/** 
+	 *  Marker interface for models
+	 */
+	public interface IBeadModel extends IBead, IEventDispatcher
+	{
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadView.as
new file mode 100644
index 0000000..57704b5
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBeadView.as
@@ -0,0 +1,28 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+
+	/** 
+	 *  Marker interface for Views
+	 */
+	public interface IBeadView extends IBead
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBorderModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBorderModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBorderModel.as
new file mode 100644
index 0000000..334ffd8
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IBorderModel.as
@@ -0,0 +1,27 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.geom.Rectangle;
+
+	public interface IBorderModel extends IBead, IBeadModel
+	{
+		function get offsets():Rectangle;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IChrome.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IChrome.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IChrome.as
new file mode 100644
index 0000000..c53a94d
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IChrome.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	/**
+	 * Items that implement IChrome are designating themselves as being attached
+	 * to their parent in a way that's different from normal content. For example,
+	 * to a Container, a child being added that's an IChrome implementor will be
+	 * added outside of the content area.
+	 */
+	public interface IChrome
+	{
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IComboBoxModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IComboBoxModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IComboBoxModel.as
new file mode 100644
index 0000000..f68638b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IComboBoxModel.as
@@ -0,0 +1,40 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.events.IEventDispatcher;
+	
+	public interface IComboBoxModel extends IEventDispatcher, IBeadModel
+	{
+		function get text():String;
+		function set text(value:String):void;
+		
+		function get html():String;
+		function set html(value:String):void;
+		
+		function get dataProvider():Object;
+		function set dataProvider(value:Object):void;
+		
+		function get selectedIndex():int;
+		function set selectedIndex(value:int):void;
+		
+		function get selectedItem():Object;
+		function set selectedItem(value:Object):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IContainer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IContainer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IContainer.as
new file mode 100644
index 0000000..630bdbc
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IContainer.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+    public interface IContainer extends IParent
+	{
+		function childrenAdded():void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as
new file mode 100644
index 0000000..606d938
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface IDataGridModel extends ISelectionModel
+	{
+		function get labelFields():Object;
+		function set labelFields(value:Object):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridPresentationModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridPresentationModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridPresentationModel.as
new file mode 100644
index 0000000..34a5d84
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridPresentationModel.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.events.IEventDispatcher;
+	
+	public interface IDataGridPresentationModel extends IEventDispatcher, IBead
+	{
+		function get columnLabels():Array;
+		function set columnLabels(value:Array):void;
+		
+		function get rowHeight():Number;
+		function set rowHeight(value:Number):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDocument.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDocument.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDocument.as
new file mode 100644
index 0000000..03bdce8
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDocument.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface IDocument
+	{
+		function setDocument(document:Object, id:String = null):void
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IFlexInfo.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IFlexInfo.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IFlexInfo.as
new file mode 100644
index 0000000..0bd8357
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IFlexInfo.as
@@ -0,0 +1,29 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+    /**
+     * An object of various properties and values that are not otherwise
+     * linked in by hard class references, like styles, rsls, mixins.
+     */
+	public interface IFlexInfo
+	{
+		function get info():Object
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IImageModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IImageModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IImageModel.as
new file mode 100644
index 0000000..dc924eb
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IImageModel.as
@@ -0,0 +1,28 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.events.IEventDispatcher;
+
+	public interface IImageModel extends IEventDispatcher, IBeadModel
+	{
+		function get source():String;
+		function set source(value:String):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IItemRenderer.as
new file mode 100644
index 0000000..5f7f685
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IItemRenderer.as
@@ -0,0 +1,40 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.events.IEventDispatcher;
+
+	public interface IItemRenderer extends IEventDispatcher
+	{
+		function get data():Object;
+		function set data(value:Object):void;
+		
+		function get index():int;
+		function set index(value:int):void;
+		
+		function get selected():Boolean;
+		function set selected(value:Boolean):void;
+        
+        function get hovered():Boolean;
+        function set hovered(value:Boolean):void;
+
+        function get down():Boolean;
+        function set down(value:Boolean):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IItemRendererClassFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IItemRendererClassFactory.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IItemRendererClassFactory.as
new file mode 100644
index 0000000..5f8c751
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IItemRendererClassFactory.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface IItemRendererClassFactory extends IBead
+	{
+		function createItemRenderer(parent:IItemRendererParent):IItemRenderer;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IItemRendererParent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IItemRendererParent.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IItemRendererParent.as
new file mode 100644
index 0000000..0095b2e
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IItemRendererParent.as
@@ -0,0 +1,29 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.events.IEventDispatcher;
+
+	public interface IItemRendererParent extends IParent, IEventDispatcher
+	{
+		function getItemRendererForIndex(index:int):IItemRenderer;
+		function removeAllElements():void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ILayoutParent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ILayoutParent.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ILayoutParent.as
new file mode 100644
index 0000000..3604b37
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ILayoutParent.as
@@ -0,0 +1,38 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.staticControls.supportClasses.Border;
+	import org.apache.flex.html.staticControls.supportClasses.ScrollBar;
+
+	public interface ILayoutParent
+	{
+		function get contentView():DisplayObjectContainer;
+		
+		function get border():Border;
+		
+		function get vScrollBar():ScrollBar;
+		function get hScrollBar():ScrollBar;
+		
+		function get resizableView():DisplayObject;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IMeasurementBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IMeasurementBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IMeasurementBead.as
new file mode 100644
index 0000000..3e294f4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IMeasurementBead.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface IMeasurementBead extends IBead
+	{
+		function get measuredWidth():Number;
+		function get measuredHeight():Number;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IPanelModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IPanelModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IPanelModel.as
new file mode 100644
index 0000000..24fac27
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IPanelModel.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface IPanelModel extends IBeadModel, ITitleBarModel
+	{
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IParent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IParent.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IParent.as
new file mode 100755
index 0000000..111c925
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IParent.as
@@ -0,0 +1,28 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+    public interface IParent
+	{
+        function addElement(c:Object):void;
+        function addElementAt(c:Object, index:int):void;
+        function getElementIndex(c:Object):int;
+        function removeElement(c:Object):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IPopUp.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IPopUp.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IPopUp.as
new file mode 100644
index 0000000..4658554
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IPopUp.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+    // marker interface to differentiate popups from other objects
+	public interface IPopUp
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IPopUpHost.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IPopUpHost.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IPopUpHost.as
new file mode 100755
index 0000000..fc8a89a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IPopUpHost.as
@@ -0,0 +1,24 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+    public interface IPopUpHost extends IParent
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IRangeModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IRangeModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IRangeModel.as
new file mode 100644
index 0000000..62e886d
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IRangeModel.as
@@ -0,0 +1,38 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface IRangeModel extends IBeadModel
+	{
+		function get maximum():Number;
+		function set maximum(value:Number):void;
+		
+		function get minimum():Number;
+		function set minimum(value:Number):void;
+
+		function get snapInterval():Number;
+		function set snapInterval(value:Number):void;
+
+		function get stepSize():Number;
+		function set stepSize(value:Number):void;
+
+		function get value():Number;
+		function set value(value:Number):void;
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IRollOverModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IRollOverModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IRollOverModel.as
new file mode 100644
index 0000000..d38aa41
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IRollOverModel.as
@@ -0,0 +1,28 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.events.IEventDispatcher;
+	
+	public interface IRollOverModel extends IEventDispatcher, IBeadModel
+	{
+		function get rollOverIndex():int;
+		function set rollOverIndex(value:int):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IScrollBarModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IScrollBarModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IScrollBarModel.as
new file mode 100644
index 0000000..2d92999
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IScrollBarModel.as
@@ -0,0 +1,29 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface IScrollBarModel extends IRangeModel
+	{
+		function get pageSize():Number;
+		function set pageSize(value:Number):void;
+
+		function get pageStepSize():Number;
+		function set pageStepSize(value:Number):void;
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as
new file mode 100644
index 0000000..cdca279
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.events.IEventDispatcher;
+
+	public interface ISelectionModel extends IEventDispatcher, IBeadModel
+	{
+		function get dataProvider():Object;
+		function set dataProvider(value:Object):void;
+		
+		function get selectedIndex():int;
+		function set selectedIndex(value:int):void;
+		
+		function get selectedItem():Object;
+		function set selectedItem(value:Object):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IStatesImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IStatesImpl.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IStatesImpl.as
new file mode 100644
index 0000000..152fe8f
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IStatesImpl.as
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.events.IEventDispatcher;
+
+	public interface IStatesImpl extends IEventDispatcher, IBead
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IStrand.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IStrand.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IStrand.as
new file mode 100644
index 0000000..8e742e2
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IStrand.as
@@ -0,0 +1,27 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface IStrand
+	{
+		function addBead(bead:IBead):void;
+		function getBeadByType(classOrInterface:Class):IBead;
+		function removeBead(bead:IBead):IBead;		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ITextModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ITextModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ITextModel.as
new file mode 100644
index 0000000..478e374
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ITextModel.as
@@ -0,0 +1,29 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface ITextModel extends IBeadModel
+	{
+		function get text():String;
+		function set text(value:String):void;
+		
+		function get html():String;
+		function set html(value:String):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ITitleBarModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ITitleBarModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ITitleBarModel.as
new file mode 100644
index 0000000..0f421a1
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ITitleBarModel.as
@@ -0,0 +1,32 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface ITitleBarModel extends IBeadModel
+	{
+		function get title():String;
+		function set title(value:String):void;
+		
+		function get htmlTitle():String;
+		function set htmlTitle(value:String):void;
+		
+		function get showCloseButton():Boolean;
+		function set showCloseButton(value:Boolean):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IToggleButtonModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IToggleButtonModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IToggleButtonModel.as
new file mode 100644
index 0000000..560d40c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IToggleButtonModel.as
@@ -0,0 +1,32 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface IToggleButtonModel extends IBeadModel
+	{
+		function get text():String;
+		function set text(value:String):void;
+		
+		function get html():String;
+		function set html(value:String):void;
+		
+		function get selected():Boolean;
+		function set selected(value:Boolean):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IUIBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IUIBase.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IUIBase.as
new file mode 100644
index 0000000..6b36a71
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IUIBase.as
@@ -0,0 +1,27 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface IUIBase extends IStrand
+	{
+        function get element():Object;
+        
+		function addedToParent():void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IValueToggleButtonModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IValueToggleButtonModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IValueToggleButtonModel.as
new file mode 100644
index 0000000..c2d6401
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IValueToggleButtonModel.as
@@ -0,0 +1,32 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	public interface IValueToggleButtonModel extends IToggleButtonModel
+	{
+		function get value():Object;
+		function set value(newValue:Object):void;
+		
+		function get groupName():String;
+		function set groupName(value:String):void;
+		
+		function get selectedValue():Object;
+		function set selectedValue(newValue:Object):void;
+	}
+}
\ No newline at end of file


[21/21] git commit: [flex-asjs] [refs/heads/develop] - move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
move AS code into a projects/FlexJSUI


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

Branch: refs/heads/develop
Commit: 66246d8a8626415af71fe34029e7d0389848e8ee
Parents: 2ab957f
Author: Alex Harui <ah...@apache.org>
Authored: Mon Nov 18 13:01:01 2013 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Nov 18 13:02:44 2013 -0800

----------------------------------------------------------------------
 frameworks/as/basic-manifest.xml                |  74 ----
 frameworks/as/build.properties                  |  60 ---
 frameworks/as/build.xml                         |  69 ---
 frameworks/as/compile-config.xml                |  80 ----
 frameworks/as/createjs-manifest.xml             |  31 --
 frameworks/as/defaults.css                      | 388 -----------------
 frameworks/as/flex-config.xml                   | 434 -------------------
 frameworks/as/flex-sdk-description.xml          |  25 --
 frameworks/as/html5-manifest.xml                |  35 --
 frameworks/as/jquery-manifest.xml               |  29 --
 frameworks/as/mx-manifest.xml                   |  26 --
 .../as/projects/FlexJSUI/basic-manifest.xml     |  74 ++++
 .../as/projects/FlexJSUI/build.properties       |  60 +++
 frameworks/as/projects/FlexJSUI/build.xml       |  69 +++
 .../as/projects/FlexJSUI/compile-config.xml     |  80 ++++
 .../as/projects/FlexJSUI/createjs-manifest.xml  |  31 ++
 frameworks/as/projects/FlexJSUI/defaults.css    | 388 +++++++++++++++++
 frameworks/as/projects/FlexJSUI/flex-config.xml | 434 +++++++++++++++++++
 .../projects/FlexJSUI/flex-sdk-description.xml  |  25 ++
 .../as/projects/FlexJSUI/html5-manifest.xml     |  35 ++
 .../as/projects/FlexJSUI/jquery-manifest.xml    |  29 ++
 frameworks/as/projects/FlexJSUI/mx-manifest.xml |  26 ++
 .../as/projects/FlexJSUI/src/FlexJSUIClasses.as | 127 ++++++
 .../src/mx/binding/ArrayElementWatcher.as       |  77 ++++
 .../projects/FlexJSUI/src/mx/binding/Binding.as |  85 ++++
 .../FlexJSUI/src/mx/binding/BindingManager.as   |  37 ++
 .../src/mx/binding/FunctionReturnWatcher.as     | 129 ++++++
 .../FlexJSUI/src/mx/binding/IBindingClient.as   |  33 ++
 .../src/mx/binding/IWatcherSetupUtil2.as        |  47 ++
 .../FlexJSUI/src/mx/binding/PropertyWatcher.as  | 148 +++++++
 .../src/mx/binding/RepeaterComponentWatcher.as  |  74 ++++
 .../src/mx/binding/RepeaterItemWatcher.as       |  74 ++++
 .../src/mx/binding/StaticPropertyWatcher.as     | 136 ++++++
 .../projects/FlexJSUI/src/mx/binding/Watcher.as |  88 ++++
 .../FlexJSUI/src/mx/binding/XMLWatcher.as       | 106 +++++
 .../FlexJSUI/src/mx/core/ClassFactory.as        | 100 +++++
 .../src/mx/core/DeferredInstanceFromClass.as    | 115 +++++
 .../src/mx/core/DeferredInstanceFromFunction.as | 131 ++++++
 .../FlexJSUI/src/mx/core/IDeferredInstance.as   |  51 +++
 .../projects/FlexJSUI/src/mx/core/IFactory.as   |  39 ++
 .../FlexJSUI/src/mx/core/IFlexModuleFactory.as  | 147 +++++++
 .../src/mx/core/IPropertyChangeNotifier.as      |  40 ++
 .../FlexJSUI/src/mx/core/IStateClient2.as       |  31 ++
 .../src/mx/events/PropertyChangeEvent.as        |  78 ++++
 .../src/mx/events/PropertyChangeEventKind.as    |  59 +++
 .../FlexJSUI/src/mx/filters/IBitmapFilter.as    |  31 ++
 .../projects/FlexJSUI/src/mx/states/AddItems.as |  67 +++
 .../FlexJSUI/src/mx/states/SetProperty.as       |  60 +++
 .../as/projects/FlexJSUI/src/mx/states/State.as |  34 ++
 .../FlexJSUI/src/mx/styles/CSSCondition.as      |  61 +++
 .../FlexJSUI/src/mx/styles/CSSSelector.as       |  69 +++
 .../src/mx/styles/CSSStyleDeclaration.as        | 191 ++++++++
 .../FlexJSUI/src/mx/styles/IStyleManager2.as    |  34 ++
 .../FlexJSUI/src/mx/styles/StyleManager.as      |  50 +++
 .../org/apache/flex/binding/ConstantBinding.as  |  52 +++
 .../org/apache/flex/binding/GenericBinding.as   | 112 +++++
 .../org/apache/flex/binding/PropertyWatcher.as  | 156 +++++++
 .../org/apache/flex/binding/SimpleBinding.as    |  64 +++
 .../src/org/apache/flex/binding/WatcherBase.as  | 236 ++++++++++
 .../src/org/apache/flex/core/Application.as     | 167 +++++++
 .../src/org/apache/flex/core/CSSTextField.as    |  59 +++
 .../src/org/apache/flex/core/IAlertModel.as     |  52 +++
 .../FlexJSUI/src/org/apache/flex/core/IBead.as  |  25 ++
 .../src/org/apache/flex/core/IBeadController.as |  28 ++
 .../src/org/apache/flex/core/IBeadLayout.as     |  28 ++
 .../src/org/apache/flex/core/IBeadModel.as      |  30 ++
 .../src/org/apache/flex/core/IBeadView.as       |  28 ++
 .../src/org/apache/flex/core/IBorderModel.as    |  27 ++
 .../src/org/apache/flex/core/IChrome.as         |  31 ++
 .../src/org/apache/flex/core/IComboBoxModel.as  |  40 ++
 .../src/org/apache/flex/core/IContainer.as      |  25 ++
 .../src/org/apache/flex/core/IDataGridModel.as  |  26 ++
 .../flex/core/IDataGridPresentationModel.as     |  31 ++
 .../src/org/apache/flex/core/IDocument.as       |  25 ++
 .../src/org/apache/flex/core/IFlexInfo.as       |  29 ++
 .../src/org/apache/flex/core/IImageModel.as     |  28 ++
 .../src/org/apache/flex/core/IItemRenderer.as   |  40 ++
 .../flex/core/IItemRendererClassFactory.as      |  25 ++
 .../org/apache/flex/core/IItemRendererParent.as |  29 ++
 .../src/org/apache/flex/core/ILayoutParent.as   |  38 ++
 .../org/apache/flex/core/IMeasurementBead.as    |  26 ++
 .../src/org/apache/flex/core/IPanelModel.as     |  25 ++
 .../src/org/apache/flex/core/IParent.as         |  28 ++
 .../FlexJSUI/src/org/apache/flex/core/IPopUp.as |  25 ++
 .../src/org/apache/flex/core/IPopUpHost.as      |  24 +
 .../src/org/apache/flex/core/IRangeModel.as     |  38 ++
 .../src/org/apache/flex/core/IRollOverModel.as  |  28 ++
 .../src/org/apache/flex/core/IScrollBarModel.as |  29 ++
 .../src/org/apache/flex/core/ISelectionModel.as |  34 ++
 .../src/org/apache/flex/core/IStatesImpl.as     |  26 ++
 .../src/org/apache/flex/core/IStrand.as         |  27 ++
 .../src/org/apache/flex/core/ITextModel.as      |  29 ++
 .../src/org/apache/flex/core/ITitleBarModel.as  |  32 ++
 .../org/apache/flex/core/IToggleButtonModel.as  |  32 ++
 .../src/org/apache/flex/core/IUIBase.as         |  27 ++
 .../apache/flex/core/IValueToggleButtonModel.as |  32 ++
 .../src/org/apache/flex/core/IValuesImpl.as     |  28 ++
 .../flex/core/ItemRendererClassFactory.as       |  83 ++++
 .../src/org/apache/flex/core/PopUpManager.as    |  61 +++
 .../org/apache/flex/core/SimpleCSSValuesImpl.as | 301 +++++++++++++
 .../org/apache/flex/core/SimpleStatesImpl.as    | 137 ++++++
 .../org/apache/flex/core/SimpleValuesImpl.as    |  58 +++
 .../FlexJSUI/src/org/apache/flex/core/Strand.as | 109 +++++
 .../FlexJSUI/src/org/apache/flex/core/UIBase.as | 348 +++++++++++++++
 .../src/org/apache/flex/core/UIButtonBase.as    | 250 +++++++++++
 .../src/org/apache/flex/core/UIMetrics.as       |  35 ++
 .../src/org/apache/flex/core/ValuesManager.as   |  38 ++
 .../src/org/apache/flex/core/ViewBase.as        | 131 ++++++
 .../org/apache/flex/core/ViewBaseDataBinding.as | 266 ++++++++++++
 .../src/org/apache/flex/createjs/Application.as | 140 ++++++
 .../src/org/apache/flex/createjs/core/UIBase.as | 141 ++++++
 .../org/apache/flex/createjs/core/ViewBase.as   |  86 ++++
 .../flex/createjs/staticControls/CheckBox.as    |  26 ++
 .../flex/createjs/staticControls/Label.as       |  27 ++
 .../flex/createjs/staticControls/TextButton.as  |  52 +++
 .../src/org/apache/flex/data/ICollection.as     |  25 ++
 .../org/apache/flex/data/IStringCollection.as   |  25 ++
 .../src/org/apache/flex/events/CustomEvent.as   |  36 ++
 .../src/org/apache/flex/events/Event.as         |  38 ++
 .../org/apache/flex/events/EventDispatcher.as   |  34 ++
 .../org/apache/flex/events/IEventDispatcher.as  |  31 ++
 .../org/apache/flex/events/ValueChangeEvent.as  |  46 ++
 .../apache/flex/html/staticControls/Alert.as    |  85 ++++
 .../apache/flex/html/staticControls/Button.as   |  37 ++
 .../flex/html/staticControls/ButtonBar.as       |  28 ++
 .../apache/flex/html/staticControls/CheckBox.as |  65 +++
 .../apache/flex/html/staticControls/ComboBox.as |  61 +++
 .../flex/html/staticControls/Container.as       | 125 ++++++
 .../html/staticControls/ContainerContentArea.as |  30 ++
 .../flex/html/staticControls/ControlBar.as      |  46 ++
 .../apache/flex/html/staticControls/DataGrid.as |  56 +++
 .../flex/html/staticControls/DropDownList.as    |  59 +++
 .../apache/flex/html/staticControls/Image.as    |  41 ++
 .../apache/flex/html/staticControls/Label.as    |  70 +++
 .../org/apache/flex/html/staticControls/List.as |  91 ++++
 .../flex/html/staticControls/NumericStepper.as  |  77 ++++
 .../apache/flex/html/staticControls/Panel.as    |  70 +++
 .../flex/html/staticControls/RadioButton.as     | 142 ++++++
 .../flex/html/staticControls/SimpleAlert.as     |  70 +++
 .../flex/html/staticControls/SimpleList.as      |  28 ++
 .../apache/flex/html/staticControls/Slider.as   |  77 ++++
 .../apache/flex/html/staticControls/Spinner.as  |  81 ++++
 .../apache/flex/html/staticControls/TextArea.as |  50 +++
 .../flex/html/staticControls/TextButton.as      |  51 +++
 .../flex/html/staticControls/TextInput.as       |  49 +++
 .../apache/flex/html/staticControls/TitleBar.as | 173 ++++++++
 .../accessories/NumericOnlyTextInputBead.as     |  84 ++++
 .../accessories/PasswordInputBead.as            |  56 +++
 .../accessories/TextPromptBead.as               |  92 ++++
 .../beads/AlertMeasurementBead.as               |  46 ++
 .../flex/html/staticControls/beads/AlertView.as | 178 ++++++++
 .../html/staticControls/beads/ButtonBarView.as  |  44 ++
 .../html/staticControls/beads/CSSButtonView.as  | 128 ++++++
 .../staticControls/beads/CSSTextButtonView.as   | 210 +++++++++
 .../html/staticControls/beads/CheckBoxView.as   | 214 +++++++++
 .../html/staticControls/beads/ComboBoxView.as   | 175 ++++++++
 .../html/staticControls/beads/ContainerView.as  | 144 ++++++
 .../beads/ControlBarMeasurementBead.as          |  74 ++++
 .../staticControls/beads/DataGridColumnView.as  |  56 +++
 .../html/staticControls/beads/DataGridView.as   | 156 +++++++
 .../DataItemRendererFactoryForArrayData.as      |  92 ++++
 .../DataItemRendererFactoryForColumnData.as     |  98 +++++
 .../staticControls/beads/DownArrowButtonView.as |  78 ++++
 .../staticControls/beads/DropDownListView.as    | 223 ++++++++++
 .../staticControls/beads/IBackgroundBead.as     |  26 ++
 .../html/staticControls/beads/IBorderBead.as    |  26 ++
 .../html/staticControls/beads/IComboBoxView.as  |  37 ++
 .../html/staticControls/beads/IDataGridView.as  |  27 ++
 .../beads/IDataProviderItemRendererMapper.as    |  34 ++
 .../staticControls/beads/IDropDownListView.as   |  31 ++
 .../staticControls/beads/IGraphicsDrawing.as    |  25 ++
 .../flex/html/staticControls/beads/IListView.as |  33 ++
 .../html/staticControls/beads/IScrollBarView.as |  36 ++
 .../html/staticControls/beads/ISliderView.as    |  30 ++
 .../html/staticControls/beads/ISpinnerView.as   |  30 ++
 .../html/staticControls/beads/ITextFieldView.as |  27 ++
 .../staticControls/beads/ITextItemRenderer.as   |  28 ++
 .../flex/html/staticControls/beads/ImageView.as |  88 ++++
 .../flex/html/staticControls/beads/ListView.as  | 170 ++++++++
 .../staticControls/beads/NumericStepperView.as  | 157 +++++++
 .../flex/html/staticControls/beads/PanelView.as | 119 +++++
 .../staticControls/beads/RadioButtonView.as     | 218 ++++++++++
 .../html/staticControls/beads/ScrollBarView.as  | 104 +++++
 .../staticControls/beads/SimpleAlertView.as     | 118 +++++
 .../beads/SingleLineBorderBead.as               |  73 ++++
 .../staticControls/beads/SliderThumbView.as     |  83 ++++
 .../staticControls/beads/SliderTrackView.as     |  83 ++++
 .../html/staticControls/beads/SliderView.as     | 129 ++++++
 .../staticControls/beads/SolidBackgroundBead.as | 101 +++++
 .../html/staticControls/beads/SpinnerView.as    |  88 ++++
 .../html/staticControls/beads/TextAreaView.as   | 188 ++++++++
 .../beads/TextButtonMeasurementBead.as          |  50 +++
 .../html/staticControls/beads/TextButtonView.as | 144 ++++++
 .../beads/TextFieldLabelMeasurementBead.as      |  50 +++
 .../html/staticControls/beads/TextFieldView.as  |  34 ++
 .../staticControls/beads/TextFieldViewBase.as   | 111 +++++
 .../html/staticControls/beads/TextInputView.as  |  66 +++
 .../beads/TextInputWithBorderView.as            |  68 +++
 .../TextItemRendererFactoryForArrayData.as      |  93 ++++
 ...extItemRendererFactoryForStringVectorData.as |  73 ++++
 .../beads/TitleBarMeasurementBead.as            |  64 +++
 .../staticControls/beads/UpArrowButtonView.as   |  78 ++++
 .../staticControls/beads/VScrollBarThumbView.as | 102 +++++
 .../staticControls/beads/VScrollBarTrackView.as |  87 ++++
 .../beads/controllers/AlertController.as        |  52 +++
 .../controllers/ButtonAutoRepeatController.as   | 102 +++++
 .../beads/controllers/ComboBoxController.as     |  71 +++
 .../beads/controllers/DropDownListController.as |  74 ++++
 .../EditableTextKeyboardController.as           |  55 +++
 .../controllers/ItemRendererMouseController.as  |  88 ++++
 .../ListSingleSelectionMouseController.as       |  67 +++
 .../controllers/ScrollBarMouseControllerBase.as |  97 +++++
 .../beads/controllers/SliderMouseController.as  | 108 +++++
 .../beads/controllers/SpinnerMouseController.as |  65 +++
 .../controllers/VScrollBarMouseController.as    |  77 ++++
 .../beads/layouts/ButtonBarLayout.as            |  69 +++
 .../beads/layouts/NonVirtualHorizontalLayout.as | 145 +++++++
 .../NonVirtualHorizontalScrollingLayout.as      | 110 +++++
 .../beads/layouts/NonVirtualVerticalLayout.as   | 163 +++++++
 .../NonVirtualVerticalScrollingLayout.as        | 111 +++++
 .../beads/layouts/VScrollBarLayout.as           |  84 ++++
 .../staticControls/beads/models/AlertModel.as   | 163 +++++++
 .../beads/models/ArraySelectionModel.as         | 120 +++++
 .../beads/models/ComboBoxModel.as               |  61 +++
 .../beads/models/DataGridModel.as               |  45 ++
 .../beads/models/DataGridPresentationModel.as   |  65 +++
 .../staticControls/beads/models/ImageModel.as   |  53 +++
 .../staticControls/beads/models/PanelModel.as   |  82 ++++
 .../staticControls/beads/models/RangeModel.as   | 138 ++++++
 .../beads/models/ScrollBarModel.as              |  62 +++
 .../beads/models/SingleLineBorderModel.as       |  49 +++
 .../beads/models/StringSelectionModel.as        | 101 +++++
 .../staticControls/beads/models/TextModel.as    |  70 +++
 .../beads/models/TitleBarModel.as               |  83 ++++
 .../beads/models/ToggleButtonModel.as           |  87 ++++
 .../beads/models/ValueToggleButtonModel.as      |  80 ++++
 .../staticControls/supportClasses/Border.as     |  31 ++
 .../ButtonBarButtonItemRenderer.as              |  89 ++++
 .../supportClasses/DataItemRenderer.as          |  80 ++++
 .../supportClasses/DropDownListList.as          |  44 ++
 .../supportClasses/NonVirtualDataGroup.as       |  42 ++
 .../staticControls/supportClasses/ScrollBar.as  |  30 ++
 .../supportClasses/StringItemRenderer.as        |  75 ++++
 .../supportClasses/TextFieldItemRenderer.as     | 230 ++++++++++
 .../supportClasses/UIItemRendererBase.as        | 123 ++++++
 .../apache/flex/html5/staticControls/Button.as  |  26 ++
 .../flex/html5/staticControls/CheckBox.as       |  26 ++
 .../flex/html5/staticControls/ComboBox.as       |  26 ++
 .../flex/html5/staticControls/DropDownList.as   |  26 ++
 .../apache/flex/html5/staticControls/Label.as   |  33 ++
 .../apache/flex/html5/staticControls/List.as    |  33 ++
 .../flex/html5/staticControls/RadioButton.as    |  26 ++
 .../flex/html5/staticControls/TextArea.as       |  26 ++
 .../flex/html5/staticControls/TextButton.as     |  32 ++
 .../flex/html5/staticControls/TextInput.as      |  25 ++
 .../src/org/apache/flex/jquery/Application.as   |  31 ++
 .../flex/jquery/staticControls/CheckBox.as      |  26 ++
 .../flex/jquery/staticControls/RadioButton.as   |  26 ++
 .../flex/jquery/staticControls/TextButton.as    |  32 ++
 .../src/org/apache/flex/net/BinaryUploader.as   | 305 +++++++++++++
 .../src/org/apache/flex/net/HTTPHeader.as       |  35 ++
 .../src/org/apache/flex/net/HTTPService.as      | 304 +++++++++++++
 .../src/org/apache/flex/net/IInputParser.as     |  25 ++
 .../src/org/apache/flex/net/IItemConverter.as   |  25 ++
 .../src/org/apache/flex/net/JSONInputParser.as  |  28 ++
 .../org/apache/flex/net/JSONItemConverter.as    |  30 ++
 .../flex/net/dataConverters/LazyCollection.as   | 106 +++++
 .../flex/svg/staticControls/TextButton.as       |  32 ++
 .../src/org/apache/flex/utils/BeadMetrics.as    |  79 ++++
 .../src/org/apache/flex/utils/BinaryData.as     | 106 +++++
 .../apache/flex/utils/MXMLDataInterpreter.as    | 321 ++++++++++++++
 .../org/apache/flex/utils/SolidBorderUtil.as    |  39 ++
 .../FlexJSUI/src/org/apache/flex/utils/Timer.as |  45 ++
 .../flex/utils/ViewSourceContextMenuOption.as   |  63 +++
 .../as/projects/FlexJSUI/svg-manifest.xml       |  26 ++
 frameworks/as/src/FlexJSUIClasses.as            | 127 ------
 .../as/src/mx/binding/ArrayElementWatcher.as    |  77 ----
 frameworks/as/src/mx/binding/Binding.as         |  85 ----
 frameworks/as/src/mx/binding/BindingManager.as  |  37 --
 .../as/src/mx/binding/FunctionReturnWatcher.as  | 129 ------
 frameworks/as/src/mx/binding/IBindingClient.as  |  33 --
 .../as/src/mx/binding/IWatcherSetupUtil2.as     |  47 --
 frameworks/as/src/mx/binding/PropertyWatcher.as | 148 -------
 .../src/mx/binding/RepeaterComponentWatcher.as  |  74 ----
 .../as/src/mx/binding/RepeaterItemWatcher.as    |  74 ----
 .../as/src/mx/binding/StaticPropertyWatcher.as  | 136 ------
 frameworks/as/src/mx/binding/Watcher.as         |  88 ----
 frameworks/as/src/mx/binding/XMLWatcher.as      | 106 -----
 frameworks/as/src/mx/core/ClassFactory.as       | 100 -----
 .../as/src/mx/core/DeferredInstanceFromClass.as | 115 -----
 .../src/mx/core/DeferredInstanceFromFunction.as | 131 ------
 frameworks/as/src/mx/core/IDeferredInstance.as  |  51 ---
 frameworks/as/src/mx/core/IFactory.as           |  39 --
 frameworks/as/src/mx/core/IFlexModuleFactory.as | 147 -------
 .../as/src/mx/core/IPropertyChangeNotifier.as   |  40 --
 frameworks/as/src/mx/core/IStateClient2.as      |  31 --
 .../as/src/mx/events/PropertyChangeEvent.as     |  78 ----
 .../as/src/mx/events/PropertyChangeEventKind.as |  59 ---
 frameworks/as/src/mx/filters/IBitmapFilter.as   |  31 --
 frameworks/as/src/mx/states/AddItems.as         |  67 ---
 frameworks/as/src/mx/states/SetProperty.as      |  60 ---
 frameworks/as/src/mx/states/State.as            |  34 --
 frameworks/as/src/mx/styles/CSSCondition.as     |  61 ---
 frameworks/as/src/mx/styles/CSSSelector.as      |  69 ---
 .../as/src/mx/styles/CSSStyleDeclaration.as     | 191 --------
 frameworks/as/src/mx/styles/IStyleManager2.as   |  34 --
 frameworks/as/src/mx/styles/StyleManager.as     |  50 ---
 .../org/apache/flex/binding/ConstantBinding.as  |  52 ---
 .../org/apache/flex/binding/GenericBinding.as   | 112 -----
 .../org/apache/flex/binding/PropertyWatcher.as  | 156 -------
 .../org/apache/flex/binding/SimpleBinding.as    |  64 ---
 .../src/org/apache/flex/binding/WatcherBase.as  | 236 ----------
 .../as/src/org/apache/flex/core/Application.as  | 167 -------
 .../as/src/org/apache/flex/core/CSSTextField.as |  59 ---
 .../as/src/org/apache/flex/core/IAlertModel.as  |  52 ---
 frameworks/as/src/org/apache/flex/core/IBead.as |  25 --
 .../src/org/apache/flex/core/IBeadController.as |  28 --
 .../as/src/org/apache/flex/core/IBeadLayout.as  |  28 --
 .../as/src/org/apache/flex/core/IBeadModel.as   |  30 --
 .../as/src/org/apache/flex/core/IBeadView.as    |  28 --
 .../as/src/org/apache/flex/core/IBorderModel.as |  27 --
 .../as/src/org/apache/flex/core/IChrome.as      |  31 --
 .../src/org/apache/flex/core/IComboBoxModel.as  |  40 --
 .../as/src/org/apache/flex/core/IContainer.as   |  25 --
 .../src/org/apache/flex/core/IDataGridModel.as  |  26 --
 .../flex/core/IDataGridPresentationModel.as     |  31 --
 .../as/src/org/apache/flex/core/IDocument.as    |  25 --
 .../as/src/org/apache/flex/core/IFlexInfo.as    |  29 --
 .../as/src/org/apache/flex/core/IImageModel.as  |  28 --
 .../src/org/apache/flex/core/IItemRenderer.as   |  40 --
 .../flex/core/IItemRendererClassFactory.as      |  25 --
 .../org/apache/flex/core/IItemRendererParent.as |  29 --
 .../src/org/apache/flex/core/ILayoutParent.as   |  38 --
 .../org/apache/flex/core/IMeasurementBead.as    |  26 --
 .../as/src/org/apache/flex/core/IPanelModel.as  |  25 --
 .../as/src/org/apache/flex/core/IParent.as      |  28 --
 .../as/src/org/apache/flex/core/IPopUp.as       |  25 --
 .../as/src/org/apache/flex/core/IPopUpHost.as   |  24 -
 .../as/src/org/apache/flex/core/IRangeModel.as  |  38 --
 .../src/org/apache/flex/core/IRollOverModel.as  |  28 --
 .../src/org/apache/flex/core/IScrollBarModel.as |  29 --
 .../src/org/apache/flex/core/ISelectionModel.as |  34 --
 .../as/src/org/apache/flex/core/IStatesImpl.as  |  26 --
 .../as/src/org/apache/flex/core/IStrand.as      |  27 --
 .../as/src/org/apache/flex/core/ITextModel.as   |  29 --
 .../src/org/apache/flex/core/ITitleBarModel.as  |  32 --
 .../org/apache/flex/core/IToggleButtonModel.as  |  32 --
 .../as/src/org/apache/flex/core/IUIBase.as      |  27 --
 .../apache/flex/core/IValueToggleButtonModel.as |  32 --
 .../as/src/org/apache/flex/core/IValuesImpl.as  |  28 --
 .../flex/core/ItemRendererClassFactory.as       |  83 ----
 .../as/src/org/apache/flex/core/PopUpManager.as |  61 ---
 .../org/apache/flex/core/SimpleCSSValuesImpl.as | 301 -------------
 .../org/apache/flex/core/SimpleStatesImpl.as    | 137 ------
 .../org/apache/flex/core/SimpleValuesImpl.as    |  58 ---
 .../as/src/org/apache/flex/core/Strand.as       | 109 -----
 .../as/src/org/apache/flex/core/UIBase.as       | 348 ---------------
 .../as/src/org/apache/flex/core/UIButtonBase.as | 250 -----------
 .../as/src/org/apache/flex/core/UIMetrics.as    |  35 --
 .../src/org/apache/flex/core/ValuesManager.as   |  38 --
 .../as/src/org/apache/flex/core/ViewBase.as     | 131 ------
 .../org/apache/flex/core/ViewBaseDataBinding.as | 266 ------------
 .../src/org/apache/flex/createjs/Application.as | 140 ------
 .../src/org/apache/flex/createjs/core/UIBase.as | 141 ------
 .../org/apache/flex/createjs/core/ViewBase.as   |  86 ----
 .../flex/createjs/staticControls/CheckBox.as    |  26 --
 .../flex/createjs/staticControls/Label.as       |  27 --
 .../flex/createjs/staticControls/TextButton.as  |  52 ---
 .../as/src/org/apache/flex/data/ICollection.as  |  25 --
 .../org/apache/flex/data/IStringCollection.as   |  25 --
 .../src/org/apache/flex/events/CustomEvent.as   |  36 --
 .../as/src/org/apache/flex/events/Event.as      |  38 --
 .../org/apache/flex/events/EventDispatcher.as   |  34 --
 .../org/apache/flex/events/IEventDispatcher.as  |  31 --
 .../org/apache/flex/events/ValueChangeEvent.as  |  46 --
 .../apache/flex/html/staticControls/Alert.as    |  85 ----
 .../apache/flex/html/staticControls/Button.as   |  37 --
 .../flex/html/staticControls/ButtonBar.as       |  28 --
 .../apache/flex/html/staticControls/CheckBox.as |  65 ---
 .../apache/flex/html/staticControls/ComboBox.as |  61 ---
 .../flex/html/staticControls/Container.as       | 125 ------
 .../html/staticControls/ContainerContentArea.as |  30 --
 .../flex/html/staticControls/ControlBar.as      |  46 --
 .../apache/flex/html/staticControls/DataGrid.as |  56 ---
 .../flex/html/staticControls/DropDownList.as    |  59 ---
 .../apache/flex/html/staticControls/Image.as    |  41 --
 .../apache/flex/html/staticControls/Label.as    |  70 ---
 .../org/apache/flex/html/staticControls/List.as |  91 ----
 .../flex/html/staticControls/NumericStepper.as  |  77 ----
 .../apache/flex/html/staticControls/Panel.as    |  70 ---
 .../flex/html/staticControls/RadioButton.as     | 142 ------
 .../flex/html/staticControls/SimpleAlert.as     |  70 ---
 .../flex/html/staticControls/SimpleList.as      |  28 --
 .../apache/flex/html/staticControls/Slider.as   |  77 ----
 .../apache/flex/html/staticControls/Spinner.as  |  81 ----
 .../apache/flex/html/staticControls/TextArea.as |  50 ---
 .../flex/html/staticControls/TextButton.as      |  51 ---
 .../flex/html/staticControls/TextInput.as       |  49 ---
 .../apache/flex/html/staticControls/TitleBar.as | 173 --------
 .../accessories/NumericOnlyTextInputBead.as     |  84 ----
 .../accessories/PasswordInputBead.as            |  56 ---
 .../accessories/TextPromptBead.as               |  92 ----
 .../beads/AlertMeasurementBead.as               |  46 --
 .../flex/html/staticControls/beads/AlertView.as | 178 --------
 .../html/staticControls/beads/ButtonBarView.as  |  44 --
 .../html/staticControls/beads/CSSButtonView.as  | 128 ------
 .../staticControls/beads/CSSTextButtonView.as   | 210 ---------
 .../html/staticControls/beads/CheckBoxView.as   | 214 ---------
 .../html/staticControls/beads/ComboBoxView.as   | 175 --------
 .../html/staticControls/beads/ContainerView.as  | 144 ------
 .../beads/ControlBarMeasurementBead.as          |  74 ----
 .../staticControls/beads/DataGridColumnView.as  |  56 ---
 .../html/staticControls/beads/DataGridView.as   | 156 -------
 .../DataItemRendererFactoryForArrayData.as      |  92 ----
 .../DataItemRendererFactoryForColumnData.as     |  98 -----
 .../staticControls/beads/DownArrowButtonView.as |  78 ----
 .../staticControls/beads/DropDownListView.as    | 223 ----------
 .../staticControls/beads/IBackgroundBead.as     |  26 --
 .../html/staticControls/beads/IBorderBead.as    |  26 --
 .../html/staticControls/beads/IComboBoxView.as  |  37 --
 .../html/staticControls/beads/IDataGridView.as  |  27 --
 .../beads/IDataProviderItemRendererMapper.as    |  34 --
 .../staticControls/beads/IDropDownListView.as   |  31 --
 .../staticControls/beads/IGraphicsDrawing.as    |  25 --
 .../flex/html/staticControls/beads/IListView.as |  33 --
 .../html/staticControls/beads/IScrollBarView.as |  36 --
 .../html/staticControls/beads/ISliderView.as    |  30 --
 .../html/staticControls/beads/ISpinnerView.as   |  30 --
 .../html/staticControls/beads/ITextFieldView.as |  27 --
 .../staticControls/beads/ITextItemRenderer.as   |  28 --
 .../flex/html/staticControls/beads/ImageView.as |  88 ----
 .../flex/html/staticControls/beads/ListView.as  | 170 --------
 .../staticControls/beads/NumericStepperView.as  | 157 -------
 .../flex/html/staticControls/beads/PanelView.as | 119 -----
 .../staticControls/beads/RadioButtonView.as     | 218 ----------
 .../html/staticControls/beads/ScrollBarView.as  | 104 -----
 .../staticControls/beads/SimpleAlertView.as     | 118 -----
 .../beads/SingleLineBorderBead.as               |  73 ----
 .../staticControls/beads/SliderThumbView.as     |  83 ----
 .../staticControls/beads/SliderTrackView.as     |  83 ----
 .../html/staticControls/beads/SliderView.as     | 129 ------
 .../staticControls/beads/SolidBackgroundBead.as | 101 -----
 .../html/staticControls/beads/SpinnerView.as    |  88 ----
 .../html/staticControls/beads/TextAreaView.as   | 188 --------
 .../beads/TextButtonMeasurementBead.as          |  50 ---
 .../html/staticControls/beads/TextButtonView.as | 144 ------
 .../beads/TextFieldLabelMeasurementBead.as      |  50 ---
 .../html/staticControls/beads/TextFieldView.as  |  34 --
 .../staticControls/beads/TextFieldViewBase.as   | 111 -----
 .../html/staticControls/beads/TextInputView.as  |  66 ---
 .../beads/TextInputWithBorderView.as            |  68 ---
 .../TextItemRendererFactoryForArrayData.as      |  93 ----
 ...extItemRendererFactoryForStringVectorData.as |  73 ----
 .../beads/TitleBarMeasurementBead.as            |  64 ---
 .../staticControls/beads/UpArrowButtonView.as   |  78 ----
 .../staticControls/beads/VScrollBarThumbView.as | 102 -----
 .../staticControls/beads/VScrollBarTrackView.as |  87 ----
 .../beads/controllers/AlertController.as        |  52 ---
 .../controllers/ButtonAutoRepeatController.as   | 102 -----
 .../beads/controllers/ComboBoxController.as     |  71 ---
 .../beads/controllers/DropDownListController.as |  74 ----
 .../EditableTextKeyboardController.as           |  55 ---
 .../controllers/ItemRendererMouseController.as  |  88 ----
 .../ListSingleSelectionMouseController.as       |  67 ---
 .../controllers/ScrollBarMouseControllerBase.as |  97 -----
 .../beads/controllers/SliderMouseController.as  | 108 -----
 .../beads/controllers/SpinnerMouseController.as |  65 ---
 .../controllers/VScrollBarMouseController.as    |  77 ----
 .../beads/layouts/ButtonBarLayout.as            |  69 ---
 .../beads/layouts/NonVirtualHorizontalLayout.as | 145 -------
 .../NonVirtualHorizontalScrollingLayout.as      | 110 -----
 .../beads/layouts/NonVirtualVerticalLayout.as   | 163 -------
 .../NonVirtualVerticalScrollingLayout.as        | 111 -----
 .../beads/layouts/VScrollBarLayout.as           |  84 ----
 .../staticControls/beads/models/AlertModel.as   | 163 -------
 .../beads/models/ArraySelectionModel.as         | 120 -----
 .../beads/models/ComboBoxModel.as               |  61 ---
 .../beads/models/DataGridModel.as               |  45 --
 .../beads/models/DataGridPresentationModel.as   |  65 ---
 .../staticControls/beads/models/ImageModel.as   |  53 ---
 .../staticControls/beads/models/PanelModel.as   |  82 ----
 .../staticControls/beads/models/RangeModel.as   | 138 ------
 .../beads/models/ScrollBarModel.as              |  62 ---
 .../beads/models/SingleLineBorderModel.as       |  49 ---
 .../beads/models/StringSelectionModel.as        | 101 -----
 .../staticControls/beads/models/TextModel.as    |  70 ---
 .../beads/models/TitleBarModel.as               |  83 ----
 .../beads/models/ToggleButtonModel.as           |  87 ----
 .../beads/models/ValueToggleButtonModel.as      |  80 ----
 .../staticControls/supportClasses/Border.as     |  31 --
 .../ButtonBarButtonItemRenderer.as              |  89 ----
 .../supportClasses/DataItemRenderer.as          |  80 ----
 .../supportClasses/DropDownListList.as          |  44 --
 .../supportClasses/NonVirtualDataGroup.as       |  42 --
 .../staticControls/supportClasses/ScrollBar.as  |  30 --
 .../supportClasses/StringItemRenderer.as        |  75 ----
 .../supportClasses/TextFieldItemRenderer.as     | 230 ----------
 .../supportClasses/UIItemRendererBase.as        | 123 ------
 .../apache/flex/html5/staticControls/Button.as  |  26 --
 .../flex/html5/staticControls/CheckBox.as       |  26 --
 .../flex/html5/staticControls/ComboBox.as       |  26 --
 .../flex/html5/staticControls/DropDownList.as   |  26 --
 .../apache/flex/html5/staticControls/Label.as   |  33 --
 .../apache/flex/html5/staticControls/List.as    |  33 --
 .../flex/html5/staticControls/RadioButton.as    |  26 --
 .../flex/html5/staticControls/TextArea.as       |  26 --
 .../flex/html5/staticControls/TextButton.as     |  32 --
 .../flex/html5/staticControls/TextInput.as      |  25 --
 .../src/org/apache/flex/jquery/Application.as   |  31 --
 .../flex/jquery/staticControls/CheckBox.as      |  26 --
 .../flex/jquery/staticControls/RadioButton.as   |  26 --
 .../flex/jquery/staticControls/TextButton.as    |  32 --
 .../src/org/apache/flex/net/BinaryUploader.as   | 305 -------------
 .../as/src/org/apache/flex/net/HTTPHeader.as    |  35 --
 .../as/src/org/apache/flex/net/HTTPService.as   | 304 -------------
 .../as/src/org/apache/flex/net/IInputParser.as  |  25 --
 .../src/org/apache/flex/net/IItemConverter.as   |  25 --
 .../src/org/apache/flex/net/JSONInputParser.as  |  28 --
 .../org/apache/flex/net/JSONItemConverter.as    |  30 --
 .../flex/net/dataConverters/LazyCollection.as   | 106 -----
 .../flex/svg/staticControls/TextButton.as       |  32 --
 .../as/src/org/apache/flex/utils/BeadMetrics.as |  79 ----
 .../as/src/org/apache/flex/utils/BinaryData.as  | 106 -----
 .../apache/flex/utils/MXMLDataInterpreter.as    | 321 --------------
 .../org/apache/flex/utils/SolidBorderUtil.as    |  39 --
 .../as/src/org/apache/flex/utils/Timer.as       |  45 --
 .../flex/utils/ViewSourceContextMenuOption.as   |  63 ---
 frameworks/as/svg-manifest.xml                  |  26 --
 528 files changed, 20688 insertions(+), 20688 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/basic-manifest.xml b/frameworks/as/basic-manifest.xml
deleted file mode 100644
index 7b2aaa5..0000000
--- a/frameworks/as/basic-manifest.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.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.
-
--->
-
-
-<componentPackage>
-
-    <component id="Application" class="org.apache.flex.core.Application"/>
-    <component id="SimpleValuesImpl" class="org.apache.flex.core.SimpleValuesImpl"/>
-    <component id="SimpleCSSValuesImpl" class="org.apache.flex.core.SimpleCSSValuesImpl"/>
-    <component id="ViewBase" class="org.apache.flex.core.ViewBase"/>
-    <component id="ConstantBinding" class="org.apache.flex.binding.ConstantBinding"/>
-    <component id="SimpleBinding" class="org.apache.flex.binding.SimpleBinding"/>
-    <component id="Button" class="org.apache.flex.html.staticControls.Button"/>
-    <component id="ButtonBar" class="org.apache.flex.html.staticControls.ButtonBar"/>
-    <component id="DataGrid" class="org.apache.flex.html.staticControls.DataGrid"/>
-    <component id="DropDownList" class="org.apache.flex.html.staticControls.DropDownList"/>
-    <component id="DropDownListList" class="org.apache.flex.html.staticControls.supportClasses.DropDownListList"/>
-    <component id="Image" class="org.apache.flex.html.staticControls.Image"/>
-    <component id="Label" class="org.apache.flex.html.staticControls.Label"/>
-    <component id="TextButton" class="org.apache.flex.html.staticControls.TextButton"/>
-    <component id="TextInput" class="org.apache.flex.html.staticControls.TextInput"/>
-    <component id="TextArea" class="org.apache.flex.html.staticControls.TextArea"/>
-    <component id="List" class="org.apache.flex.html.staticControls.List"/>
-    <component id="SimpleList" class="org.apache.flex.html.staticControls.SimpleList"/>
-    <component id="CheckBox" class="org.apache.flex.html.staticControls.CheckBox"/>
-    <component id="RadioButton" class="org.apache.flex.html.staticControls.RadioButton"/>
-    <component id="ComboBox" class="org.apache.flex.html.staticControls.ComboBox"/>
-    <component id="HTTPService" class="org.apache.flex.net.HTTPService"/>
-    <component id="LazyCollection" class="org.apache.flex.net.dataConverters.LazyCollection"/>
-    <component id="JSONInputParser" class="org.apache.flex.net.JSONInputParser"/>
-    <component id="JSONItemConverter" class="org.apache.flex.net.JSONItemConverter"/>
-    <component id="ViewSourceContextMenuOption" class="org.apache.flex.utils.ViewSourceContextMenuOption"/>
-    <component id="BinaryUploader" class="org.apache.flex.net.BinaryUploader"/>
-    <component id="Container" class="org.apache.flex.html.staticControls.Container"/>
-    <component id="Panel" class="org.apache.flex.html.staticControls.Panel"/>
-    <component id="ControlBar" class="org.apache.flex.html.staticControls.ControlBar"/>
-    <component id="TitleBar" class="org.apache.flex.html.staticControls.TitleBar"/>
-    <component id="TitleBarModel" class="org.apache.flex.html.staticControls.beads.models.TitleBarModel"/>
-    <component id="NonVirtualVerticalLayout" class="org.apache.flex.html.staticControls.beads.layouts.NonVirtualVerticalLayout"/>
-    <component id="NonVirtualHorizontalLayout" class="org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout"/>
-    <component id="SimpleAlert" class="org.apache.flex.html.staticControls.SimpleAlert"/>
-    <component id="Alert" class="org.apache.flex.html.staticControls.Alert"/>
-    <component id="Spinner" class="org.apache.flex.html.staticControls.Spinner"/>
-    <component id="Slider" class="org.apache.flex.html.staticControls.Slider"/>
-    <component id="ViewBaseDataBinding" class="org.apache.flex.core.ViewBaseDataBinding"/>
-    <component id="NumericStepper" class="org.apache.flex.html.staticControls.NumericStepper" />
-    <component id="TextFieldItemRenderer" class="org.apache.flex.html.staticControls.supportClasses.TextFieldItemRenderer"/>
-    <component id="StringItemRenderer" class="org.apache.flex.html.staticControls.supportClasses.StringItemRenderer"/>
-    <component id="DataItemRenderer" class="org.apache.flex.html.staticControls.supportClasses.DataItemRenderer"/>
-    <component id="ButtonBarButtonItemRenderer" class="org.apache.flex.html.staticControls.supportClasses.ButtonBarButtonItemRenderer"/>
-    <component id="ScrollBar" class="org.apache.flex.html.staticControls.supportClasses.ScrollBar"/>
-    <component id="NumericOnlyTextInputBead" class="org.apache.flex.html.staticControls.accessories.NumericOnlyTextInputBead" />
-    <component id="PasswordInputBead" class="org.apache.flex.html.staticControls.accessories.PasswordInputBead" />
-    <component id="TextPromptBead" class="org.apache.flex.html.staticControls.accessories.TextPromptBead" />
-    <component id="DataGridPresentationModel" class="org.apache.flex.html.staticControls.beads.models.DataGridPresentationModel" />
-
-</componentPackage>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/build.properties
----------------------------------------------------------------------
diff --git a/frameworks/as/build.properties b/frameworks/as/build.properties
deleted file mode 100644
index 06c0c33..0000000
--- a/frameworks/as/build.properties
+++ /dev/null
@@ -1,60 +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.
-##
-################################################################################
-
-# flex-sdk-description values
-release = Apache Flex ASJS 0.0.1
-release.version = 0.0.1
-
-# override on command line with -Dbuild.number=999 or in local.properties
-build.number = 0
-
-playerglobal.version = 11.1
-
-# locale = en_US
-
-qa.dir = ${basedir}/../qa
-asc = ${basedir}/bin/asc
-
-# TextLayoutFormat version.  This is a sub-directory in frameworks/textLayout.
-tlf.version = 3.0.33
-
-# For Java 7 on Mac OS X, you need an Intel-based Mac running Mac OS X version 10.7.3 
-# (Lion) and above.  Only the 64-bit data model is available so leave this blank.
-# Since ant properties are immutable, if this property is set in the build file before
-# this file is included, setting it to nothing here is a no-op.
-local.d32 =
-
-src.depend = true
-src.debug = on
-
-# JVM options for <compc> and <mxmlc> tasks
-jvm.args = ${local.d32} -Xms64m -Xmx384m -ea -Dapple.awt.UIElement=true
-    # -d32/-d64 for 32-bit/64-bit code model (or don't specify for the default)
-	# -Xms64m: start out with a 64 MB heap
-	# -Xmx384m: allow the heap to grow to 384 MB
-	# -ea: enable Java assertions
-compc.jvm.args = ${jvm.args}
-mxmlc.jvm.args = ${jvm.args}
-
-# JAR Manifest Entries
-manifest.sealed=false
-manifest.Implementation-Title=Apache Flex ASJS
-manifest.Implementation-Version=${release.version}
-manifest.Implementation-Vendor=The Apache Software Foundation
-manifest.Implementation-Vendor-Id=org.apache

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/build.xml b/frameworks/as/build.xml
deleted file mode 100644
index 3a31fbe..0000000
--- a/frameworks/as/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.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.
-
--->
-
-
-<project name="framework" default="main" basedir=".">
-    <property name="FLEXJS_HOME" location="."/>
-    
-    <property file="${FLEXJS_HOME}/env.properties"/>
-    <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
-    <property name="FLEX_HOME" value="${env.FLEX_HOME}"/>
-
-    <target name="main" depends="clean,compile" description="Clean build of FlexJSUI.swc">
-    </target>
-    
-    <target name="clean">
-        <delete failonerror="false">
-            <fileset dir="${FLEXJS_HOME}/libs">
-                <include name="FlexJSUI.swc"/>
-            </fileset>
-        </delete>
-    </target>
-    
-    <target name="compile" description="Compiles FlexJSUI.swc">
-        <echo message="Compiling libs/FlexJSUI.swc"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-
-        <!-- Load the <compc> task. We can't do this at the <project> level -->
-        <!-- because targets that run before flexTasks.jar gets built would fail. -->
-        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-        <!--
-            Link in the classes (and their dependencies) for the MXML tags
-            listed in this project's manifest.xml.
-            Also link the additional classes (and their dependencies)
-            listed in FlexJSUIClasses.as,
-            because these aren't referenced by the manifest classes.
-            Keep the standard metadata when compiling.
-            Include the appropriate CSS files and assets in the SWC.
-            Don't include any resources in the SWC.
-            Write a bundle list of referenced resource bundles
-            into the file bundles.properties in this directory.
-        -->
-        <compc fork="true"
-               output="${FLEXJS_HOME}/libs/FlexJSUI.swc">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="compile-config.xml" />
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
-        </compc>
-    </target>
-    
-</project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/compile-config.xml b/frameworks/as/compile-config.xml
deleted file mode 100644
index aa41d8e..0000000
--- a/frameworks/as/compile-config.xml
+++ /dev/null
@@ -1,80 +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.
-
--->
-<flex-config>
-
-    <compiler>
-        <accessible>false</accessible>
-        
-        <external-library-path>
-            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
-        </external-library-path>
-        
-        <locale/>
-        
-        <library-path/>
-
-        <namespaces>
-            <namespace>
-                <uri>library://ns.apache.org/flexjs/basic</uri>
-                <manifest>basic-manifest.xml</manifest>
-            </namespace>
-            <namespace>
-                <uri>library://ns.adobe.com/flex/mx</uri>
-                <manifest>mx-manifest.xml</manifest>
-            </namespace>
-            <namespace>
-                <uri>library://ns.apache.org/flexjs/html5</uri>
-                <manifest>html5-manifest.xml</manifest>
-            </namespace>
-            <namespace>
-                <uri>library://ns.apache.org/flexjs/jquery</uri>
-                <manifest>jquery-manifest.xml</manifest>
-            </namespace>
-            <namespace>
-                <uri>library://ns.apache.org/flexjs/createjs</uri>
-                <manifest>createjs-manifest.xml</manifest>
-            </namespace>
-        </namespaces>
-        
-        <source-path>
-            <path-element>src</path-element>
-        </source-path>
-        
-        <warn-no-constructor>false</warn-no-constructor>
-    </compiler>
-    
-    <include-file>
-        <name>defaults.css</name>
-        <path>defaults.css</path>
-    </include-file>
-
-    <include-classes>
-        <class>FlexJSUIClasses</class>
-    </include-classes>
-    
-    <include-namespaces>
-        <uri>library://ns.apache.org/flexjs/basic</uri>
-        <uri>library://ns.adobe.com/flex/mx</uri>
-        <uri>library://ns.apache.org/flexjs/html5</uri>
-        <uri>library://ns.apache.org/flexjs/jquery</uri>
-        <uri>library://ns.apache.org/flexjs/createjs</uri>
-    </include-namespaces>  
-        
-    <target-player>${playerglobal.version}</target-player>
-</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/createjs-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/createjs-manifest.xml b/frameworks/as/createjs-manifest.xml
deleted file mode 100644
index c72090c..0000000
--- a/frameworks/as/createjs-manifest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.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.
-
--->
-
-
-<componentPackage>
-
-    <component id="Application" class="org.apache.flex.createjs.Application"/>
-    <component id="UIBase" class="org.apache.flex.createjs.core.UIBase"/>
-    <component id="ViewBase" class="org.apache.flex.createjs.core.ViewBase"/>
-    <component id="Label" class="org.apache.flex.createjs.staticControls.Label"/>
-    <component id="TextButton" class="org.apache.flex.createjs.staticControls.TextButton"/>
-    <component id="CheckBox" class="org.apache.flex.createjs.staticControls.CheckBox"/>
-
-</componentPackage>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/as/defaults.css b/frameworks/as/defaults.css
deleted file mode 100644
index 69ffc96..0000000
--- a/frameworks/as/defaults.css
+++ /dev/null
@@ -1,388 +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.
- *
- */
-
-@namespace "library://ns.apache.org/flexjs/basic";
-@namespace h5 "library://ns.apache.org/flexjs/html5";
-@namespace jq "library://ns.apache.org/flexjs/jquery";
-@namespace createjs "library://ns.apache.org/flexjs/createjs";
-
-/* Global style declaration */
-*
-{
-    font-family: "Arial";
-    font-size: 12px;
-}
-
-Button
-{
-	background-color: #d8d8d8;
-	border: 1px solid #000000;
-	padding: 4px;
-	/*IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.CSSButtonView");*/
-}
-
-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.staticControls.beads.models.ArraySelectionModel");
-    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.ButtonBarView");			
-    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.ListSingleSelectionMouseController");
-    IBeadLayout: ClassReference("org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout");
-    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.staticControls.beads.TextItemRendererFactoryForArrayData");
-    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-    IItemRenderer: ClassReference("org.apache.flex.html.staticControls.supportClasses.ButtonBarButtonItemRenderer");
-
-    border-style: none;
-}
-
-ButtonBarButtonItemRenderer
-{
-    width: 80;
-    height: 30;
-}
-
-DataGrid
-{
-    IDataGridPresentationModel: ClassReference("org.apache.flex.html.staticControls.beads.models.DataGridPresentationModel");
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.DataGridView");
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.DataGridModel");
-    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-    IItemRenderer: ClassReference("org.apache.flex.html.staticControls.supportClasses.StringItemRenderer");
-
-    background-color: #FFFFFF;
-}
-
-List
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ArraySelectionModel");
-    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.ListView");			
-    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.ListSingleSelectionMouseController");
-    IBeadLayout: ClassReference("org.apache.flex.html.staticControls.beads.layouts.NonVirtualVerticalScrollingLayout");
-    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.staticControls.beads.DataItemRendererFactoryForArrayData");
-    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-    IItemRenderer: ClassReference("org.apache.flex.html.staticControls.supportClasses.DataItemRenderer");
-}
-
-SimpleList
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ArraySelectionModel");
-    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.ListView");
-    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.ListSingleSelectionMouseController");
-    IBeadLayout: ClassReference("org.apache.flex.html.staticControls.beads.layouts.NonVirtualVerticalScrollingLayout");
-    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.staticControls.beads.TextItemRendererFactoryForArrayData");
-    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-    IItemRenderer: ClassReference("org.apache.flex.html.staticControls.supportClasses.StringItemRenderer");
-}
-
-StringItemRenderer
-{
-    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.ItemRendererMouseController");
-    height: 16;
-}
-
-/* Global Style Declaration */
-global
-{
-    IStatesImpl: ClassReference("org.apache.flex.core.SimpleStatesImpl");
-}
-
-@media -flex-flash
-{
-
-Alert
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.AlertModel");
-    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.AlertView");
-    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.AlertController");
-    iBackgroundBead: ClassReference("org.apache.flex.html.staticControls.beads.SolidBackgroundBead");
-    iBorderBead: ClassReference("org.apache.flex.html.staticControls.beads.SingleLineBorderBead");
-    
-    background-color: #FFFFFF;
-    border-style: solid;
-    border-color: #000000;
-    border-thickness: 1;
-}
-
-CheckBox
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ToggleButtonModel");
-    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.CheckBoxView");			
-}
-
-ComboBox
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ComboBoxModel");
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.ComboBoxView");
-    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.ComboBoxController");
-    IPopUp: ClassReference("org.apache.flex.html.staticControls.supportClasses.DropDownListList");
-    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.staticControls.beads.TextItemRendererFactoryForArrayData");
-    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-    IItemRenderer: ClassReference("org.apache.flex.html.staticControls.supportClasses.StringItemRenderer");
-}
-
-Container
-{
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.ContainerView")
-}
-
-ControlBar
-{
-    IBeadLayout: ClassReference("org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout");
-    iMeasurementBead: ClassReference("org.apache.flex.html.staticControls.beads.ControlBarMeasurementBead");
-    iBackgroundBead: ClassReference("org.apache.flex.html.staticControls.beads.SolidBackgroundBead");
-    iBorderBead: ClassReference("org.apache.flex.html.staticControls.beads.SingleLineBorderBead");
-    
-    background-color: #CECECE;
-    border-style: solid;
-    border-color: #000000;
-    border-thickness: 1;
-}
-
-DropDownList
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ArraySelectionModel");
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.DropDownListView");
-    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.DropDownListController");
-    IPopUp: ClassReference("org.apache.flex.html.staticControls.supportClasses.DropDownListList");
-}
-
-DropDownListList
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ArraySelectionModel");
-    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.staticControls.beads.TextItemRendererFactoryForArrayData");
-    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-    IItemRenderer: ClassReference("org.apache.flex.html.staticControls.supportClasses.StringItemRenderer");
-}
-
-Image
-{
-    width: 64;
-    height: 64;
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ImageModel");
-    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.ImageView");
-}
-
-Label
-{
-	width: 95;
-	height: 18;
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TextModel");
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.TextFieldView");
-	iMeasurementBead: ClassReference("org.apache.flex.html.staticControls.beads.TextFieldLabelMeasurementBead");
-}
-
-NumericStepper
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.RangeModel");
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.NumericStepperView");
-    
-    padding: 0px;
-    border-style: solid;
-    border-color: #000000;
-    border-thickness: 1;
-    background-color: #FFFFFF;
-    iBorderBead: ClassReference('org.apache.flex.html.staticControls.beads.SingleLineBorderBead');
-    iBackgroundBead: ClassReference('org.apache.flex.html.staticControls.beads.SolidBackgroundBead');
-}
-
-Panel
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.PanelModel");
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.PanelView");
-    iBorderBead: ClassReference("org.apache.flex.html.staticControls.beads.SingleLineBorderBead");
-    iBackgroundBead: ClassReference("org.apache.flex.html.staticControls.beads.SolidBackgroundBead");
-    
-    background-color: #FFFFFF;
-    border-style: solid;
-    border-color: #000000;
-    border-thickness: 1;
-}
-
-RadioButton
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ValueToggleButtonModel");
-    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.RadioButtonView");			
-}
-
-ScrollBar
-{
-    IBeadLayout: ClassReference("org.apache.flex.html.staticControls.beads.layouts.VScrollBarLayout");
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ScrollBarModel");
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.ScrollBarView");
-    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.VScrollBarMouseController");
-}
-
-SimpleAlert
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.AlertModel");
-    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.SimpleAlertView");
-    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.AlertController");
-    iBorderBead: ClassReference("org.apache.flex.html.staticControls.beads.SingleLineBorderBead");
-    iBackgroundBead: ClassReference("org.apache.flex.html.staticControls.beads.SolidBackgroundBead");
-    
-    background-color: #FFFFFF;
-    border-style: solid;
-    border-color: #000000;
-    border-thickness: 1;
-}
-
-Slider
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.RangeModel");
-    iBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.SliderView");
-    iBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.SliderMouseController");
-    iThumbView: ClassReference("org.apache.flex.html.staticControls.beads.SliderThumbView");
-    iTrackView: ClassReference("org.apache.flex.html.staticControls.beads.SliderTrackView");
-}
-
-Spinner
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.RangeModel");
-    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.SpinnerView");
-    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.SpinnerMouseController");
-}
-
-TextArea
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TextModel");
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.TextAreaView");
-    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.EditableTextKeyboardController");
-    width: 135;
-    height: 20;
-}
-
-TextButton
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TextModel");
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.CSSTextButtonView");
-    iMeasurementBead: ClassReference("org.apache.flex.html.staticControls.beads.TextButtonMeasurementBead");
-}
-
-TextFieldItemRenderer
-{
-    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.ItemRendererMouseController");
-    height: 16;
-}
-
-TextInput
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TextModel");
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.TextInputWithBorderView");
-    IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.EditableTextKeyboardController");
-	width: 135;
-	height: 20;
-}
-
-TitleBar
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TitleBarModel");
-    IBeadLayout: ClassReference("org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout");
-    iMeasurementBead: ClassReference("org.apache.flex.html.staticControls.beads.TitleBarMeasurementBead");
-}
-
-/* HTML5 */
-
-h5|TextButton
-{
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.CSSTextButtonView");
-}
-
-h5|TextInput
-{
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.TextInputWithBorderView");
-}
-
-h5|CheckBox
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ToggleButtonModel");
-    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.CheckBoxView");			
-}
-
-h5|RadioButton
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ValueToggleButtonModel");
-    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.RadioButtonView");			
-}
-
-h5|List
-{
-	IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ArraySelectionModel");
-}
-
-h5|DropDownList
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ArraySelectionModel");
-    IPopUp: ClassReference("org.apache.flex.html.staticControls.supportClasses.DropDownListList");
-}
-
-h5|ComboBox
-{
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.ComboBoxView");
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ComboBoxModel");
-    IPopUp: ClassReference("org.apache.flex.html.staticControls.supportClasses.DropDownListList");
-}
-
-/* jQuery */
-
-jq|TextButton
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TextModel");
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.TextButtonView");
-}
-
-
-jq|CheckBox
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ToggleButtonModel");
-    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.CheckBoxView");			
-}
-
-jq|RadioButton
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ValueToggleButtonModel");
-    IBeadView:  ClassReference("org.apache.flex.html.staticControls.beads.RadioButtonView");			
-}
-
-/* createjs */
-
-createjs|TextButton
-{
-    IBeadModel: ClassReference("org.apache.flex.html.staticControls.beads.models.TextModel");
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.TextButtonView");
-}
-
-createjs|CheckBox
-{
-    IBeadView: ClassReference("org.apache.flex.html.staticControls.beads.CheckBoxView");
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/flex-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/flex-config.xml b/frameworks/as/flex-config.xml
deleted file mode 100644
index e91d830..0000000
--- a/frameworks/as/flex-config.xml
+++ /dev/null
@@ -1,434 +0,0 @@
-<?xml version="1.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.
-
--->
-
-
-<flex-config>
-    <!-- Specifies the minimum player version that will run the compiled SWF. -->
-   <target-player>11.1</target-player>
-
-    <!-- Specifies the version of the compiled SWF -->
-   <swf-version>14</swf-version>
-
-   <compiler>
-
-      <!-- Turn on generation of accessible SWFs. -->
-      <accessible>true</accessible>
-
-      <!-- Specifies the locales for internationalization. -->
-      <locale>
-          <locale-element>en_US</locale-element>
-      </locale>
-
-      <!-- List of path elements that form the roots of ActionScript class hierarchies. -->
-      <!-- not set -->
-      <!--
-      <source-path>
-         <path-element>string</path-element>
-      </source-path>
-      -->
-
-     <!-- Allow the source-path to have path-elements which contain other path-elements -->
-     <allow-source-path-overlap>false</allow-source-path-overlap>
-
-      <!-- Run the AS3 compiler in a mode that detects legal but potentially incorrect -->
-      <!-- code.                                                                       -->
-      <show-actionscript-warnings>true</show-actionscript-warnings>
-
-      <!-- Turn on generation of debuggable SWFs. False by default for mxmlc, -->
-      <!-- but true by default for compc. -->
-      <!--
-      <debug>true</debug>
-      -->
-
-      <!-- List of SWC files or directories to compile against but to omit from -->
-      <!-- linking.                                                             -->
-      <external-library-path>
-          <path-element>libs/player/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc</path-element>
-      </external-library-path>
-
-      <!-- Turn on writing of generated/*.as files to disk. These files are generated by -->
-      <!-- the compiler during mxml translation and are helpful with understanding and   -->
-      <!-- debugging Flex applications.                                                  -->
-      <keep-generated-actionscript>false</keep-generated-actionscript>
-
-      <!-- not set -->
-      <!--
-      <include-libraries>
-         <library>string</library>
-      </include-libraries>
-      -->
-
-      <!-- List of SWC files or directories that contain SWC files. -->
-      <library-path>
-         <path-element>libs</path-element>
-         <path-element>locale/en_US</path-element>
-         <path-element>libs/player/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}</path-element>
-      </library-path>
-
-      <namespaces>
-      <!-- Specify a URI to associate with a manifest of components for use as MXML -->
-      <!-- elements.                                                                -->
-         <namespace>
-            <uri>library://ns.apache.org/flexjs/basic</uri>
-            
-            <manifest>basic-manifest.xml</manifest>
-         
-        </namespace>                                                 
-         <namespace>
-            <uri>library://ns.apache.org/flexjs/html5</uri>
-            
-            <manifest>html5-manifest.xml</manifest>
-         
-        </namespace>   
-      </namespaces>
-
-      <!-- Enable post-link SWF optimization. -->
-      <optimize>true</optimize>
-
-      <!-- Enable trace statement omission. -->
-      <omit-trace-statements>true</omit-trace-statements>
-
-      <!-- Keep the following AS3 metadata in the bytecodes.                                             -->
-      <!-- Warning: For the data binding feature in the Flex framework to work properly,                 -->
-      <!--          the following metadata must be kept:                                                 -->
-      <!--          1. Bindable                                                                          -->
-      <!--          2. Managed                                                                           -->
-      <!--          3. ChangeEvent                                                                       -->
-      <!--          4. NonCommittingChangeEvent                                                          -->
-      <!--          5. Transient                                                                         -->
-      <!--
-      <keep-as3-metadata>
-          <name>Bindable</name>
-          <name>Managed</name>
-          <name>ChangeEvent</name>
-          <name>NonCommittingChangeEvent</name>
-          <name>Transient</name>
-      </keep-as3-metadata>
-      -->
-
-      <!-- Turn on reporting of data binding warnings. For example: Warning: Data binding -->
-      <!-- will not be able to detect assignments to "foo".                               -->
-      <show-binding-warnings>true</show-binding-warnings>
-
-      <!-- toggle whether warnings generated from unused type selectors are displayed -->
-      <show-unused-type-selector-warnings>true</show-unused-type-selector-warnings>
-
-      <!-- Run the AS3 compiler in strict error checking mode. -->
-      <strict>true</strict>
-
-      <!-- Use the ActionScript 3 class based object model for greater performance and better error reporting. -->
-      <!-- In the class based object model most built-in functions are implemented as fixed methods of classes -->
-      <!-- (-strict is recommended, but not required, for earlier errors) -->
-      <as3>true</as3>
-
-      <!-- Use the ECMAScript edition 3 prototype based object model to allow dynamic overriding of prototype -->
-      <!-- properties. In the prototype based object model built-in functions are implemented as dynamic      -->
-      <!-- properties of prototype objects (-strict is allowed, but may result in compiler errors for         -->
-      <!-- references to dynamic properties) -->
-      <es>false</es>
-
-      <!-- List of CSS or SWC files to apply as a theme. -->
-      <theme>
-      </theme>
-
-      <!-- Turns on the display of stack traces for uncaught runtime errors. -->
-      <verbose-stacktraces>false</verbose-stacktraces>
-
-      <!-- Defines the AS3 file encoding. -->
-      <!-- not set -->
-      <!--
-      <actionscript-file-encoding></actionscript-file-encoding>
-      -->
-
-      <fonts>
-
-          <!-- Enables advanced anti-aliasing for embedded fonts, which provides greater clarity for small -->
-          <!-- fonts. This setting can be overriden in CSS for specific fonts. -->
-          <!-- NOTE: flash-type has been deprecated. Please use advanced-anti-aliasing <flash-type>true</flash-type> -->
-          <advanced-anti-aliasing>true</advanced-anti-aliasing>
-
-          <!-- The number of embedded font faces that are cached. -->
-          <max-cached-fonts>20</max-cached-fonts>
-
-          <!-- The number of character glyph outlines to cache for each font face. -->
-          <max-glyphs-per-face>1000</max-glyphs-per-face>
-
-          <!-- Defines ranges that can be used across multiple font-face declarations. -->
-          <!-- See flash-unicode-table.xml for more examples. -->
-          <!-- not set -->
-          <!--
-          <languages>
-              <language-range>
-                  <lang>englishRange</lang>
-                  <range>U+0020-007E</range>
-              </language-range>
-          </languages>
-          -->
-
-          <!-- Compiler font manager classes, in policy resolution order -->
-          <!-- NOTE: For Apache Flex -->
-          <!-- AFEFontManager and CFFFontManager both use proprietary technology.  -->
-          <!-- You must install the optional font jars if you wish to use embedded fonts  -->
-          <!-- directly or you can use fontswf to precompile the font as a swf.  -->
-          <managers>
-              <manager-class>flash.fonts.JREFontManager</manager-class>
-              <manager-class>flash.fonts.BatikFontManager</manager-class>
-              <manager-class>flash.fonts.AFEFontManager</manager-class>
-              <manager-class>flash.fonts.CFFFontManager</manager-class>
-          </managers>
-
-          <!-- File containing cached system font licensing information produced via
-               java -cp mxmlc.jar flex2.tools.FontSnapshot (fontpath)
-               Will default to winFonts.ser on Windows XP and
-               macFonts.ser on Mac OS X, so is commented out by default.
-
-          <local-fonts-snapshot>localFonts.ser</local-fonts-snapshot>
-          -->
-
-      </fonts>
-      
-      <!-- Array.toString() format has changed. -->
-      <warn-array-tostring-changes>false</warn-array-tostring-changes>
-
-      <!-- Assignment within conditional. -->
-      <warn-assignment-within-conditional>true</warn-assignment-within-conditional>
-
-      <!-- Possibly invalid Array cast operation. -->
-      <warn-bad-array-cast>true</warn-bad-array-cast>
-
-      <!-- Non-Boolean value used where a Boolean value was expected. -->
-      <warn-bad-bool-assignment>true</warn-bad-bool-assignment>
-
-      <!-- Invalid Date cast operation. -->
-      <warn-bad-date-cast>true</warn-bad-date-cast>
-
-      <!-- Unknown method. -->
-      <warn-bad-es3-type-method>true</warn-bad-es3-type-method>
-
-      <!-- Unknown property. -->
-      <warn-bad-es3-type-prop>true</warn-bad-es3-type-prop>
-
-      <!-- Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN. -->
-      <warn-bad-nan-comparison>true</warn-bad-nan-comparison>
-
-      <!-- Impossible assignment to null. -->
-      <warn-bad-null-assignment>true</warn-bad-null-assignment>
-
-      <!-- Illogical comparison with null. -->
-      <warn-bad-null-comparison>true</warn-bad-null-comparison>
-
-      <!-- Illogical comparison with undefined. Only untyped variables (or variables of type *) can be undefined. -->
-      <warn-bad-undefined-comparison>true</warn-bad-undefined-comparison>
-
-      <!-- Boolean() with no arguments returns false in ActionScript 3.0. Boolean() returned undefined in ActionScript 2.0. -->
-      <warn-boolean-constructor-with-no-args>false</warn-boolean-constructor-with-no-args>
-
-      <!-- __resolve is no longer supported. -->
-      <warn-changes-in-resolve>false</warn-changes-in-resolve>
-
-      <!-- Class is sealed. It cannot have members added to it dynamically. -->
-      <warn-class-is-sealed>true</warn-class-is-sealed>
-
-      <!-- Constant not initialized. -->
-      <warn-const-not-initialized>true</warn-const-not-initialized>
-
-      <!-- Function used in new expression returns a value. Result will be what the -->
-      <!-- function returns, rather than a new instance of that function.           -->
-      <warn-constructor-returns-value>false</warn-constructor-returns-value>
-
-      <!-- EventHandler was not added as a listener. -->
-      <warn-deprecated-event-handler-error>false</warn-deprecated-event-handler-error>
-
-      <!-- Unsupported ActionScript 2.0 function. -->
-      <warn-deprecated-function-error>true</warn-deprecated-function-error>
-
-      <!-- Unsupported ActionScript 2.0 property. -->
-      <warn-deprecated-property-error>true</warn-deprecated-property-error>
-
-      <!-- More than one argument by the same name. -->
-      <warn-duplicate-argument-names>true</warn-duplicate-argument-names>
-
-      <!-- Duplicate variable definition -->
-      <warn-duplicate-variable-def>true</warn-duplicate-variable-def>
-
-      <!-- ActionScript 3.0 iterates over an object's properties within a "for x in target" statement in random order. -->
-      <warn-for-var-in-changes>false</warn-for-var-in-changes>
-
-      <!-- Importing a package by the same name as the current class will hide that class identifier in this scope. -->
-      <warn-import-hides-class>true</warn-import-hides-class>
-
-      <!-- Use of the instanceof operator. -->
-      <warn-instance-of-changes>true</warn-instance-of-changes>
-
-      <!-- Internal error in compiler. -->
-      <warn-internal-error>true</warn-internal-error>
-
-      <!-- _level is no longer supported. For more information, see the flash.display package. -->
-      <warn-level-not-supported>true</warn-level-not-supported>
-
-      <!-- Missing namespace declaration (e.g. variable is not defined to be public, private, etc.). -->
-      <warn-missing-namespace-decl>true</warn-missing-namespace-decl>
-
-      <!-- Negative value will become a large positive value when assigned to a uint data type. -->
-      <warn-negative-uint-literal>true</warn-negative-uint-literal>
-
-      <!-- Missing constructor. -->
-      <warn-no-constructor>false</warn-no-constructor>
-
-      <!-- The super() statement was not called within the constructor. -->
-      <warn-no-explicit-super-call-in-constructor>false</warn-no-explicit-super-call-in-constructor>
-
-      <!-- Missing type declaration. -->
-      <warn-no-type-decl>true</warn-no-type-decl>
-
-      <!-- In ActionScript 3.0, white space is ignored and '' returns 0. Number() returns -->
-      <!-- NaN in ActionScript 2.0 when the parameter is '' or contains white space.      -->
-      <warn-number-from-string-changes>false</warn-number-from-string-changes>
-
-      <!-- Change in scoping for the this keyword. Class methods extracted from an  -->
-      <!-- instance of a class will always resolve this back to that instance. In   -->
-      <!-- ActionScript 2.0 this is looked up dynamically based on where the method -->
-      <!-- is invoked from.                                                         -->
-      <warn-scoping-change-in-this>false</warn-scoping-change-in-this>
-
-      <!-- Inefficient use of += on a TextField.-->
-      <warn-slow-text-field-addition>true</warn-slow-text-field-addition>
-
-      <!-- Possible missing parentheses. -->
-      <warn-unlikely-function-value>true</warn-unlikely-function-value>
-
-      <!-- Possible usage of the ActionScript 2.0 XML class. -->
-      <warn-xml-class-has-changed>false</warn-xml-class-has-changed>
-
-   </compiler>
-
-   <!-- compute-digest: writes a digest to the catalog.xml of a library. Use this when the library will be used as a
-                        cross-domain rsl.-->
-   <!-- compute-digest usage:
-   <compute-digest>boolean</compute-digest>
-   -->
-
-   <!-- remove-unused-rsls: remove RSLs that are not being used by the application-->
-   <remove-unused-rsls>true</remove-unused-rsls>
-
-   <!-- A list of runtime shared library URLs to be loaded before applications start. -->
-   <!-- not set -->
-   <!--
-   <runtime-shared-libraries>
-      <url>string</url>
-      <url>string</url>
-   </runtime-shared-libraries>
-   -->
-	
-	<!-- runtime-shared-library-path: specifies a SWC or directory to link against and an RSL URL to load with optional failover URLs -->  
-      <!-- Framework SWC 
-      	<runtime-shared-library-path>
-		<path-element>libs/framework.swc</path-element>
-		<rsl-url>framework_4.9.0.1425567.swf</rsl-url>
-	</runtime-shared-library-path>
-	-->
-
-  
-	  <!-- TextLayout SWC -->
-	<!-- 
-	    Even though there is no textLayout rsl leave this in so that in a FlashBuilder
-	    Flex Library project, FlashBuilder will allow "Link Type" to be external.
-    <runtime-shared-library-path>
-		<path-element>libs/textLayout.swc</path-element>
-		<rsl-url>textLayout_4.9.0.1425567.swf</rsl-url>
-	</runtime-shared-library-path>
-    -->
-    
-      <!-- Spark SWC
-   	<runtime-shared-library-path>
-		<path-element>libs/spark.swc</path-element>
-		<rsl-url>spark_4.9.0.1425567.swf</rsl-url>
-	</runtime-shared-library-path>
-    -->	
-      <!-- Sparkskins SWC
-   	<runtime-shared-library-path>
-		<path-element>libs/sparkskins.swc</path-element>
-		<rsl-url>sparkskins_4.9.0.1425567.swf</rsl-url>
-	</runtime-shared-library-path>
-	 -->
-	  <!-- RPC SWC
-	<runtime-shared-library-path>
-		<path-element>libs/rpc.swc</path-element>
-		<rsl-url>rpc_4.9.0.1425567.swf</rsl-url>
-	</runtime-shared-library-path>
-	 -->    	
-      <!-- Charts SWC 
-	<runtime-shared-library-path>
-		<path-element>libs/charts.swc</path-element>
-		<rsl-url>charts_4.9.0.1425567.swf</rsl-url>
-	</runtime-shared-library-path>
-     -->
-      <!-- Spark_dmv SWC 
-	<runtime-shared-library-path>
-		<path-element>libs/spark_dmv.swc</path-element>
-		<rsl-url>spark_dmv_4.9.0.1425567.swf</rsl-url>
-	</runtime-shared-library-path>
-    -->
-      <!-- OSMF SWC -->
-	<!-- 
-	    Even though there is no OSMF rsl leave this in so that in a FlashBuilder
-	    Flex Library project, FlashBuilder will allow "Link Type" to be external.
-    <runtime-shared-library-path>
-		<path-element>libs/osmf.swc</path-element>
-		<rsl-url>osmf_4.9.0.1425567.swf</rsl-url>
-	</runtime-shared-library-path>
-    -->
-      
-      <!-- MX SWC 
-	<runtime-shared-library-path>
-		<path-element>libs/mx/mx.swc</path-element>
-		<rsl-url>mx_4.9.0.1425567.swf</rsl-url>
-	</runtime-shared-library-path>
-   -->
-      <!-- Advancedgrids SWC 
-	<runtime-shared-library-path>
-		<path-element>libs/advancedgrids.swc</path-element>
-		<rsl-url>advancedgrids_4.9.0.1425567.swf</rsl-url>
-	</runtime-shared-library-path>
-	-->
-	<!-- static-link-runtime-shared-libraries: statically link the libraries specified by the -runtime-shared-libraries-path option.-->
-	<static-link-runtime-shared-libraries>true</static-link-runtime-shared-libraries>
-
-   <!-- target-player: specifies the version of the player the application is targeting.
-                       Features requiring a later version will not be compiled into the application.
-                       The minimum value supported is "9.0.0".-->
-   <!-- target-player usage:
-   <target-player>version</target-player>
-   -->
-
-   <!-- Enables SWFs to access the network. -->
-   <use-network>true</use-network>
-
-   <!-- Metadata added to SWFs via the SWF Metadata tag. -->
-   <metadata>
-      <title>Apache FlexJS Application</title>
-      <description>http://flex.apache.org/</description>
-      <publisher>Apache Software Foundation</publisher>
-      <creator>unknown</creator>
-      <language>EN</language>
-   </metadata>
-   
-</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/flex-sdk-description.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/flex-sdk-description.xml b/frameworks/as/flex-sdk-description.xml
deleted file mode 100644
index cc72eab..0000000
--- a/frameworks/as/flex-sdk-description.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.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.
-
--->
-<flex-sdk-description>
-<name>Apache FlexJS Prototype</name>
-<version>4.9.0</version>
-<build>1425567</build>
-</flex-sdk-description>
-        
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/html5-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/html5-manifest.xml b/frameworks/as/html5-manifest.xml
deleted file mode 100644
index efba2fa..0000000
--- a/frameworks/as/html5-manifest.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.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.
-
--->
-
-
-<componentPackage>
-
-    
-    <component id="Label" class="org.apache.flex.html5.staticControls.Label"/>
-    <component id="TextButton" class="org.apache.flex.html5.staticControls.TextButton"/>
-    <component id="TextInput" class="org.apache.flex.html5.staticControls.TextInput"/>
-    <component id="TextArea" class="org.apache.flex.html5.staticControls.TextArea"/>
-    <component id="CheckBox" class="org.apache.flex.html5.staticControls.CheckBox"/>
-    <component id="RadioButton" class="org.apache.flex.html5.staticControls.RadioButton"/>
-    <component id="List" class="org.apache.flex.html5.staticControls.List"/>
-    <component id="DropDownList" class="org.apache.flex.html5.staticControls.DropDownList"/>
-    <component id="ComboBox" class="org.apache.flex.html5.staticControls.ComboBox"/>
-
-</componentPackage>


[07/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/createjs/core/UIBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/createjs/core/UIBase.as b/frameworks/as/src/org/apache/flex/createjs/core/UIBase.as
deleted file mode 100644
index d0761a0..0000000
--- a/frameworks/as/src/org/apache/flex/createjs/core/UIBase.as
+++ /dev/null
@@ -1,141 +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.createjs.core
-{
-	import flash.display.DisplayObjectContainer;
-	import flash.display.Sprite;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public class UIBase extends Sprite implements IStrand, IEventDispatcher
-	{
-		public function UIBase()
-		{
-			super();
-		}
-		
-		private var _width:Number = 0;
-		override public function get width():Number
-		{
-			return _width;
-		}
-		override public function set width(value:Number):void
-		{
-			if (_width != value)
-			{
-				_width = value;
-				dispatchEvent(new Event("widthChanged"));
-			}
-		}
-		protected function get $width():Number
-		{
-			return super.width;
-		}
-		
-		private var _height:Number = 0;
-		override public function get height():Number
-		{
-			return _height;
-		}
-		override public function set height(value:Number):void
-		{
-			if (_height != value)
-			{
-				_height = value;
-				dispatchEvent(new Event("heightChanged"));
-			}
-		}
-		protected function get $height():Number
-		{
-			return super.height;
-		}
-		
-		private var _model:IBeadModel;
-		public function get model():IBeadModel
-		{
-			return _model;
-		}
-		public function set model(value:IBeadModel):void
-		{
-			if (_model != value)
-			{
-				addBead(value as IBead);
-				dispatchEvent(new Event("modelChanged"));
-			}
-		}
-		
-		private var _id:String;
-		public function get id():String
-		{
-			return _id;
-		}
-		public function set id(value:String):void
-		{
-			if (_id != value)
-			{
-				_id = value;
-				dispatchEvent(new Event("idChanged"));
-			}
-		}
-		
-		// beads declared in MXML are added to the strand.
-		// from AS, just call addBead()
-		public var beads:Array;
-		
-		private var _beads:Vector.<IBead>;
-		public function addBead(bead:IBead):void
-		{
-			if (!_beads)
-				_beads = new Vector.<IBead>;
-			_beads.push(bead);
-			if (bead is IBeadModel)
-				_model = bead as IBeadModel;
-			bead.strand = this;
-		}
-		
-		public function getBeadByType(classOrInterface:Class):IBead
-		{
-			for each (var bead:IBead in _beads)
-			{
-				if (bead is classOrInterface)
-					return bead;
-			}
-			return null;
-		}
-		
-		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/66246d8a/frameworks/as/src/org/apache/flex/createjs/core/ViewBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/createjs/core/ViewBase.as b/frameworks/as/src/org/apache/flex/createjs/core/ViewBase.as
deleted file mode 100644
index 195821f..0000000
--- a/frameworks/as/src/org/apache/flex/createjs/core/ViewBase.as
+++ /dev/null
@@ -1,86 +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.createjs.core
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.utils.MXMLDataInterpreter;
-	
-	[DefaultProperty("mxmlContent")]
-	public class ViewBase extends UIBase implements IParent
-	{
-		public function ViewBase()
-		{
-			super();
-		}
-		
-		public function initUI(model:Object):void
-		{
-			_applicationModel = model;
-			dispatchEvent(new Event("modelChanged"));
-			MXMLDataInterpreter.generateMXMLProperties(this, MXMLProperties);
-			MXMLDataInterpreter.generateMXMLInstances(this, this, MXMLDescriptor);
-		}
-		
-		public function get MXMLDescriptor():Array
-		{
-			return null;
-		}
-		
-		public function get MXMLProperties():Array
-		{
-			return null;
-		}
-		
-		public var mxmlContent:Array;
-		
-		private var _applicationModel:Object;
-		
-		[Bindable("modelChanged")]
-		public function get applicationModel():Object
-		{
-			return _applicationModel;
-		}
-        
-        public function addElement(c:Object):void
-        {
-            addChild(c as DisplayObject);
-        }
-
-        public function addElementAt(c:Object, index:int):void
-        {
-            addChildAt(c as DisplayObject, index);
-        }
-        
-        public function getElementIndex(c:Object):int
-        {
-            return getChildIndex(c as DisplayObject);
-        }
-        
-        public function removeElement(c:Object):void
-        {
-            removeChild(c as DisplayObject);
-        }
-        
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/createjs/staticControls/CheckBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/createjs/staticControls/CheckBox.as b/frameworks/as/src/org/apache/flex/createjs/staticControls/CheckBox.as
deleted file mode 100644
index b4dc469..0000000
--- a/frameworks/as/src/org/apache/flex/createjs/staticControls/CheckBox.as
+++ /dev/null
@@ -1,26 +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.createjs.staticControls
-{
-	import org.apache.flex.html.staticControls.CheckBox;
-	
-	public class CheckBox extends org.apache.flex.html.staticControls.CheckBox
-	{	
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/createjs/staticControls/Label.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/createjs/staticControls/Label.as b/frameworks/as/src/org/apache/flex/createjs/staticControls/Label.as
deleted file mode 100644
index fb8fb7e..0000000
--- a/frameworks/as/src/org/apache/flex/createjs/staticControls/Label.as
+++ /dev/null
@@ -1,27 +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.createjs.staticControls
-{
-	import org.apache.flex.html.staticControls.Label;
-	
-	public class Label extends org.apache.flex.html.staticControls.Label
-	{
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/createjs/staticControls/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/createjs/staticControls/TextButton.as b/frameworks/as/src/org/apache/flex/createjs/staticControls/TextButton.as
deleted file mode 100644
index 6764b22..0000000
--- a/frameworks/as/src/org/apache/flex/createjs/staticControls/TextButton.as
+++ /dev/null
@@ -1,52 +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.createjs.staticControls
-{
-	import flash.display.DisplayObject;
-
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.html.staticControls.Button;
-	
-	public class TextButton extends Button
-	{
-		public function TextButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
-		{
-			super(upState, overState, downState, hitTestState);
-		}
-		
-		public function get text():String
-		{
-			return ITextModel(model).text;
-		}
-		public function set text(value:String):void
-		{
-			ITextModel(model).text = value;
-		}
-		
-		public function get html():String
-		{
-			return ITextModel(model).html;
-		}
-		public function set html(value:String):void
-		{
-			ITextModel(model).html = value;
-		}
-				
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/data/ICollection.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/data/ICollection.as b/frameworks/as/src/org/apache/flex/data/ICollection.as
deleted file mode 100644
index b1d706f..0000000
--- a/frameworks/as/src/org/apache/flex/data/ICollection.as
+++ /dev/null
@@ -1,25 +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.data
-{
-	public interface ICollection
-	{
-		function getItemAt(index:int):Object
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/data/IStringCollection.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/data/IStringCollection.as b/frameworks/as/src/org/apache/flex/data/IStringCollection.as
deleted file mode 100644
index b978a58..0000000
--- a/frameworks/as/src/org/apache/flex/data/IStringCollection.as
+++ /dev/null
@@ -1,25 +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.data
-{
-	public interface IStringCollection
-	{
-		function getItemAt(index:int):String
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/events/CustomEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/events/CustomEvent.as b/frameworks/as/src/org/apache/flex/events/CustomEvent.as
deleted file mode 100644
index 0776e22..0000000
--- a/frameworks/as/src/org/apache/flex/events/CustomEvent.as
+++ /dev/null
@@ -1,36 +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.events
-{
-	/**
-	 *  MXML auto-imports flash.events.Event which then requires
-	 *  full qualification to use org.apache.flex.events.Event.
-	 *  Use CustomEvent to skip all that extra typing.  Eventually
-	 *  we should add a flag to strip out the default auto-imports.
-	 *  Like org.apache.flex.events.Event events on the JS side
-	 *  are DOMEvents and not really instances of this class
-	 */
-	public class CustomEvent extends Event
-	{
-		public function CustomEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
-		{
-			super(type, bubbles, cancelable);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/events/Event.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/events/Event.as b/frameworks/as/src/org/apache/flex/events/Event.as
deleted file mode 100644
index 91fd83a..0000000
--- a/frameworks/as/src/org/apache/flex/events/Event.as
+++ /dev/null
@@ -1,38 +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.events
-{
-	import flash.events.Event;
-	
-	/**
-	 *  This class simply wraps flash.events.Event so that
-	 *  no flash packages are needed on the JS side.
-	 *  At runtime, this class is not always the event object
-	 *  that is dispatched.  In most cases we are dispatching
-	 *  DOMEvents instead, so as long as you don't actually
-	 *  check the typeof(event) it will work
-	 */
-	public class Event extends flash.events.Event
-	{
-		public function Event(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
-		{
-			super(type, bubbles, cancelable);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/events/EventDispatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/events/EventDispatcher.as b/frameworks/as/src/org/apache/flex/events/EventDispatcher.as
deleted file mode 100644
index 64c6f87..0000000
--- a/frameworks/as/src/org/apache/flex/events/EventDispatcher.as
+++ /dev/null
@@ -1,34 +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.events
-{
-	import flash.events.EventDispatcher;
-	
-	/**
-	 *  This class simply wraps flash.events.EventDispatcher so that
-	 *  no flash packages are needed on the JS side.
-	 */
-	public class EventDispatcher extends flash.events.EventDispatcher implements IEventDispatcher
-	{
-		public function EventDispatcher()
-		{
-			super();
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/events/IEventDispatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/events/IEventDispatcher.as b/frameworks/as/src/org/apache/flex/events/IEventDispatcher.as
deleted file mode 100644
index b838d23..0000000
--- a/frameworks/as/src/org/apache/flex/events/IEventDispatcher.as
+++ /dev/null
@@ -1,31 +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.events
-{
-	import flash.events.IEventDispatcher;
-	
-	/**
-	 *  This class simply wraps flash.events.EventDispatcher so that
-	 *  no flash packages are needed on the JS side.
-	 */
-	public interface IEventDispatcher extends flash.events.IEventDispatcher
-	{
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/events/ValueChangeEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/events/ValueChangeEvent.as b/frameworks/as/src/org/apache/flex/events/ValueChangeEvent.as
deleted file mode 100644
index 4a759f7..0000000
--- a/frameworks/as/src/org/apache/flex/events/ValueChangeEvent.as
+++ /dev/null
@@ -1,46 +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.events
-{
-	public class ValueChangeEvent extends Event
-	{
-		public function ValueChangeEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, 
-										 oldValue:Object = null, newValue:Object = null)
-		{
-			super(type, bubbles, cancelable);
-			this.oldValue = oldValue;
-			this.newValue = newValue;
-		}
-		
-		public var oldValue:Object;
-		public var newValue:Object;
-        public var propertyName:String;
-        public var source:Object;
-		
-		public static const VALUE_CHANGE:String = "valueChange";
-        
-        public static function createUpdateEvent(source:Object, name:String, oldValue:Object, newValue:Object):ValueChangeEvent
-        {
-            var event:ValueChangeEvent = new ValueChangeEvent(VALUE_CHANGE, false, false, oldValue, newValue);
-            event.propertyName = name;
-            event.source = source;
-            return event;
-        }
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/Alert.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/Alert.as b/frameworks/as/src/org/apache/flex/html/staticControls/Alert.as
deleted file mode 100644
index b3cf5e2..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/Alert.as
+++ /dev/null
@@ -1,85 +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.staticControls
-{
-	import org.apache.flex.core.IAlertModel;
-	import org.apache.flex.core.IPopUp;
-	import org.apache.flex.core.UIBase;
-	
-	public class Alert extends UIBase implements IPopUp
-	{
-		public static const YES:uint    = 0x000001;
-		public static const NO:uint     = 0x000002;
-		public static const OK:uint     = 0x000004;
-		public static const CANCEL:uint = 0x000008;
-		
-		public function Alert()
-		{
-			super();
-			
-			className = "Alert";
-		}
-		
-		// note: only passing parent to this function as I don't see a way to identify
-		// the 'application' or top level view without supplying a place to start to
-		// look for it.
-		static public function show( text:String, parent:Object, title:String="", flags:uint=Alert.OK ) : void
-		{
-			var alert:Alert = new Alert();
-			alert.message = text;
-			alert.title  = title;
-			alert.flags = flags;
-			
-			alert.show(parent);
-		}
-		
-		public function show(parent:Object) : void
-		{
-			parent.addElement(this);
-		}
-		
-		public function get title():String
-		{
-			return IAlertModel(model).title;
-		}
-		public function set title(value:String):void
-		{
-			IAlertModel(model).title = value;
-		}
-		
-		public function get message():String
-		{
-			return IAlertModel(model).message;
-		}
-		public function set message(value:String):void
-		{
-			IAlertModel(model).message = value;
-		}
-		
-		public function get flags():uint
-		{
-			return IAlertModel(model).flags;
-		}
-		public function set flags(value:uint):void
-		{
-			IAlertModel(model).flags = value;
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/Button.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/Button.as b/frameworks/as/src/org/apache/flex/html/staticControls/Button.as
deleted file mode 100644
index ce28dc5..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/Button.as
+++ /dev/null
@@ -1,37 +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.staticControls
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-    import org.apache.flex.core.UIButtonBase;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	[Event(name="click", type="org.apache.flex.events.Event")]
-
-	public class Button extends UIButtonBase implements IStrand, IEventDispatcher, IUIBase
-	{
-		public function Button(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
-		{
-			super(upState, overState, downState, hitTestState);
-		}		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/ButtonBar.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/ButtonBar.as b/frameworks/as/src/org/apache/flex/html/staticControls/ButtonBar.as
deleted file mode 100644
index ee7c0e3..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/ButtonBar.as
+++ /dev/null
@@ -1,28 +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.staticControls
-{
-	public class ButtonBar extends List
-	{
-		public function ButtonBar()
-		{
-			super();
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/CheckBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/CheckBox.as b/frameworks/as/src/org/apache/flex/html/staticControls/CheckBox.as
deleted file mode 100644
index ceaf488..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/CheckBox.as
+++ /dev/null
@@ -1,65 +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.staticControls
-{
-	import flash.display.DisplayObject;
-    import flash.events.MouseEvent;
-	
-	import org.apache.flex.core.IToggleButtonModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIButtonBase;
-	import org.apache.flex.events.Event;
-	
-	[Event(name="change", type="org.apache.flex.events.Event")]
-
-	public class CheckBox extends UIButtonBase implements IStrand
-	{
-		public function CheckBox(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
-		{
-			super(upState, overState, downState, hitTestState);
-			
-			addEventListener(MouseEvent.CLICK, internalMouseHandler);
-		}
-		
-		public function get text():String
-		{
-			return IToggleButtonModel(model).text;
-		}
-		public function set text(value:String):void
-		{
-			IToggleButtonModel(model).text = value;
-		}
-		
-		public function get selected():Boolean
-		{
-			return IToggleButtonModel(model).selected;
-		}
-		
-		public function set selected(value:Boolean):void
-		{
-			IToggleButtonModel(model).selected = value;
-		}
-				
-		private function internalMouseHandler(event:Event) : void
-		{
-			selected = !selected;
-			dispatchEvent(new Event("change"));
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/ComboBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/ComboBox.as b/frameworks/as/src/org/apache/flex/html/staticControls/ComboBox.as
deleted file mode 100644
index d70e644..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/ComboBox.as
+++ /dev/null
@@ -1,61 +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.staticControls
-{
-	import org.apache.flex.core.IComboBoxModel;
-	import org.apache.flex.core.UIBase;
-	
-	[Event(name="change", type="org.apache.flex.events.Event")]
-	
-	public class ComboBox extends UIBase
-	{
-		public function ComboBox()
-		{
-			super();
-		}
-		
-		public function get dataProvider():Object
-		{
-			return IComboBoxModel(model).dataProvider;
-		}
-		public function set dataProvider(value:Object):void
-		{
-			IComboBoxModel(model).dataProvider = value;
-		}
-		
-		public function get selectedIndex():int
-		{
-			return IComboBoxModel(model).selectedIndex;
-		}
-		public function set selectedIndex(value:int):void
-		{
-			IComboBoxModel(model).selectedIndex = value;
-		}
-		
-		public function get selectedItem():Object
-		{
-			return IComboBoxModel(model).selectedItem;
-		}
-		public function set selectedItem(value:Object):void
-		{
-			IComboBoxModel(model).selectedItem = value;
-		}
-				
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/Container.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/Container.as b/frameworks/as/src/org/apache/flex/html/staticControls/Container.as
deleted file mode 100644
index 05a59b1..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/Container.as
+++ /dev/null
@@ -1,125 +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.staticControls
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.core.IContainer;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	
-    [Event(name="change", type="org.apache.flex.events.Event")]
-    
-	[DefaultProperty("mxmlContent")]
-	public class Container extends UIBase implements IContainer
-	{
-		public function Container()
-		{
-			super();
-			actualParent = this;
-		}
-		
-		public var mxmlContent:Array;
-
-		private var actualParent:DisplayObjectContainer;
-		
-		public function setActualParent(parent:DisplayObjectContainer):void
-		{
-			actualParent = parent;	
-		}
-		
-        override public function getElementIndex(c:Object):int
-        {
-            if (c is IUIBase)
-                return actualParent.getChildIndex(IUIBase(c).element as DisplayObject);
-            else
-                return actualParent.getChildIndex(c as DisplayObject);
-        }
-
-        override public function addElement(c:Object):void
-        {
-            if (c is IUIBase)
-            {
-				if (c is IChrome ) {
-					addChild(IUIBase(c).element as DisplayObject);
-					IUIBase(c).addedToParent();
-				}
-				else {
-                	actualParent.addChild(IUIBase(c).element as DisplayObject);
-                	IUIBase(c).addedToParent();
-				}
-            }
-            else {
-				if (c is IChrome) {
-					addChild(c as DisplayObject);
-				}
-				else {
-					actualParent.addChild(c as DisplayObject);
-				}
-			}
-        }
-        
-        override public function addElementAt(c:Object, index:int):void
-        {
-            if (c is IUIBase)
-            {
-				if (c is IChrome) {
-					addChildAt(IUIBase(c).element as DisplayObject, index);
-					IUIBase(c).addedToParent();
-				}
-				else {
-                	actualParent.addChildAt(IUIBase(c).element as DisplayObject, index);
-                	IUIBase(c).addedToParent();
-				}
-            }
-            else {
-				if (c is IChrome) {
-					addChildAt(c as DisplayObject, index);
-				} else {
-                	actualParent.addChildAt(c as DisplayObject, index);
-				}
-			}
-        }
-        
-        override public function removeElement(c:Object):void
-        {
-            if (c is IUIBase)
-                actualParent.removeChild(IUIBase(c).element as DisplayObject);
-            else
-                actualParent.removeChild(c as DisplayObject);
-        }
-        
-        public function getChildren():Array
-		{
-			var children:Array = [];
-			var n:int = actualParent.numChildren;
-			for (var i:int = 0; i < n; i++)
-				children.push(actualParent.getChildAt(i));
-			return children;
-		}
-
-		public function childrenAdded():void
-		{
-			dispatchEvent(new Event("childrenAdded"));
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/ContainerContentArea.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/ContainerContentArea.as b/frameworks/as/src/org/apache/flex/html/staticControls/ContainerContentArea.as
deleted file mode 100644
index fd846a4..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/ContainerContentArea.as
+++ /dev/null
@@ -1,30 +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.staticControls
-{
-	import org.apache.flex.core.UIBase;
-	
-	public class ContainerContentArea extends UIBase
-	{
-		public function ContainerContentArea()
-		{
-			super();
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/ControlBar.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/ControlBar.as b/frameworks/as/src/org/apache/flex/html/staticControls/ControlBar.as
deleted file mode 100644
index 8f0a46b..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/ControlBar.as
+++ /dev/null
@@ -1,46 +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.staticControls
-{
-	
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.core.IContainer;
-	import org.apache.flex.core.ValuesManager;
-
-	public class ControlBar extends Container implements IContainer, IChrome
-	{
-		public function ControlBar()
-		{
-			super();
-			
-			className = "ControlBar";
-		}
-		
-		override public function addedToParent():void
-		{
-			super.addedToParent();	
-			
-			if( getBeadByType(IBeadLayout) == null ) {
-				var layout:IBeadLayout = new (ValuesManager.valuesImpl.getValue(this, "iBeadLayout")) as IBeadLayout;
-				addBead(layout);
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/DataGrid.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/DataGrid.as b/frameworks/as/src/org/apache/flex/html/staticControls/DataGrid.as
deleted file mode 100644
index 9a02831..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/DataGrid.as
+++ /dev/null
@@ -1,56 +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.staticControls
-{
-	import org.apache.flex.core.IDataGridModel;
-	import org.apache.flex.core.UIBase;
-	
-	[Event(name="change", type="org.apache.flex.events.Event")]
-	
-	public class DataGrid extends UIBase
-	{
-		public function DataGrid()
-		{
-			super();
-		}
-		
-		public function get dataProvider():Object
-		{
-			return IDataGridModel(model).dataProvider;
-		}
-		public function set dataProvider(value:Object):void
-		{
-			IDataGridModel(model).dataProvider = value;
-		}
-		
-		public function get labelFields():Object
-		{
-			return IDataGridModel(model).labelFields;
-		}
-		public function set labelFields(value:Object):void
-		{
-			IDataGridModel(model).labelFields = value;
-		}
-		
-		public function get selectedIndex():int
-		{
-			return IDataGridModel(model).selectedIndex;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/DropDownList.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/DropDownList.as b/frameworks/as/src/org/apache/flex/html/staticControls/DropDownList.as
deleted file mode 100644
index 57f1a88..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/DropDownList.as
+++ /dev/null
@@ -1,59 +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.staticControls
-{
-    import org.apache.flex.core.ISelectionModel;
-    
-    [Event(name="change", type="org.apache.flex.events.Event")]
-    
-	public class DropDownList extends Button
-	{
-		public function DropDownList()
-		{
-		}
-		
-        public function get dataProvider():Object
-        {
-            return ISelectionModel(model).dataProvider;
-        }
-        public function set dataProvider(value:Object):void
-        {
-            ISelectionModel(model).dataProvider = value;
-        }
-        
-        public function get selectedIndex():int
-        {
-            return ISelectionModel(model).selectedIndex;
-        }
-        public function set selectedIndex(value:int):void
-        {
-            ISelectionModel(model).selectedIndex = value;
-        }
-        
-        public function get selectedItem():Object
-        {
-            return ISelectionModel(model).selectedItem;
-        }
-        public function set selectedItem(value:Object):void
-        {
-            ISelectionModel(model).selectedItem = value;
-        }
-                        
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/Image.as b/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
deleted file mode 100644
index eebfe40..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
+++ /dev/null
@@ -1,41 +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.staticControls
-{
-	import org.apache.flex.core.IImageModel;
-	import org.apache.flex.core.UIBase;
-	
-	public class Image extends UIBase
-	{
-		public function Image()
-		{
-			super();
-		}
-		
-		public function get source():String
-		{
-			return IImageModel(model).source;
-		}
-		
-		public function set source(value:String):void
-		{
-			IImageModel(model).source = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/Label.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/Label.as b/frameworks/as/src/org/apache/flex/html/staticControls/Label.as
deleted file mode 100644
index 30565d6..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/Label.as
+++ /dev/null
@@ -1,70 +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.staticControls
-{
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	/**
-	 *  Label probably should extend TextField directly,
-	 *  but the player's APIs for TextLine do not allow
-	 *  direct instantiation, and we might want to allow
-	 *  Labels to be declared and have their actual
-	 *  view be swapped out.
-	 */
-	public class Label extends UIBase
-	{
-		public function Label()
-		{
-			super();
-		}
-		
-		public function get text():String
-		{
-			return ITextModel(model).text;
-		}
-		public function set text(value:String):void
-		{
-			ITextModel(model).text = value;
-		}
-		
-		public function get html():String
-		{
-			return ITextModel(model).html;
-		}
-		public function set html(value:String):void
-		{
-			ITextModel(model).html = value;
-		}
-				
-		override public function set width(value:Number):void
-		{
-			super.width = value;
-			IEventDispatcher(model).dispatchEvent( new Event("widthChanged") );
-		}
-		
-		override public function set height(value:Number):void
-		{
-			super.height = value;
-			IEventDispatcher(model).dispatchEvent( new Event("heightChanged") );
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/List.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/List.as b/frameworks/as/src/org/apache/flex/html/staticControls/List.as
deleted file mode 100644
index da1638e..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/List.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.staticControls
-{
-	import org.apache.flex.core.IRollOverModel;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.html.staticControls.beads.IDataProviderItemRendererMapper;
-	
-    [Event(name="change", type="org.apache.flex.events.Event")]
-    
-	/**
-	 *  Label probably should extend TextField directly,
-	 *  but the player's APIs for TextLine do not allow
-	 *  direct instantiation, and we might want to allow
-	 *  Labels to be declared and have their actual
-	 *  view be swapped out.
-	 */
-	public class List extends UIBase
-	{
-		public function List()
-		{
-			super();
-		}
-		
-        public function get dataProvider():Object
-        {
-            return ISelectionModel(model).dataProvider;
-        }
-        public function set dataProvider(value:Object):void
-        {
-            ISelectionModel(model).dataProvider = value;
-        }
-
-        public function get selectedIndex():int
-		{
-			return ISelectionModel(model).selectedIndex;
-		}
-		public function set selectedIndex(value:int):void
-		{
-			ISelectionModel(model).selectedIndex = value;
-		}
-
-        public function get rollOverIndex():int
-		{
-			return IRollOverModel(model).rollOverIndex;
-		}
-		public function set rollOverIndex(value:int):void
-		{
-			IRollOverModel(model).rollOverIndex = value;
-		}
-		
-		public function get selectedItem():Object
-		{
-			return ISelectionModel(model).selectedItem;
-		}
-		public function set selectedItem(value:Object):void
-		{
-			ISelectionModel(model).selectedItem = value;
-		}
-		
-		override public function addedToParent():void
-		{
-            super.addedToParent();
-            
-            if (getBeadByType(IDataProviderItemRendererMapper) == null)
-            {
-                var mapper:IDataProviderItemRendererMapper = new (ValuesManager.valuesImpl.getValue(this, "iDataProviderItemRendererMapper")) as IDataProviderItemRendererMapper;
-                addBead(mapper);
-            }
-		}
-        
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/NumericStepper.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/NumericStepper.as b/frameworks/as/src/org/apache/flex/html/staticControls/NumericStepper.as
deleted file mode 100644
index c587ff3..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/NumericStepper.as
+++ /dev/null
@@ -1,77 +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.staticControls
-{
-	import org.apache.flex.core.IRangeModel;
-
-	[Event(name="valueChanged", type="org.apache.flex.events.Event")]
-	public class NumericStepper extends Container
-	{
-		public function NumericStepper()
-		{
-			super();
-		}
-		
-		public function get value():Number
-		{
-			return IRangeModel(model).value;
-		}
-		public function set value(newValue:Number):void
-		{
-			IRangeModel(model).value = newValue;
-		}
-		
-		public function get minimum():Number
-		{
-			return IRangeModel(model).minimum;
-		}
-		public function set minimum(value:Number):void
-		{
-			IRangeModel(model).minimum = value;
-		}
-		
-		public function get maximum():Number
-		{
-			return IRangeModel(model).maximum;
-		}
-		public function set maximum(value:Number):void
-		{
-			IRangeModel(model).maximum = value;
-		}
-		
-		public function get stepSize():Number
-		{
-			return IRangeModel(model).stepSize;
-		}
-		public function set stepSize(value:Number):void
-		{
-			IRangeModel(model).stepSize = value;
-		}
-		
-		public function get snapInterval():Number
-		{
-			return IRangeModel(model).snapInterval;
-		}
-		public function set snapInterval(value:Number):void
-		{
-			IRangeModel(model).snapInterval = value;
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/Panel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/Panel.as b/frameworks/as/src/org/apache/flex/html/staticControls/Panel.as
deleted file mode 100644
index 90b637e..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/Panel.as
+++ /dev/null
@@ -1,70 +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.staticControls
-{
-	import org.apache.flex.core.IPanelModel;
-
-	[Event(name="close", type="org.apache.flex.events.Event")]
-	
-	public class Panel extends Container
-	{
-		public function Panel()
-		{
-			super();
-		}
-		
-		public function get title():String
-		{
-			return IPanelModel(model).title;
-		}
-		public function set title(value:String):void
-		{
-			IPanelModel(model).title = value;
-		}
-		
-		public function get htmlTitle():String
-		{
-			return IPanelModel(model).htmlTitle;
-		}
-		public function set htmlTitle(value:String):void
-		{
-			IPanelModel(model).htmlTitle = value;
-		}
-		
-		public function get showCloseButton():Boolean
-		{
-			return IPanelModel(model).showCloseButton;
-		}
-		public function set showCloseButton(value:Boolean):void
-		{
-			IPanelModel(model).showCloseButton = value;
-		}
-		
-		private var _controlBar:Array;
-		public function get controlBar():Array
-		{
-			return _controlBar;
-		}
-		public function set controlBar(value:Array):void
-		{
-			_controlBar = value;
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/RadioButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/RadioButton.as b/frameworks/as/src/org/apache/flex/html/staticControls/RadioButton.as
deleted file mode 100644
index 8f31816..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/RadioButton.as
+++ /dev/null
@@ -1,142 +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.staticControls
-{
-	import flash.display.DisplayObject;
-	import flash.events.MouseEvent;
-	import flash.utils.Dictionary;
-	
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IValueToggleButtonModel;
-	import org.apache.flex.core.UIButtonBase;
-	import org.apache.flex.events.Event;
-	
-	[Event(name="change", type="org.apache.flex.events.Event")]
-
-	public class RadioButton extends UIButtonBase implements IStrand
-	{
-		public function RadioButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
-		{
-			super(upState, overState, downState, hitTestState);
-			
-			addEventListener(MouseEvent.CLICK, internalMouseHandler);
-		}
-		
-		protected static var dict:Dictionary = new Dictionary(true);
-		
-		private var _groupName:String;
-		
-		public function get groupName() : String
-		{
-			return IValueToggleButtonModel(model).groupName;
-		}
-		
-		public function set groupName(value:String) : void
-		{
-			IValueToggleButtonModel(model).groupName = value;
-		}
-		
-		public function get text():String
-		{
-			return IValueToggleButtonModel(model).text;
-		}
-		public function set text(value:String):void
-		{
-			IValueToggleButtonModel(model).text = value;
-		}
-		
-		public function get selected():Boolean
-		{
-			return IValueToggleButtonModel(model).selected;
-		}
-		
-		public function set selected(selValue:Boolean):void
-		{
-			IValueToggleButtonModel(model).selected = selValue;
-			
-			// if this button is being selected, its value should become
-			// its group's selectedValue
-			if( selValue ) {
-				for each(var rb:RadioButton in dict)
-				{
-					if( rb.groupName == groupName )
-					{
-						rb.selectedValue = value;
-					}
-				}
-			}
-		}
-		
-		public function get value():Object
-		{
-			return IValueToggleButtonModel(model).value;
-		}
-		
-		public function set value(newValue:Object):void
-		{
-			IValueToggleButtonModel(model).value = newValue;
-		}
-		
-		public function get selectedValue():Object 
-		{
-			return IValueToggleButtonModel(model).selectedValue;
-		}
-		
-		public function set selectedValue(newValue:Object):void 
-		{
-			// a radio button is really selected when its value matches that of the group's value
-			IValueToggleButtonModel(model).selected = (newValue == value);
-			IValueToggleButtonModel(model).selectedValue = newValue;
-		}
-				
-		override public function addedToParent():void
-		{
-            super.addedToParent();
-
-            // if this instance is selected, set the local selectedValue to
-			// this instance's value
-			if( selected ) selectedValue = value;
-			
-			else {
-			
-				// make sure this button's selectedValue is set from its group's selectedValue
-				// to keep it in sync with the rest of the buttons in its group.
-				for each(var rb:RadioButton in dict)
-				{
-					if( rb.groupName == groupName )
-					{
-						selectedValue = rb.selectedValue;
-						break;
-					}
-				}
-			}
-			
-			dict[this] = this;
-		}
-				
-		private function internalMouseHandler(event:Event) : void
-		{
-			// prevent radiobutton from being turned off by a click
-			if( !selected ) {
-				selected = !selected;
-				dispatchEvent(new Event("change"));
-			}
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/SimpleAlert.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/SimpleAlert.as b/frameworks/as/src/org/apache/flex/html/staticControls/SimpleAlert.as
deleted file mode 100644
index cf4cc8c..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/SimpleAlert.as
+++ /dev/null
@@ -1,70 +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.staticControls
-{	
-	import org.apache.flex.core.IAlertModel;
-	import org.apache.flex.core.IPopUp;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	
-	[Event(name="close", type="org.apache.flex.events.Event")]
-	
-	public class SimpleAlert extends UIBase implements IPopUp
-	{
-		public function SimpleAlert()
-		{
-			super();
-			
-			className = "SimpleAlert";
-		}
-		
-		private function get message():String
-		{
-			return IAlertModel(model).message;
-		}
-		private function set message(value:String):void
-		{
-			IAlertModel(model).message = value;
-		}
-		
-		private function get htmlMessage():String
-		{
-			return IAlertModel(model).htmlMessage;
-		}
-		private function set htmlMessage(value:String):void
-		{
-			IAlertModel(model).htmlMessage = value;
-		}
-		
-		public function show(parent:Object) : void
-		{
-			parent.addElement(this);
-		}
-		
-		static public function show(message:String, parent:Object):SimpleAlert
-		{
-			var alert:SimpleAlert = new SimpleAlert();
-			alert.message = message;
-			alert.show(parent);
-			
-			return alert;
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/SimpleList.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/SimpleList.as b/frameworks/as/src/org/apache/flex/html/staticControls/SimpleList.as
deleted file mode 100644
index 9f19a72..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/SimpleList.as
+++ /dev/null
@@ -1,28 +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.staticControls
-{
-	public class SimpleList extends List
-	{
-		public function SimpleList()
-		{
-			super();
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/Slider.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/Slider.as b/frameworks/as/src/org/apache/flex/html/staticControls/Slider.as
deleted file mode 100644
index 47a0db5..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/Slider.as
+++ /dev/null
@@ -1,77 +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.staticControls
-{
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.UIBase;
-	
-	[Event(name="valueChanged", type="org.apache.flex.events.Event")]
-	
-	public class Slider extends UIBase
-	{
-		public function Slider()
-		{
-			super();
-			
-			className = "Slider";
-			
-			IRangeModel(model).value = 0;
-			IRangeModel(model).minimum = 0;
-			IRangeModel(model).maximum = 100;
-			IRangeModel(model).stepSize = 1;
-			IRangeModel(model).snapInterval = 1;
-		}
-		
-		public function get value():Number
-		{
-			return IRangeModel(model).value;
-		}
-		public function set value(newValue:Number):void
-		{
-			IRangeModel(model).value = newValue;
-		}
-		
-		public function get minimum():Number
-		{
-			return IRangeModel(model).minimum;
-		}
-		public function set minimum(value:Number):void
-		{
-			IRangeModel(model).minimum = value;
-		}
-		
-		public function get maximum():Number
-		{
-			return IRangeModel(model).maximum;
-		}
-		public function set maximum(value:Number):void
-		{
-			IRangeModel(model).maximum = value;
-		}
-		
-		public function get snapInterval():Number
-		{
-			return IRangeModel(model).snapInterval;
-		}
-		public function set snapInterval(value:Number):void
-		{
-			IRangeModel(model).snapInterval = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/Spinner.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/Spinner.as b/frameworks/as/src/org/apache/flex/html/staticControls/Spinner.as
deleted file mode 100644
index d0eb443..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/Spinner.as
+++ /dev/null
@@ -1,81 +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.staticControls
-{
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.UIBase;
-	
-	[Event(name="valueChanged", type="org.apache.flex.events.Event")]
-	
-	public class Spinner extends UIBase
-	{
-		public function Spinner()
-		{
-			super();
-			
-			className = "Spinner";
-		}
-		
-		public function get value():Number
-		{
-			return IRangeModel(model).value;
-		}
-		public function set value(newValue:Number):void
-		{
-			IRangeModel(model).value = newValue;
-		}
-		
-		public function get minimum():Number
-		{
-			return IRangeModel(model).minimum;
-		}
-		public function set minimum(value:Number):void
-		{
-			IRangeModel(model).minimum = value;
-		}
-		
-		public function get maximum():Number
-		{
-			return IRangeModel(model).maximum;
-		}
-		public function set maximum(value:Number):void
-		{
-			IRangeModel(model).maximum = value;
-		}
-		
-		public function get snapInterval():Number
-		{
-			return IRangeModel(model).snapInterval;
-		}
-		public function set snapInterval(value:Number):void
-		{
-			IRangeModel(model).snapInterval = value;
-		}
-		
-		public function get stepSize():Number
-		{
-			return IRangeModel(model).stepSize;
-		}
-		public function set stepSize(value:Number):void
-		{
-			IRangeModel(model).stepSize = value;
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/TextArea.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/TextArea.as b/frameworks/as/src/org/apache/flex/html/staticControls/TextArea.as
deleted file mode 100644
index b8bb750..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/TextArea.as
+++ /dev/null
@@ -1,50 +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.staticControls
-{
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.UIBase;
-	
-	public class TextArea extends UIBase
-	{
-		public function TextArea()
-		{
-			super();
-		}
-		
-		public function get text():String
-		{
-			return ITextModel(model).text;
-		}
-		public function set text(value:String):void
-		{
-			ITextModel(model).text = value;
-		}
-		
-		public function get html():String
-		{
-			return ITextModel(model).html;
-		}
-		public function set html(value:String):void
-		{
-			ITextModel(model).html = value;
-		}
-		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/TextButton.as b/frameworks/as/src/org/apache/flex/html/staticControls/TextButton.as
deleted file mode 100644
index 425af1e..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/TextButton.as
+++ /dev/null
@@ -1,51 +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.staticControls
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.core.ITextModel;
-	
-	public class TextButton extends Button
-	{
-		public function TextButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
-		{
-			super(upState, overState, downState, hitTestState);
-		}
-		
-		public function get text():String
-		{
-			return ITextModel(model).text;
-		}
-		public function set text(value:String):void
-		{
-			ITextModel(model).text = value;
-		}
-		
-		public function get html():String
-		{
-			return ITextModel(model).html;
-		}
-		public function set html(value:String):void
-		{
-			ITextModel(model).html = value;
-		}
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/html/staticControls/TextInput.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/TextInput.as b/frameworks/as/src/org/apache/flex/html/staticControls/TextInput.as
deleted file mode 100644
index c048564..0000000
--- a/frameworks/as/src/org/apache/flex/html/staticControls/TextInput.as
+++ /dev/null
@@ -1,49 +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.staticControls
-{
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.UIBase;
-	
-	public class TextInput extends UIBase
-	{
-		public function TextInput()
-		{
-			super();
-		}
-		
-		public function get text():String
-		{
-			return ITextModel(model).text;
-		}
-		public function set text(value:String):void
-		{
-			ITextModel(model).text = value;
-		}
-		
-		public function get html():String
-		{
-			return ITextModel(model).html;
-		}
-		public function set html(value:String):void
-		{
-			ITextModel(model).html = value;
-		}
-		
-	}
-}
\ No newline at end of file


[08/21] move AS code into a projects/FlexJSUI

Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IRollOverModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IRollOverModel.as b/frameworks/as/src/org/apache/flex/core/IRollOverModel.as
deleted file mode 100644
index d38aa41..0000000
--- a/frameworks/as/src/org/apache/flex/core/IRollOverModel.as
+++ /dev/null
@@ -1,28 +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.core
-{
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public interface IRollOverModel extends IEventDispatcher, IBeadModel
-	{
-		function get rollOverIndex():int;
-		function set rollOverIndex(value:int):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IScrollBarModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IScrollBarModel.as b/frameworks/as/src/org/apache/flex/core/IScrollBarModel.as
deleted file mode 100644
index 2d92999..0000000
--- a/frameworks/as/src/org/apache/flex/core/IScrollBarModel.as
+++ /dev/null
@@ -1,29 +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.core
-{
-	public interface IScrollBarModel extends IRangeModel
-	{
-		function get pageSize():Number;
-		function set pageSize(value:Number):void;
-
-		function get pageStepSize():Number;
-		function set pageStepSize(value:Number):void;
-}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/ISelectionModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/ISelectionModel.as b/frameworks/as/src/org/apache/flex/core/ISelectionModel.as
deleted file mode 100644
index cdca279..0000000
--- a/frameworks/as/src/org/apache/flex/core/ISelectionModel.as
+++ /dev/null
@@ -1,34 +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.core
-{
-	import org.apache.flex.events.IEventDispatcher;
-
-	public interface ISelectionModel extends IEventDispatcher, IBeadModel
-	{
-		function get dataProvider():Object;
-		function set dataProvider(value:Object):void;
-		
-		function get selectedIndex():int;
-		function set selectedIndex(value:int):void;
-		
-		function get selectedItem():Object;
-		function set selectedItem(value:Object):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IStatesImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IStatesImpl.as b/frameworks/as/src/org/apache/flex/core/IStatesImpl.as
deleted file mode 100644
index 152fe8f..0000000
--- a/frameworks/as/src/org/apache/flex/core/IStatesImpl.as
+++ /dev/null
@@ -1,26 +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.core
-{
-	import org.apache.flex.events.IEventDispatcher;
-
-	public interface IStatesImpl extends IEventDispatcher, IBead
-	{
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IStrand.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IStrand.as b/frameworks/as/src/org/apache/flex/core/IStrand.as
deleted file mode 100644
index 8e742e2..0000000
--- a/frameworks/as/src/org/apache/flex/core/IStrand.as
+++ /dev/null
@@ -1,27 +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.core
-{
-	public interface IStrand
-	{
-		function addBead(bead:IBead):void;
-		function getBeadByType(classOrInterface:Class):IBead;
-		function removeBead(bead:IBead):IBead;		
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/ITextModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/ITextModel.as b/frameworks/as/src/org/apache/flex/core/ITextModel.as
deleted file mode 100644
index 478e374..0000000
--- a/frameworks/as/src/org/apache/flex/core/ITextModel.as
+++ /dev/null
@@ -1,29 +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.core
-{
-	public interface ITextModel extends IBeadModel
-	{
-		function get text():String;
-		function set text(value:String):void;
-		
-		function get html():String;
-		function set html(value:String):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/ITitleBarModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/ITitleBarModel.as b/frameworks/as/src/org/apache/flex/core/ITitleBarModel.as
deleted file mode 100644
index 0f421a1..0000000
--- a/frameworks/as/src/org/apache/flex/core/ITitleBarModel.as
+++ /dev/null
@@ -1,32 +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.core
-{
-	public interface ITitleBarModel extends IBeadModel
-	{
-		function get title():String;
-		function set title(value:String):void;
-		
-		function get htmlTitle():String;
-		function set htmlTitle(value:String):void;
-		
-		function get showCloseButton():Boolean;
-		function set showCloseButton(value:Boolean):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IToggleButtonModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IToggleButtonModel.as b/frameworks/as/src/org/apache/flex/core/IToggleButtonModel.as
deleted file mode 100644
index 560d40c..0000000
--- a/frameworks/as/src/org/apache/flex/core/IToggleButtonModel.as
+++ /dev/null
@@ -1,32 +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.core
-{
-	public interface IToggleButtonModel extends IBeadModel
-	{
-		function get text():String;
-		function set text(value:String):void;
-		
-		function get html():String;
-		function set html(value:String):void;
-		
-		function get selected():Boolean;
-		function set selected(value:Boolean):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IUIBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IUIBase.as b/frameworks/as/src/org/apache/flex/core/IUIBase.as
deleted file mode 100644
index 6b36a71..0000000
--- a/frameworks/as/src/org/apache/flex/core/IUIBase.as
+++ /dev/null
@@ -1,27 +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.core
-{
-	public interface IUIBase extends IStrand
-	{
-        function get element():Object;
-        
-		function addedToParent():void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IValueToggleButtonModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IValueToggleButtonModel.as b/frameworks/as/src/org/apache/flex/core/IValueToggleButtonModel.as
deleted file mode 100644
index c2d6401..0000000
--- a/frameworks/as/src/org/apache/flex/core/IValueToggleButtonModel.as
+++ /dev/null
@@ -1,32 +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.core
-{
-	public interface IValueToggleButtonModel extends IToggleButtonModel
-	{
-		function get value():Object;
-		function set value(newValue:Object):void;
-		
-		function get groupName():String;
-		function set groupName(value:String):void;
-		
-		function get selectedValue():Object;
-		function set selectedValue(newValue:Object):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/IValuesImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/IValuesImpl.as b/frameworks/as/src/org/apache/flex/core/IValuesImpl.as
deleted file mode 100644
index 530861c..0000000
--- a/frameworks/as/src/org/apache/flex/core/IValuesImpl.as
+++ /dev/null
@@ -1,28 +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.core
-{
-	public interface IValuesImpl
-	{
-		function getValue(thisObject:Object, valueName:String, state:String = null, attrs:Object = null):*;
-        function getInstance(valueName:String):Object;
-        
-        function init(mainClass:Object):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/ItemRendererClassFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/ItemRendererClassFactory.as b/frameworks/as/src/org/apache/flex/core/ItemRendererClassFactory.as
deleted file mode 100644
index 0dc1959..0000000
--- a/frameworks/as/src/org/apache/flex/core/ItemRendererClassFactory.as
+++ /dev/null
@@ -1,83 +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.core
-{
-    import flash.display.DisplayObject;
-    import flash.display.DisplayObjectContainer;
-    
-    import org.apache.flex.utils.MXMLDataInterpreter;
-
-	[DefaultProperty("mxmlContent")]
-	public class ItemRendererClassFactory extends Strand implements IItemRendererClassFactory, IDocument, IBead
-	{
-		public function ItemRendererClassFactory()
-		{
-			super();
-		}
-				
-        private var _strand:IStrand;
-        
-        public function set strand(value:IStrand):void
-        {
-            _strand = value;
-            itemRendererClass = ValuesManager.valuesImpl.getValue(_strand, "iItemRenderer") as Class;
-            if (itemRendererClass)
-                createFunction = createFromClass;
-        }
-
-		public function get MXMLDescriptor():Array
-		{
-			return null;
-		}
-		
-		public function get MXMLProperties():Array
-		{
-			return null;
-		}
-		
-		public var mxmlContent:Array;
-		
-        public function createItemRenderer(parent:IItemRendererParent):IItemRenderer
-        {
-            return createFunction(parent);
-        }
-        
-        public var createFunction:Function = createFromMXMLContent;
-
-        protected function createFromMXMLContent(parent:IItemRendererParent):IItemRenderer
-        {
-            return MXMLDataInterpreter.generateMXMLArray(document, parent as IParent, MXMLDescriptor, true)[0];
-        }
-        
-        public var itemRendererClass:Class;
-        
-        public function createFromClass(parent:IItemRendererParent):IItemRenderer
-        {
-            var renderer:IItemRenderer = new itemRendererClass();
-            parent.addElement(renderer);
-            return renderer;
-        }
-        
-        private var document:Object;
-        public function setDocument(document:Object, id:String = null):void
-        {
-            this.document = document;
-        }
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/PopUpManager.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/PopUpManager.as b/frameworks/as/src/org/apache/flex/core/PopUpManager.as
deleted file mode 100644
index 862d70c..0000000
--- a/frameworks/as/src/org/apache/flex/core/PopUpManager.as
+++ /dev/null
@@ -1,61 +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.core
-{
-    import flash.display.DisplayObject;
-    import flash.display.DisplayObjectContainer;
-    import flash.events.Event;
-
-	public class PopUpManager implements IDocument
-	{
-		public function PopUpManager()
-		{
-		}
-
-        private var document:DisplayObjectContainer;
-        
-        public function setDocument(document:Object, id:String = null):void
-        {
-            this.document = document as DisplayObjectContainer;
-            this.document.addEventListener(Event.ADDED, addedHandler);
-        }
-        
-        private function addedHandler(event:Event):void
-        {
-            if (event.target != document)
-                return;
-
-            var n:int = document.numChildren;
-            var lastPopUp:int = n - 1;
-            
-            for (var i:int = n - 1; i >= 0; i--)
-            {
-                var child:DisplayObject = document.getChildAt(n);
-                if (child is IPopUp)
-                {
-                    if (i < lastPopUp)
-                    {
-                        document.setChildIndex(child, lastPopUp);
-                        lastPopUp--;
-                    }
-                }
-            }
-        }
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/SimpleCSSValuesImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/SimpleCSSValuesImpl.as b/frameworks/as/src/org/apache/flex/core/SimpleCSSValuesImpl.as
deleted file mode 100644
index 6f9ad06..0000000
--- a/frameworks/as/src/org/apache/flex/core/SimpleCSSValuesImpl.as
+++ /dev/null
@@ -1,301 +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.core
-{
-	import flash.system.ApplicationDomain;
-	import flash.utils.getQualifiedClassName;
-	import flash.utils.getQualifiedSuperclassName;
-	import flash.utils.getDefinitionByName;
-	
-	import org.apache.flex.events.ValueChangeEvent;
-	import org.apache.flex.events.EventDispatcher;
-	
-	public class SimpleCSSValuesImpl extends EventDispatcher implements IValuesImpl
-	{
-		public function SimpleCSSValuesImpl()
-		{
-			super();
-		}
-		
-        private var mainClass:Object;
-        
-		private var conditionCombiners:Object;
-
-        public function init(mainClass:Object):void
-        {
-			var styleClassName:String;
-			var c:Class;
-			if (!values)
-			{
-				values = {};
-	            this.mainClass = mainClass;
-	            var mainClassName:String = getQualifiedClassName(mainClass);
-				styleClassName = "_" + mainClassName + "_Styles";
-				c = ApplicationDomain.currentDomain.getDefinition(styleClassName) as Class;
-			}
-			else
-			{
-				var className:String = getQualifiedClassName(mainClass);
-				c = ApplicationDomain.currentDomain.getDefinition(className) as Class;
-			}
-            generateCSSStyleDeclarations(c["factoryFunctions"], c["data"]);
-        }
-        
-        public function generateCSSStyleDeclarations(factoryFunctions:Object, arr:Array):void
-        {
-			if (factoryFunctions == null)
-				return;
-			if (arr == null)
-				return;
-			
-            var declarationName:String = "";
-            var segmentName:String = "";
-            var n:int = arr.length;
-            for (var i:int = 0; i < n; i++)
-            {
-                var className:int = arr[i];
-                if (className == CSSClass.CSSSelector)
-                {
-                    var selectorName:String = arr[++i];
-                    segmentName = selectorName + segmentName;
-                    if (declarationName != "")
-                        declarationName += " ";
-                    declarationName += segmentName;
-                    segmentName = "";
-                }
-                else if (className == CSSClass.CSSCondition)
-                {
-					if (!conditionCombiners)
-					{
-						conditionCombiners = {};
-						conditionCombiners["class"] = ".";
-						conditionCombiners["id"] = "#";
-						conditionCombiners["pseudo"] = ':';    
-					}
-					var conditionType:String = arr[++i];
-					var conditionName:String = arr[++i];
-					segmentName = segmentName + conditionCombiners[conditionType] + conditionName;
-                }
-                else if (className == CSSClass.CSSStyleDeclaration)
-                {
-                    var factoryName:int = arr[++i]; // defaultFactory or factory
-                    var defaultFactory:Boolean = factoryName == CSSFactory.DefaultFactory;
-                    /*
-                    if (defaultFactory)
-                    {
-                        mergedStyle = styleManager.getMergedStyleDeclaration(declarationName);
-                        style = new CSSStyleDeclaration(selector, styleManager, mergedStyle == null);
-                    }
-                    else
-                    {
-                        style = styleManager.getStyleDeclaration(declarationName);
-                        if (!style)
-                        {
-                            style = new CSSStyleDeclaration(selector, styleManager, mergedStyle == null);
-                            if (factoryName == CSSFactory.Override)
-                                newSelectors.push(style);
-                        }
-                    }
-                    */
-                    var finalName:String;
-                    var valuesFunction:Function;
-                    var valuesObject:Object;
-                    if (defaultFactory)
-                    {
-                        valuesFunction = factoryFunctions[declarationName];
-                        valuesObject = new valuesFunction();
-                        finalName = fixNames(declarationName);
-                        values[finalName] = valuesObject;
-                    }
-                    else
-                    {
-                        valuesFunction = factoryFunctions[declarationName];
-                        valuesObject = new valuesFunction();
-                        var o:Object = values[declarationName];
-                        finalName = fixNames(declarationName);
-                        if (o == null)
-                            values[finalName] = valuesObject;
-                        else
-                        {
-                            valuesFunction.prototype = o;
-                            values[finalName] = new valuesFunction();
-                        }
-                    }
-                    declarationName = "";
-                }
-            }
-            
-        }
-
-        private function fixNames(s:String):String
-        {
-			if (s == "")
-				return "*";
-			
-            var arr:Array = s.split(" ");
-            var n:int = arr.length;
-            for (var i:int = 0; i < n; i++)
-            {
-                var segmentName:String = arr[i];
-				if (segmentName.charAt(0) == "#" || segmentName.charAt(0) == ".")
-					continue;
-				
-                var c:int = segmentName.lastIndexOf(".");
-                if (c > -1)	// it is 0 for class selectors
-                {
-                    segmentName = segmentName.substr(0, c) + "::" + segmentName.substr(c + 1);
-                    arr[i] = segmentName;
-                }
-            }
-            return arr.join(" ");
-        }
-
-        public var values:Object;
-		
-		public function getValue(thisObject:Object, valueName:String, state:String = null, attrs:Object = null):*
-		{
-            var c:int = valueName.indexOf("-");
-            while (c != -1)
-            {
-                valueName = valueName.substr(0, c) +
-                    valueName.charAt(c + 1).toUpperCase() +
-                    valueName.substr(c + 2);
-                c = valueName.indexOf("-");
-            }
-
-            var value:*;
-			var o:Object;
-			var className:String;
-			var selectorName:String;
-			
-			if ("className" in thisObject)
-			{
-				className = thisObject.className;
-				if (state)
-				{
-					selectorName = className + ":" + state;
-					o = values["." + selectorName];
-					if (o)
-					{
-						value = o[valueName];
-						if (value !== undefined)
-							return value;
-					}
-				}
-				
-				o = values["." + className];
-				if (o)
-				{
-					value = o[valueName];
-					if (value !== undefined)
-						return value;
-				}
-			}
-			
-			className = getQualifiedClassName(thisObject);
-			while (className != "Object")
-			{
-				if (state)
-				{
-					selectorName = className + ":" + state;
-					o = values[selectorName];
-					if (o)
-					{
-						value = o[valueName];
-						if (value !== undefined)
-							return value;
-					}
-				}
-				
-	            o = values[className];
-	            if (o)
-	            {
-	                value = o[valueName];
-	                if (value !== undefined)
-	                    return value;
-	            }
-				className = getQualifiedSuperclassName(thisObject);
-				thisObject = getDefinitionByName(className);
-			}
-            o = values["global"];
-            if (o)
-            {
-    			value = o[valueName];
-    			if (value !== undefined)
-    				return value;
-            }
-			o = values["*"];			
-			if(o)
-			{
-				return o[valueName];
-			}
-			return null;
-		}
-		
-		public function setValue(thisObject:Object, valueName:String, value:*):void
-		{
-            var c:int = valueName.indexOf("-");
-            while (c != -1)
-            {
-                valueName = valueName.substr(0, c) +
-                    valueName.charAt(c + 1).toUpperCase() +
-                    valueName..substr(c + 2);
-                c = valueName.indexOf("-");
-            }
-			var oldValue:Object = values[valueName];
-			if (oldValue != value)
-			{
-				values[valueName] = value;
-				dispatchEvent(new ValueChangeEvent(ValueChangeEvent.VALUE_CHANGE, false, false, oldValue, value));
-			}
-		}
-        
-        public function getInstance(valueName:String):Object
-        {
-            var o:Object = values["global"];
-            if (o is Class)
-            {
-                o[valueName] = new o[valueName]();
-                if (o[valueName] is IDocument)
-                    o[valueName].setDocument(mainClass);
-            }
-            return o[valueName];
-        }
-	}
-}
-
-class CSSClass
-{
-    public static const CSSSelector:int = 0;
-    public static const CSSCondition:int = 1;
-    public static const CSSStyleDeclaration:int = 2;
-}
-
-class CSSFactory
-{
-    public static const DefaultFactory:int = 0;
-    public static const Factory:int = 1;
-    public static const Override:int = 2;
-}
-
-class CSSDataType
-{
-    public static const Native:int = 0;
-    public static const Definition:int = 1;
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/SimpleStatesImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/SimpleStatesImpl.as b/frameworks/as/src/org/apache/flex/core/SimpleStatesImpl.as
deleted file mode 100644
index 1e850a6..0000000
--- a/frameworks/as/src/org/apache/flex/core/SimpleStatesImpl.as
+++ /dev/null
@@ -1,137 +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.core
-{
-    import flash.display.DisplayObject;
-    import flash.events.IEventDispatcher;
-    
-    import mx.states.AddItems;
-    import mx.states.SetProperty;
-    import mx.states.State;
-    
-    import org.apache.flex.core.IParent;
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.EventDispatcher;
-    import org.apache.flex.events.ValueChangeEvent;
-    import org.apache.flex.utils.MXMLDataInterpreter;
-	
-	public class SimpleStatesImpl extends EventDispatcher implements IStatesImpl, IBead
-	{
-		public function SimpleStatesImpl()
-		{
-			super();
-		}
-        
-        private var _strand:IStrand;
-        
-        public function set strand(value:IStrand):void
-        {
-            _strand = value;
-            IEventDispatcher(_strand).addEventListener("currentStateChanged", stateChangeHandler);
-        }		
-     
-        private function stateChangeHandler(event:ValueChangeEvent):void
-        {
-            var doc:Object = event.target;
-            var arr:Array = doc.states;
-            for each (var s:State in arr)
-            {
-                if (s.name == event.oldValue)
-                {
-                    revert(s);
-                    break;
-                }
-            }
-            for each (s in arr)
-            {
-                if (s.name == event.newValue)
-                {
-                    apply(s);
-                    break;
-                }
-            }
-            
-        }
-        
-        private function revert(s:State):void
-        {
-            var arr:Array = s.overrides;
-            for each (var o:Object in arr)
-            {
-                if (o is AddItems)
-                {
-                    var ai:AddItems = AddItems(o);
-                    for each (var item:DisplayObject in ai.items)
-                    {
-                        var parent:IParent = ai.document[ai.destination] as IParent;
-                        parent.removeElement(item);
-                    }
-                    if (parent is IContainer)
-                        IContainer(parent).childrenAdded();
-                }
-                else if (o is SetProperty)
-                {
-                    var sp:SetProperty = SetProperty(o);
-                    sp.document[sp.target][sp.name] = sp.previousValue;
-                }
-            }
-        }
-        
-        private function apply(s:State):void
-        {
-            var arr:Array = s.overrides;
-            for each (var o:Object in arr)
-            {
-                if (o is AddItems)
-                {
-                    var ai:AddItems = AddItems(o);
-                    if (ai.items == null)
-                    {
-                        ai.items = MXMLDataInterpreter.generateMXMLArray(ai.document,
-                                                    null, ai.itemsDescriptor, true);
-                    }
-                    for each (var item:DisplayObject in ai.items)
-                    {
-                        var parent:IParent = ai.document[ai.destination] as IParent;
-                        if (ai.relativeTo != null)
-                        {
-                            var child:Object = ai.document[ai.relativeTo];
-                            var index:int = parent.getElementIndex(child);
-                            if (ai.position == "after")
-                                index++;
-                            parent.addElementAt(item, index);
-                        }
-                        else
-                        {
-                            parent.addElement(item);
-                        }
-                    }
-                    if (parent is IContainer)
-                        IContainer(parent).childrenAdded();
-                }
-                else if (o is SetProperty)
-                {
-                    var sp:SetProperty = SetProperty(o);
-                    sp.previousValue = sp.document[sp.target][sp.name];
-                    sp.document[sp.target][sp.name] = sp.value;
-                }
-            }            
-        }
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/SimpleValuesImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/SimpleValuesImpl.as b/frameworks/as/src/org/apache/flex/core/SimpleValuesImpl.as
deleted file mode 100644
index eda53de..0000000
--- a/frameworks/as/src/org/apache/flex/core/SimpleValuesImpl.as
+++ /dev/null
@@ -1,58 +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.core
-{
-	import org.apache.flex.events.EventDispatcher;	
-	import org.apache.flex.events.ValueChangeEvent;
-	
-	public class SimpleValuesImpl extends EventDispatcher implements IValuesImpl
-	{
-		public function SimpleValuesImpl()
-		{
-			super();
-		}
-		
-		public var values:Object;
-		
-		public function getValue(thisObject:Object, valueName:String, state:String = null, attrs:Object = null):*
-		{
-			return values[valueName];
-		}
-		
-		public function setValue(thisObject:Object, valueName:String, value:Object):void
-		{
-			var oldValue:Object = values[valueName];
-			if (oldValue != value)
-			{
-				values[valueName] = value;
-				dispatchEvent(new ValueChangeEvent(ValueChangeEvent.VALUE_CHANGE, false, false, oldValue, value));
-			}
-		}
-        
-        public function getInstance(valueName:String):Object
-        {
-            return values[valueName];
-        }
-        
-        public function init(mainClass:Object):void
-        {
-            // do nothing
-        }
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/Strand.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/Strand.as b/frameworks/as/src/org/apache/flex/core/Strand.as
deleted file mode 100644
index daeca4b..0000000
--- a/frameworks/as/src/org/apache/flex/core/Strand.as
+++ /dev/null
@@ -1,109 +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.core
-{
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-
-    /**
-     * Base class for non-display objects implementing a IStrand
-     */
-	public class Strand extends EventDispatcher implements IStrand
-	{
-		public function Strand()
-		{
-			super();
-		}
-		
-		
-		private var _model:IBeadModel;
-		public function get model():IBeadModel
-		{
-            if (_model == null)
-            {
-                // addbead will set _model
-                addBead(new (ValuesManager.valuesImpl.getValue(this, "iBeadModel")) as IBead);
-            }
-			return _model;
-		}
-		public function set model(value:IBeadModel):void
-		{
-			if (_model != value)
-			{
-				addBead(value as IBead);
-				dispatchEvent(new Event("modelChanged"));
-			}
-		}
-		
-		private var _id:String;
-		public function get id():String
-		{
-			return _id;
-		}
-		public function set id(value:String):void
-		{
-			if (_id != value)
-			{
-				_id = value;
-				dispatchEvent(new Event("idChanged"));
-			}
-		}
-				
-		// beads declared in MXML are added to the strand.
-		// from AS, just call addBead()
-		public var beads:Array;
-		
-		private var _beads:Vector.<IBead>;
-		public function addBead(bead:IBead):void
-		{
-			if (!_beads)
-				_beads = new Vector.<IBead>;
-			_beads.push(bead);
-			if (bead is IBeadModel)
-				_model = bead as IBeadModel;
-			bead.strand = this;
-		}
-		
-		public function getBeadByType(classOrInterface:Class):IBead
-		{
-			for each (var bead:IBead in _beads)
-			{
-				if (bead is classOrInterface)
-					return bead;
-			}
-			return null;
-		}
-		
-		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/66246d8a/frameworks/as/src/org/apache/flex/core/UIBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/UIBase.as b/frameworks/as/src/org/apache/flex/core/UIBase.as
deleted file mode 100644
index cdd3841..0000000
--- a/frameworks/as/src/org/apache/flex/core/UIBase.as
+++ /dev/null
@@ -1,348 +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.core
-{
-	import flash.display.DisplayObject;
-	import flash.display.Sprite;
-	
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	public class UIBase extends Sprite implements IStrand, IEventDispatcher, IUIBase, IParent
-	{
-		public function UIBase()
-		{
-			super();
-		}
-		
-		private var _explicitWidth:Number;
-		public function get explicitWidth():Number
-		{
-			return _explicitWidth;
-		}
-		public function set explicitWidth(value:Number):void
-		{
-			if (_explicitWidth == value)
-				return;
-			
-			// width can be pixel or percent not both
-			if (!isNaN(value))
-				_percentWidth = NaN;
-			
-			_explicitWidth = value;
-			
-			dispatchEvent(new Event("explicitWidthChanged"));
-		}
-		
-		private var _explicitHeight:Number;
-		public function get explicitHeight():Number
-		{
-			return _explicitHeight;
-		}
-		public function set explicitHeight(value:Number):void
-		{
-			if (_explicitHeight == value)
-				return;
-			
-			// height can be pixel or percent not both
-			if (!isNaN(value))
-				_percentHeight = NaN;
-			
-			_explicitHeight = value;
-			
-			dispatchEvent(new Event("explicitHeightChanged"));
-		}
-		
-		private var _percentWidth:Number;
-		public function get percentWidth():Number
-		{
-			return _percentWidth;
-		}
-		public function set percentWidth(value:Number):void
-		{
-			if (_percentWidth == value)
-				return;
-			
-			if (!isNaN(value))
-				_explicitWidth = NaN;
-			
-			_percentWidth = value;
-			
-			dispatchEvent(new Event("percentWidthChanged"));
-		}
-		private var _percentHeight:Number;
-		public function get percentHeight():Number
-		{
-			return _percentHeight;
-		}
-		public function set percentHeight(value:Number):void
-		{
-			if (_percentHeight == value)
-				return;
-			
-			if (!isNaN(value))
-				_explicitHeight = NaN;
-			
-			_percentHeight = value;
-			
-			dispatchEvent(new Event("percentHeightChanged"));
-		}
-		
-		private var _width:Number;
-		override public function get width():Number
-		{
-			if (isNaN(_width))
-            {
-                var value:* = ValuesManager.valuesImpl.getValue(this, "width");
-                if (value === undefined)
-                    return $width;
-				_width = Number(value);
-            }
-			return _width;
-		}
-		override public function set width(value:Number):void
-		{
-			if (explicitWidth != value)
-			{
-				explicitWidth = value;
-			}
-			
-			if (_width != value)
-			{
-				_width = value;
-				dispatchEvent(new Event("widthChanged"));
-			}
-		}
-		protected function get $width():Number
-		{
-			return super.width;
-		}
-		
-		private var _height:Number;
-		override public function get height():Number
-		{
-			if (isNaN(_height))
-            {
-                var value:* = ValuesManager.valuesImpl.getValue(this, "height");
-                if (value === undefined)
-                    return $height;
-  	            _height = Number(value);
-            }
-			return _height;
-		}
-		override public function set height(value:Number):void
-		{
-			if (explicitHeight != value)
-			{
-				explicitHeight = value;
-			}
-			
-			if (_height != value)
-			{
-				_height = value;
-				dispatchEvent(new Event("heightChanged"));
-			}
-		}
-		protected function get $height():Number
-		{
-			return super.height;
-		}
-		
-		private var _model:IBeadModel;
-		public function get model():IBeadModel
-		{
-            if (_model == null)
-            {
-                // addbead will set _model
-                addBead(new (ValuesManager.valuesImpl.getValue(this, "iBeadModel")) as IBead);
-            }
-			return _model;
-		}
-		public function set model(value:IBeadModel):void
-		{
-			if (_model != value)
-			{
-				addBead(value as IBead);
-				dispatchEvent(new Event("modelChanged"));
-			}
-		}
-		
-		private var _id:String;
-		public function get id():String
-		{
-			return _id;
-		}
-		public function set id(value:String):void
-		{
-			if (_id != value)
-			{
-				_id = value;
-				dispatchEvent(new Event("idChanged"));
-			}
-		}
-		
-		private var _className:String;
-		public function get className():String
-		{
-			return _className;
-		}
-		public function set className(value:String):void
-		{
-			if (_className != value)
-			{
-				_className = value;
-				dispatchEvent(new Event("classNameChanged"));
-			}
-		}
-        
-        public function get element():Object
-        {
-            return this;
-        }
-		
-		// beads declared in MXML are added to the strand.
-		// from AS, just call addBead()
-		public var beads:Array;
-		
-		private var _beads:Vector.<IBead>;
-		public function addBead(bead:IBead):void
-		{
-			if (!_beads)
-				_beads = new Vector.<IBead>;
-			_beads.push(bead);
-			if (bead is IBeadModel)
-				_model = bead as IBeadModel;
-			bead.strand = this;
-			
-			if (bead is IBeadView) {
-				IEventDispatcher(this).dispatchEvent(new Event("viewChanged"));
-			}
-		}
-		
-		public function getBeadByType(classOrInterface:Class):IBead
-		{
-			for each (var bead:IBead in _beads)
-			{
-				if (bead is classOrInterface)
-					return bead;
-			}
-			return null;
-		}
-		
-		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;
-		}
-		
-		public function addElement(c:Object):void
-		{
-            if (c is IUIBase)
-            {
-                addChild(IUIBase(c).element as DisplayObject);
-                IUIBase(c).addedToParent();
-            }
-            else
-                addChild(c as DisplayObject);
-		}
-        
-        public function addElementAt(c:Object, index:int):void
-        {
-            if (c is IUIBase)
-            {
-                addChildAt(IUIBase(c).element as DisplayObject, index);
-                IUIBase(c).addedToParent();
-            }
-            else
-                addChildAt(c as DisplayObject, index);
-        }
-        
-        public function getElementIndex(c:Object):int
-        {
-            if (c is IUIBase)
-                return getChildIndex(IUIBase(c).element as DisplayObject);
-            else
-                return getChildIndex(c as DisplayObject);
-        }
-
-        public function removeElement(c:Object):void
-        {
-            if (c is IUIBase)
-                removeChild(IUIBase(c).element as DisplayObject);
-            else
-                removeChild(c as DisplayObject);
-        }
-		
-        public function addedToParent():void
-        {
-            var c:Class;
-            
-            if (getBeadByType(IBeadModel) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadModel") as Class;
-                if (c)
-                {
-                    var model:IBeadModel = new c as IBeadModel;
-                    if (model)
-                        addBead(model);
-                }
-            }
-            if (getBeadByType(IBeadView) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
-                if (c)
-                {
-                    var view:IBeadView = new c as IBeadView;
-                    if (view)
-                        addBead(view);
-                }
-            }
-            if (getBeadByType(IBeadController) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
-                if (c)
-                {
-                    var controller:IBeadController = new c as IBeadController;
-                    if (controller)
-                        addBead(controller);
-                }
-            }
-        }
-        		
-		public function get measurementBead() : IMeasurementBead
-		{
-			var measurementBead:IMeasurementBead = getBeadByType(IMeasurementBead) as IMeasurementBead;
-			if( measurementBead == null ) {
-				addBead(measurementBead = new (ValuesManager.valuesImpl.getValue(this, "iMeasurementBead")) as IMeasurementBead);
-			}
-			
-			return measurementBead;
-		}
-        
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/UIButtonBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/UIButtonBase.as b/frameworks/as/src/org/apache/flex/core/UIButtonBase.as
deleted file mode 100644
index 529cc60..0000000
--- a/frameworks/as/src/org/apache/flex/core/UIButtonBase.as
+++ /dev/null
@@ -1,250 +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.core
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	import flash.display.SimpleButton;
-	import flash.events.MouseEvent;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	[Event(name="click", type="org.apache.flex.events.Event")]
-
-	public class UIButtonBase extends SimpleButton implements IStrand, IEventDispatcher, IUIBase
-	{
-		public function UIButtonBase(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
-		{
-			super(upState, overState, downState, hitTestState);
-			// mouseChildren = true;
-			// mouseEnabled = true;
-			addEventListener(MouseEvent.CLICK, clickKiller, false, 9999); 
-		}
-		
-		private function clickKiller(event:flash.events.Event):void
-		{
-			if (event is MouseEvent)
-			{
-				event.stopImmediatePropagation();
-				dispatchEvent(new Event("click"));
-			}
-		}
-		
-		private var _width:Number;
-		override public function get width():Number
-		{
-            if (isNaN(_width))
-            {
-                var value:* = ValuesManager.valuesImpl.getValue(this, "width");
-                if (value === undefined)
-                    return $width;
-                _width = Number(value);
-            }
-            return _width;
-		}
-		override public function set width(value:Number):void
-		{
-			if (_width != value)
-			{
-				_width = value;
-				dispatchEvent(new Event("widthChanged"));
-			}
-		}
-		protected function get $width():Number
-		{
-			return super.width;
-		}
-		
-		private var _height:Number;
-		override public function get height():Number
-		{
-            if (isNaN(_height))
-            {
-                var value:* = ValuesManager.valuesImpl.getValue(this, "height");
-                if (value === undefined)
-                    return $height;
-                _height = Number(value);
-            }
-            return _height;
-		}
-        
-		override public function set height(value:Number):void
-		{
-			if (_height != value)
-			{
-				_height = value;
-				dispatchEvent(new Event("heightChanged"));
-			}
-		}
-		protected function get $height():Number
-		{
-			return super.height;
-		}
-
-        private var _model:IBeadModel;
-        public function get model():IBeadModel
-        {
-            if (_model == null)
-            {
-                // addbead will set _model
-                addBead(new (ValuesManager.valuesImpl.getValue(this, "iBeadModel")) as IBead);
-            }
-            return _model;
-        }
-        public function set model(value:IBeadModel):void
-        {
-            if (_model != value)
-            {
-                addBead(value as IBead);
-                dispatchEvent(new Event("modelChanged"));
-            }
-        }
-		
-		private var _id:String;
-		public function get id():String
-		{
-			return _id;
-		}
-		public function set id(value:String):void
-		{
-			if (_id != value)
-			{
-				_id = value;
-				dispatchEvent(new Event("idChanged"));
-			}
-		}
-
-		private var _className:String;
-		public function get className():String
-		{
-			return _className;
-		}
-		public function set className(value:String):void
-		{
-			if (_className != value)
-			{
-				_className = value;
-				dispatchEvent(new Event("classNameChanged"));
-			}
-		}
-        
-        public function get element():Object
-        {
-            return this;
-        }
-
-        // beads declared in MXML are added to the strand.
-        // from AS, just call addBead()
-        public var beads:Array;
-        
-		private var strand:Vector.<IBead>;
-		public function addBead(bead:IBead):void
-		{
-			if (!strand)
-				strand = new Vector.<IBead>;
-			strand.push(bead);
-			if (bead is IBeadModel)
-				_model = bead as IBeadModel;
-			bead.strand = this;
-		}
-		
-		public function getBeadByType(classOrInterface:Class):IBead
-		{
-			for each (var bead:IBead in strand)
-			{
-				if (bead is classOrInterface)
-					return bead;
-			}
-			return null;
-		}
-		
-		public function removeBead(value:IBead):IBead	
-		{
-			var n:int = strand.length;
-			for (var i:int = 0; i < n; i++)
-			{
-				var bead:IBead = strand[i];
-				if (bead == value)
-				{
-					strand.splice(i, 1);
-					return bead;
-				}
-			}
-			return null;
-		}
-		
-		public function addedToParent():void
-		{
-            var c:Class;
-            
-            if (getBeadByType(IBeadModel) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadModel") as Class;
-                if (c)
-                {
-                    var model:IBeadModel = new c as IBeadModel;
-                    if (model)
-                        addBead(model);
-                }
-            }
-            if (getBeadByType(IBeadView) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
-                if (c)
-                {
-                    var view:IBeadView = new c as IBeadView;
-                    if (view)
-                        addBead(view);
-                }
-            }
-            if (getBeadByType(IBeadController) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
-                if (c)
-                {
-                    var controller:IBeadController = new c as IBeadController;
-                    if (controller)
-                        addBead(controller);
-                }
-            }
-
-            _width = $width;
-            _height = $height;
-            
-		}
-		
-		public function get measurementBead() : IMeasurementBead
-		{
-			var measurementBead:IMeasurementBead = getBeadByType(IMeasurementBead) as IMeasurementBead;
-			if( measurementBead == null ) {
-				addBead(measurementBead = new (ValuesManager.valuesImpl.getValue(this, "iMeasurementBead")) as IMeasurementBead);
-			}
-			
-			return measurementBead;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/UIMetrics.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/UIMetrics.as b/frameworks/as/src/org/apache/flex/core/UIMetrics.as
deleted file mode 100644
index 65cd424..0000000
--- a/frameworks/as/src/org/apache/flex/core/UIMetrics.as
+++ /dev/null
@@ -1,35 +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.core
-{
-	public class UIMetrics
-	{
-		public function UIMetrics()
-		{
-		}
-		
-		public var top:Number;
-		
-		public var left:Number;
-		
-		public var bottom:Number;
-		
-		public var right:Number;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/ValuesManager.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/ValuesManager.as b/frameworks/as/src/org/apache/flex/core/ValuesManager.as
deleted file mode 100644
index 8bc8fa2..0000000
--- a/frameworks/as/src/org/apache/flex/core/ValuesManager.as
+++ /dev/null
@@ -1,38 +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.core
-{
-	public class ValuesManager
-	{
-		public function ValuesManager()
-		{
-		}
-		
-		private static var _valuesImpl:IValuesImpl;
-		
-		public static function get valuesImpl():IValuesImpl
-		{
-			return _valuesImpl;
-		}
-		public static function set valuesImpl(value:IValuesImpl):void
-		{
-			_valuesImpl = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/ViewBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/ViewBase.as b/frameworks/as/src/org/apache/flex/core/ViewBase.as
deleted file mode 100644
index afeb04d..0000000
--- a/frameworks/as/src/org/apache/flex/core/ViewBase.as
+++ /dev/null
@@ -1,131 +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.core
-{
-	import mx.states.State;
-	
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.ValueChangeEvent;
-	import org.apache.flex.utils.MXMLDataInterpreter;
-
-	[Event(name="initComplete", type="org.apache.flex.events.Event")]
-	[DefaultProperty("mxmlContent")]
-	public class ViewBase extends UIBase implements IPopUpHost
-	{
-		public function ViewBase()
-		{
-			super();
-		}
-		
-		override public function addedToParent():void
-		{
-			// each MXML file can also have styles in fx:Style block
-			ValuesManager.valuesImpl.init(this);
-			
-			MXMLDataInterpreter.generateMXMLProperties(this, mxmlProperties);
-			MXMLDataInterpreter.generateMXMLInstances(this, this, MXMLDescriptor);
-			
-			dispatchEvent(new Event("initComplete"))
-		}
-		
-		public function get MXMLDescriptor():Array
-		{
-			return null;
-		}
-		
-		private var mxmlProperties:Array ;
-		
-		public function generateMXMLAttributes(data:Array):void
-		{
-			mxmlProperties = data;
-		}
-		
-		public var mxmlContent:Array;
-		
-		private var _applicationModel:Object;
-		
-		[Bindable("modelChanged")]
-		public function get applicationModel():Object
-		{
-			return _applicationModel;
-		}
-        public function set applicationModel(value:Object):void
-        {
-            _applicationModel = value;
-            dispatchEvent(new Event("modelChanged"));
-        }
-
-        private var _states:Array;
-        
-        public function get states():Array
-        {
-            return _states;
-        }
-        public function set states(value:Array):void
-        {
-            _states = value;
-			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);
-			}
-            
-        }
-        
-        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;
-        
-        public function get currentState():String
-        {
-            return _currentState;   
-        }
-        public function set currentState(value:String):void
-        {
-            var event:ValueChangeEvent = new ValueChangeEvent("currentStateChanged", false, false, _currentState, value)
-            _currentState = value;
-            dispatchEvent(event);
-        }
-        
-        private var _transitions:Array;
-        
-        public function get transitions():Array
-        {
-            return _transitions;   
-        }
-        public function set transitions(value:Array):void
-        {
-            _transitions = value;   
-        }
-
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/core/ViewBaseDataBinding.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/core/ViewBaseDataBinding.as b/frameworks/as/src/org/apache/flex/core/ViewBaseDataBinding.as
deleted file mode 100644
index 0bff3a4..0000000
--- a/frameworks/as/src/org/apache/flex/core/ViewBaseDataBinding.as
+++ /dev/null
@@ -1,266 +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.core
-{
-    import org.apache.flex.binding.ConstantBinding;
-    import org.apache.flex.binding.GenericBinding;
-    import org.apache.flex.binding.PropertyWatcher;
-    import org.apache.flex.binding.SimpleBinding;
-    import org.apache.flex.binding.WatcherBase;
-    import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IStrand;
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-    
-	public class ViewBaseDataBinding implements IBead
-	{
-		public function ViewBaseDataBinding()
-		{
-			super();
-		}
-        
-        private var _strand:IStrand;
-        public function set strand(value:IStrand):void
-        {
-            _strand = value;
-            IEventDispatcher(_strand).addEventListener("initComplete", initCompleteHandler);
-        }    
-
-        private function initCompleteHandler(event:Event):void
-        {
-            var fieldWatcher:Object;
-            var sb:SimpleBinding;
-            if (!("_bindings" in _strand))
-                return;
-            var bindingData:Array = _strand["_bindings"];
-            var n:int = bindingData[0];
-            var bindings:Array = [];
-            var i:int;
-            var index:int = 1;
-            for (i = 0; i < n; i++)
-            {
-                var binding:Object = {};
-                binding.source = bindingData[index++];
-				binding.destFunc = bindingData[index++];
-                binding.destination = bindingData[index++];
-                bindings.push(binding);
-            }
-            var watchers:Object = decodeWatcher(bindingData.slice(index));
-            for (i = 0; i < n; i++)
-            {
-                    binding = bindings[i];
-                if (binding.source is Array)
-                {
-                    if (binding.source[0] == "applicationModel")
-                    {
-                        if (binding.source.length == 2 && binding.destination.length == 2)
-                        {
-                            var destination:IStrand;
-                            // can be simplebinding or constantbinding
-                            var modelWatcher:Object = watchers.watcherMap["applicationModel"];
-                            fieldWatcher = modelWatcher.children.watcherMap[binding.source[1]];
-                            if (fieldWatcher.eventNames is String)
-                            {
-                                sb = new SimpleBinding();
-                                sb.destinationPropertyName = binding.destination[1];
-                                sb.eventName = fieldWatcher.eventNames as String;
-                                sb.sourceID = binding.source[0];
-                                sb.sourcePropertyName = binding.source[1];
-                                sb.setDocument(_strand);
-                                destination = _strand[binding.destination[0]] as IStrand;
-                                if (destination)
-                                    destination.addBead(sb);
-                                else
-                                {
-                                    deferredBindings[binding.destination[0]] = sb;
-                                    IEventDispatcher(_strand).addEventListener("valueChange", deferredBindingsHandler);
-                                }
-                            }
-                            else if (fieldWatcher.eventNames == null)
-                            {
-                                var cb:ConstantBinding = new ConstantBinding();
-                                cb.destinationPropertyName = binding.destination[1];
-                                cb.sourceID = binding.source[0];
-                                cb.sourcePropertyName = binding.source[1];
-                                cb.setDocument(_strand);
-                                destination = _strand[binding.destination[0]] as IStrand;
-                                if (destination)
-                                    destination.addBead(cb);
-                                else
-                                {
-                                    deferredBindings[binding.destination[0]] = cb;
-                                    IEventDispatcher(_strand).addEventListener("valueChange", deferredBindingsHandler);
-                                }
-                            }
-                        }
-                    }
-                }
-                else if (binding.source is String)
-                {
-                    fieldWatcher = watchers.watcherMap[binding.source];
-                    if (fieldWatcher.eventNames is String)
-                    {
-                        sb = new SimpleBinding();
-                        sb.destinationPropertyName = binding.destination[1];
-                        sb.eventName = fieldWatcher.eventNames as String;
-                        sb.sourcePropertyName = binding.source;
-                        sb.setDocument(_strand);
-                        destination = _strand[binding.destination[0]] as IStrand;
-                        if (destination)
-                            destination.addBead(sb);
-                        else
-                        {
-                            deferredBindings[binding.destination[0]] = sb;
-                            IEventDispatcher(_strand).addEventListener("valueChange", deferredBindingsHandler);
-                        }
-                    }
-                }
-                else
-                {
-                    makeGenericBinding(binding, i, watchers);
-                }
-            }
-        }
-
-        private function makeGenericBinding(binding:Object, index:int, watchers:Object):void
-        {
-            var gb:GenericBinding = new GenericBinding();
-            gb.setDocument(_strand);
-            gb.destinationData = binding.destination;
-			gb.destinationFunction = binding.destFunc;
-            gb.source = binding.source;
-            setupWatchers(gb, index, watchers.watchers, null);
-        }
-        
-        private function setupWatchers(gb:GenericBinding, index:int, watchers:Array, parentWatcher:WatcherBase):void
-        {
-            var n:int = watchers.length;
-            for (var i:int = 0; i < n; i++)
-            {
-                var watcher:Object = watchers[i];
-                if (watcher.bindings.indexOf(index) != -1)
-                {
-                    var type:String = watcher.type;
-                    switch (type)
-                    {
-                        case "property":
-                        {
-                            var pw:PropertyWatcher = new PropertyWatcher(this, 
-                                        watcher.propertyName, 
-                                        watcher.eventNames,
-                                        watcher.getterFunction);
-                            watcher.watcher = pw;
-                            if (parentWatcher)
-                                pw.parentChanged(parentWatcher.value);
-                            else
-                                pw.parentChanged(_strand);
-                            if (parentWatcher)
-                                parentWatcher.addChild(pw);
-                            if (watcher.children == null)
-                                pw.addBinding(gb);
-                            break;
-                        }
-                    }
-                    if (watcher.children)
-                    {
-                        setupWatchers(gb, index, watcher.children, watcher.watcher);
-                    }
-                }
-            }
-        }
-        
-        private function decodeWatcher(bindingData:Array):Object
-        {
-            var watcherMap:Object = {};
-            var watchers:Array = [];
-            var n:int = bindingData.length;
-            var index:int = 0;
-            var watcherData:Object;
-            while (index < n)
-            {
-                var watcherIndex:int = bindingData[index++];
-                var type:int = bindingData[index++];
-                switch (type)
-                {
-                    case 0:
-                    {
-                        watcherData = { type: "function" };
-                        watcherData.functionName = bindingData[index++];
-						watcherData.paramFunction = bindingData[index++];
-                        watcherData.eventNames = bindingData[index++];
-                        watcherData.bindings = bindingData[index++];
-                        break;
-                    }
-                    case 1:
-					{
-						watcherData = { type: "static" };
-						watcherData.propertyName = bindingData[index++];
-						watcherData.eventNames = bindingData[index++];
-						watcherData.bindings = bindingData[index++];
-						watcherData.getterFunction = bindingData[index++];
-						watcherData.parentObj = bindingData[index++];
-						watcherMap[watcherData.propertyName] = watcherData;
-						break;
-					}
-                    case 2:
-                    {
-                        watcherData = { type: "property" };
-                        watcherData.propertyName = bindingData[index++];
-                        watcherData.eventNames = bindingData[index++];
-                        watcherData.bindings = bindingData[index++];
-                        watcherData.getterFunction = bindingData[index++];
-                        watcherMap[watcherData.propertyName] = watcherData;
-                        break;
-                    }
-                    case 3:
-                    {
-                        watcherData = { type: "xml" };
-                        watcherData.propertyName = bindingData[index++];
-                        watcherData.bindings = bindingData[index++];
-                        watcherMap[watcherData.propertyName] = watcherData;
-                        break;
-                    }
-                }
-                watcherData.children = bindingData[index++];
-                if (watcherData.children != null)
-                {
-                    watcherData.children = decodeWatcher(watcherData.children);
-                }
-                watcherData.index = watcherIndex;
-                watchers.push(watcherData);
-            }            
-            return { watchers: watchers, watcherMap: watcherMap };
-        }
-        
-        private var deferredBindings:Object = {};
-        private function deferredBindingsHandler(event:Event):void
-        {
-            for (var p:String in deferredBindings)
-            {
-                if (_strand[p] != null)
-                {
-                    var destination:IStrand = _strand[p] as IStrand;
-                    destination.addBead(deferredBindings[p]);
-                    delete deferredBindings[p];
-                }
-            }
-        }
-        
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/src/org/apache/flex/createjs/Application.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/createjs/Application.as b/frameworks/as/src/org/apache/flex/createjs/Application.as
deleted file mode 100644
index 2214325..0000000
--- a/frameworks/as/src/org/apache/flex/createjs/Application.as
+++ /dev/null
@@ -1,140 +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.createjs
-{
-	import flash.display.DisplayObject;
-	import flash.display.Sprite;
-	import flash.display.StageAlign;
-	import flash.display.StageScaleMode;
-	import flash.events.IOErrorEvent;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IFlexInfo;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.IValuesImpl;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.createjs.core.ViewBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.utils.MXMLDataInterpreter;
-	
-	//--------------------------------------
-	//  Events
-	//--------------------------------------
-	
-	/**
-	 *  Dispatched at startup.
-	 */
-	[Event(name="initialize", type="org.apache.flex.events.Event")]
-	
-	public class Application extends Sprite implements IStrand, IFlexInfo
-	{
-		public function Application()
-		{
-			super();
-			if (stage)
-			{
-				stage.align = StageAlign.TOP_LEFT;
-				stage.scaleMode = StageScaleMode.NO_SCALE;
-			}
-			
-			loaderInfo.addEventListener(flash.events.Event.INIT, initHandler);
-		}
-		
-		private function initHandler(event:flash.events.Event):void
-		{
-			MXMLDataInterpreter.generateMXMLProperties(this, MXMLProperties);
-			
-			ValuesManager.valuesImpl = valuesImpl;
-			ValuesManager.valuesImpl.init(this);
-			
-			dispatchEvent(new Event("initialize"));
-			
-			addElement(initialView);
-			initialView.initUI(model);
-			dispatchEvent(new Event("viewChanged"));
-		}
-		
-		public var valuesImpl:IValuesImpl;
-		
-		public var initialView:ViewBase;
-		
-		public var model:Object;
-		
-		public var controller:Object;
-		
-		public function get MXMLDescriptor():Array
-		{
-			return null;
-		}
-		
-		public function get MXMLProperties():Array
-		{
-			return null;
-		}
-		
-		// beads declared in MXML are added to the strand.
-		// from AS, just call addBead()
-		public var beads:Array;
-		
-		private var _beads:Vector.<IBead>;
-		public function addBead(bead:IBead):void
-		{
-			if (!_beads)
-				_beads = new Vector.<IBead>;
-			_beads.push(bead);
-			bead.strand = this;
-		}
-		
-		public function getBeadByType(classOrInterface:Class):IBead
-		{
-			for each (var bead:IBead in _beads)
-			{
-				if (bead is classOrInterface)
-					return bead;
-			}
-			return null;
-		}
-		
-		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;
-		}
-		
-		public function get info():Object
-		{
-			return {};           
-		}
-        
-        public function addElement(c:Object):void
-        {
-            addChild(c as DisplayObject);
-        }
-	}
-}
\ No newline at end of file