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/04/23 06:19:14 UTC

[1/2] git commit: [flex-asjs] - Tweak DropDownList size to match Safari

Updated Branches:
  refs/heads/develop d8e86bd39 -> 91ca636f7


Tweak DropDownList size to match Safari


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

Branch: refs/heads/develop
Commit: 1060f6b2e9149025969497c4fde226fd004b8ed7
Parents: d8e86bd
Author: Alex Harui <ah...@apache.org>
Authored: Mon Apr 22 21:10:24 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Apr 22 21:10:24 2013 -0700

----------------------------------------------------------------------
 examples/FlexJSTest_again/src/MyInitialView.mxml |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1060f6b2/examples/FlexJSTest_again/src/MyInitialView.mxml
----------------------------------------------------------------------
diff --git a/examples/FlexJSTest_again/src/MyInitialView.mxml b/examples/FlexJSTest_again/src/MyInitialView.mxml
index 69fdf71..e656a94 100644
--- a/examples/FlexJSTest_again/src/MyInitialView.mxml
+++ b/examples/FlexJSTest_again/src/MyInitialView.mxml
@@ -103,7 +103,7 @@ limitations under the License.
 	<basic:RadioButton groupName="group2" text="Green" value="green" x="100" y="270" />
 	<basic:RadioButton groupName="group2" text="Blue" value="blue" x="100" y="290"  />
 	
-	<basic:DropDownList id="list" x="200" y="200" width="100" height="24" change="dispatchEvent(new CustomEvent('listChanged'))">
+	<basic:DropDownList id="list" x="200" y="200" width="100" height="18" change="dispatchEvent(new CustomEvent('listChanged'))">
 		<basic:beads>
 			<basic:ConstantBinding
 				sourceID="applicationModel"


[2/2] git commit: [flex-asjs] - CSS Support. AS-only styles are hidden behind a mediaquery with media -flex-flash. Falcon doesn't yet handle mediaquery so this media query is currently actually ignored and all styles in the CSS apply. Only fontFamily,

Posted by ah...@apache.org.
CSS Support.  AS-only styles are hidden behind a mediaquery with media -flex-flash.  Falcon doesn't yet handle mediaquery so this media query is currently actually ignored and all styles in the CSS apply.  Only fontFamily, fontSize, color are wired up for Text and backgroundColor and borderColor are wired up for Button.  More to come.


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

Branch: refs/heads/develop
Commit: 91ca636f76495ad737c94171478207f455dad1dc
Parents: 1060f6b
Author: Alex Harui <ah...@apache.org>
Authored: Mon Apr 22 21:13:32 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Apr 22 21:13:32 2013 -0700

----------------------------------------------------------------------
 frameworks/as/defaults.css                         |   35 +++-
 frameworks/as/src/FlexJSUIClasses.as               |    1 +
 .../as/src/org/apache/flex/core/CSSTextField.as    |   43 ++++
 .../as/src/org/apache/flex/core/IValuesImpl.as     |    2 +-
 .../org/apache/flex/core/SimpleCSSValuesImpl.as    |   50 ++++-
 .../src/org/apache/flex/core/SimpleValuesImpl.as   |    2 +-
 .../html/staticControls/beads/CSSTextButtonBead.as |  171 +++++++++++++++
 .../flex/html/staticControls/beads/CheckBoxBead.as |   14 +-
 .../flex/html/staticControls/beads/ComboBoxBead.as |    2 -
 .../html/staticControls/beads/DropDownListBead.as  |   18 +-
 .../html/staticControls/beads/RadioButtonBead.as   |   14 +-
 .../html/staticControls/beads/TextButtonBead.as    |   14 +-
 .../html/staticControls/beads/TextFieldBeadBase.as |    8 +-
 .../supportClasses/TextFieldItemRenderer.as        |    6 +-
 14 files changed, 327 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/91ca636f/frameworks/as/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/as/defaults.css b/frameworks/as/defaults.css
index 260d560..d8da8bc 100644
--- a/frameworks/as/defaults.css
+++ b/frameworks/as/defaults.css
@@ -22,6 +22,37 @@
 @namespace jq "library://ns.apache.org/flexjs/jquery";
 
 /* Global style declaration */
+*
+{
+    font-family: "Arial";
+    font-size: 12px;
+}
+
+Button
+{
+	background-color: #d8d8d8;
+	border: 1px solid #0;
+	padding: 4px;
+}
+
+Button:hover
+{
+	background-color: #9fa0a1;
+	border: 1px solid #0;
+	padding: 4px;
+}
+
+Button:active
+{
+	background-color: #929496;
+	border: 1px solid #0;
+	padding: 4px;
+}
+
+@media -flex-flash
+{
+
+/* Global style declaration */
 global
 {
     ITextBead: ClassReference("org.apache.flex.html.staticControls.beads.TextFieldBead");
@@ -66,7 +97,7 @@ RadioButton
 
 TextButton
 {
-	ITextButtonBead: ClassReference("org.apache.flex.html.staticControls.beads.TextButtonBead");
+	ITextButtonBead: ClassReference("org.apache.flex.html.staticControls.beads.CSSTextButtonBead");
 }
 
 TextInput
@@ -135,3 +166,5 @@ jq|RadioButton
     IToggleButtonModel: ClassReference("org.apache.flex.html.staticControls.beads.models.ValueToggleButtonModel");
     IRadioButtonBead:  ClassReference("org.apache.flex.html.staticControls.beads.RadioButtonBead");			
 }
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/91ca636f/frameworks/as/src/FlexJSUIClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/FlexJSUIClasses.as b/frameworks/as/src/FlexJSUIClasses.as
index 86560d6..46ab55b 100644
--- a/frameworks/as/src/FlexJSUIClasses.as
+++ b/frameworks/as/src/FlexJSUIClasses.as
@@ -28,6 +28,7 @@ package
 internal class FlexJSUIClasses
 {
 	import org.apache.flex.html.staticControls.beads.IButtonBead; IButtonBead;
+	import org.apache.flex.html.staticControls.beads.CSSTextButtonBead; CSSTextButtonBead;
 	import org.apache.flex.html.staticControls.beads.TextButtonBead; TextButtonBead;
 	import org.apache.flex.html.staticControls.beads.TextFieldBead; TextFieldBead;
 	import org.apache.flex.html.staticControls.beads.TextInputBead; TextInputBead;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/91ca636f/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
new file mode 100644
index 0000000..a71174d
--- /dev/null
+++ b/frameworks/as/src/org/apache/flex/core/CSSTextField.as
@@ -0,0 +1,43 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF 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();
+		}
+
+		override public function set text(value:String):void
+		{
+			var tf: TextFormat = new TextFormat();
+			tf.font = ValuesManager.valuesImpl.getValue(this, "fontFamily") as String;
+			tf.size = ValuesManager.valuesImpl.getValue(this, "fontSize");
+			tf.color = ValuesManager.valuesImpl.getValue(this, "color");			
+			defaultTextFormat = tf;
+			super.text = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/91ca636f/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
index 855b865..a684deb 100644
--- a/frameworks/as/src/org/apache/flex/core/IValuesImpl.as
+++ b/frameworks/as/src/org/apache/flex/core/IValuesImpl.as
@@ -20,7 +20,7 @@ package org.apache.flex.core
 {
 	public interface IValuesImpl
 	{
-		function getValue(thisObject:Object, valueName:String):Object;
+		function getValue(thisObject:Object, valueName:String, state:String = null, attrs:Object = null):Object;
         function getInstance(valueName:String):Object;
         
         function init(mainClass:Object):void;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/91ca636f/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
index 567f339..73b316e 100644
--- a/frameworks/as/src/org/apache/flex/core/SimpleCSSValuesImpl.as
+++ b/frameworks/as/src/org/apache/flex/core/SimpleCSSValuesImpl.as
@@ -20,6 +20,8 @@ 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;
@@ -33,6 +35,8 @@ package org.apache.flex.core
 		
         private var mainClass:Object;
         
+		private var conditionCombiners:Object;
+
         public function init(mainClass:Object):void
         {
             this.mainClass = mainClass;
@@ -62,7 +66,16 @@ package org.apache.flex.core
                 }
                 else if (className == CSSClass.CSSCondition)
                 {
-                    // not supported
+					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)
                 {
@@ -117,6 +130,9 @@ package org.apache.flex.core
 
         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++)
@@ -134,18 +150,30 @@ package org.apache.flex.core
 
         public var values:Object;
 		
-		public function getValue(thisObject:Object, valueName:String):Object
+		public function getValue(thisObject:Object, valueName:String, state:String = null, attrs:Object = null):Object
 		{
-            var className:String = getQualifiedClassName(thisObject);
-            var o:Object = values[className];
-            var value:*;
-            if (o)
-            {
-                value = o[valueName];
-                if (value !== undefined)
-                    return value;
-            }
+			var value:*;
+			var className:String = getQualifiedClassName(thisObject);
+			while (className != "Object")
+			{
+				if (state)
+					className += ":" + state;
+				
+	            var o:Object = values[className];
+	            if (o)
+	            {
+	                value = o[valueName];
+	                if (value !== undefined)
+	                    return value;
+	            }
+				className = getQualifiedSuperclassName(thisObject);
+				thisObject = getDefinitionByName(className);
+			}
             o = values["global"];
+			value = o[valueName];
+			if (value !== undefined)
+				return value;
+			o = values["*"];			
 			return o[valueName];
 		}
 		

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/91ca636f/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
index 42fa6d7..d7dc034 100644
--- a/frameworks/as/src/org/apache/flex/core/SimpleValuesImpl.as
+++ b/frameworks/as/src/org/apache/flex/core/SimpleValuesImpl.as
@@ -30,7 +30,7 @@ package org.apache.flex.core
 		
 		public var values:Object;
 		
-		public function getValue(thisObject:Object, valueName:String):Object
+		public function getValue(thisObject:Object, valueName:String, state:String = null, attrs:Object = null):Object
 		{
 			return values[valueName];
 		}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/91ca636f/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonBead.as
new file mode 100644
index 0000000..19d4841
--- /dev/null
+++ b/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonBead.as
@@ -0,0 +1,171 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY 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.text.TextFieldType;
+	
+	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;
+
+	public class CSSTextButtonBead implements ITextButtonBead
+	{
+		public function CSSTextButtonBead()
+		{
+			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.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;
+			if (textModel.text !== null)
+				text = textModel.text;
+			if (textModel.html !== null)
+				html = textModel.html;
+			var defaultBorderStyles:Object = ValuesManager.valuesImpl.getValue(value, "border");
+			var defaultBackgroundColor:Object = ValuesManager.valuesImpl.getValue(value, "backgroundColor");
+			var borderStyles:Object = ValuesManager.valuesImpl.getValue(value, "border", "hover");
+			var borderColor:uint;
+			var borderThickness:uint;
+			var borderStyle:String;
+			if (!borderStyles)
+				borderStyles = defaultBorderStyles;
+			if (borderStyles is Array)
+			{
+				borderColor = borderStyles[2];
+				borderStyle = borderStyles[1];
+				borderThickness = borderStyles[0];
+				overTextField.borderColor = borderColor;
+				overTextField.border = borderStyle != "none";
+			}
+			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(value, "backgroundColor", "hover");
+			if (backgroundColor == null)
+				backgroundColor = defaultBackgroundColor;
+			overTextField.backgroundColor = backgroundColor as uint;
+			
+			borderStyles = ValuesManager.valuesImpl.getValue(value, "border", "active");
+			if (!borderStyles)
+				borderStyles = defaultBorderStyles;
+			if (borderStyles is Array)
+			{
+				borderColor = borderStyles[2];
+				borderStyle = borderStyles[1];
+				borderThickness = borderStyles[0];
+				downTextField.borderColor = borderColor;
+				downTextField.border = borderStyle != "none";
+			}
+			backgroundColor = ValuesManager.valuesImpl.getValue(value, "backgroundColor", "active");
+			if (backgroundColor == null)
+				backgroundColor = defaultBackgroundColor;
+			downTextField.backgroundColor = backgroundColor as uint;
+
+			borderStyles = defaultBorderStyles;
+			if (borderStyles is Array)
+			{
+				borderColor = borderStyles[2];
+				borderStyle = borderStyles[1];
+				borderThickness = borderStyles[0];
+				upTextField.borderColor = borderColor;
+				upTextField.border = borderStyle != "none";
+			}
+			upTextField.backgroundColor = defaultBackgroundColor as uint;
+		}
+		
+		private function textChangeHandler(event:Event):void
+		{
+			text = textModel.text;
+		}
+		
+		private function htmlChangeHandler(event:Event):void
+		{
+			html = textModel.html;
+		}
+		
+		private var upTextField:CSSTextField;
+		private var downTextField:CSSTextField;
+		private 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/91ca636f/frameworks/as/src/org/apache/flex/html/staticControls/beads/CheckBoxBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CheckBoxBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/CheckBoxBead.as
index 98ed72b..5084cab 100644
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CheckBoxBead.as
+++ b/frameworks/as/src/org/apache/flex/html/staticControls/beads/CheckBoxBead.as
@@ -21,10 +21,10 @@ package org.apache.flex.html.staticControls.beads
 	import flash.display.Shape;
 	import flash.display.SimpleButton;
 	import flash.display.Sprite;
-	import flash.text.TextField;
 	import flash.text.TextFieldAutoSize;
 	import flash.text.TextFieldType;
 	
+	import org.apache.flex.core.CSSTextField;
 	import org.apache.flex.core.IBead;
 	import org.apache.flex.core.ICheckBoxBead;
 	import org.apache.flex.core.IStrand;
@@ -44,7 +44,7 @@ package org.apache.flex.html.staticControls.beads
 			
 			for each( var s:Sprite in sprites )
 			{
-				var tf:TextField = new TextField();
+				var tf:CSSTextField = new CSSTextField();
 				tf.type = TextFieldType.DYNAMIC;
 				tf.autoSize = TextFieldAutoSize.LEFT;
 				tf.name = "textField";
@@ -103,7 +103,7 @@ package org.apache.flex.html.staticControls.beads
 		
 		public function get text():String
 		{
-			var tf:TextField = upSprite.getChildByName('textField') as TextField;
+			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
 			return tf.text;
 		}
 		
@@ -111,7 +111,7 @@ package org.apache.flex.html.staticControls.beads
 		{
 			for each( var s:Sprite in sprites )
 			{
-				var tf:TextField = s.getChildByName('textField') as TextField;
+				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
 				tf.text = value;
 			}
 			
@@ -120,7 +120,7 @@ package org.apache.flex.html.staticControls.beads
 		
 		public function get html():String
 		{
-			var tf:TextField = upSprite.getChildByName('textField') as TextField;
+			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
 			return tf.htmlText;
 		}
 		
@@ -128,7 +128,7 @@ package org.apache.flex.html.staticControls.beads
 		{
 			for each(var s:Sprite in sprites)
 			{
-				var tf:TextField = s.getChildByName('textField') as TextField;
+				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
 				tf.htmlText = value;
 			}
 			
@@ -180,7 +180,7 @@ package org.apache.flex.html.staticControls.beads
 			for each(var s:Sprite in sprites)
 			{
 				var icon:Shape = s.getChildByName("icon") as Shape;
-				var tf:TextField = s.getChildByName("textField") as TextField;
+				var tf:CSSTextField = s.getChildByName("textField") as CSSTextField;
 				
 				drawCheckBox(icon);
 				

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/91ca636f/frameworks/as/src/org/apache/flex/html/staticControls/beads/ComboBoxBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ComboBoxBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ComboBoxBead.as
index 82d2ec0..35eddec 100644
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ComboBoxBead.as
+++ b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ComboBoxBead.as
@@ -22,13 +22,11 @@ package org.apache.flex.html.staticControls.beads
 	import flash.display.DisplayObjectContainer;
 	import flash.display.Sprite;
 	
-	import org.apache.flex.binding.ConstantBinding;
 	import org.apache.flex.core.IBead;
 	import org.apache.flex.core.IComboBoxBead;
 	import org.apache.flex.core.IComboBoxModel;
 	import org.apache.flex.core.IInitModel;
 	import org.apache.flex.core.IInitSkin;
-	import org.apache.flex.core.ISelectionModel;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.Event;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/91ca636f/frameworks/as/src/org/apache/flex/html/staticControls/beads/DropDownListBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DropDownListBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/DropDownListBead.as
index 863d72a..8ad9ff1 100644
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/DropDownListBead.as
+++ b/frameworks/as/src/org/apache/flex/html/staticControls/beads/DropDownListBead.as
@@ -24,9 +24,9 @@ package org.apache.flex.html.staticControls.beads
 	import flash.display.Shape;
 	import flash.display.SimpleButton;
 	import flash.display.Sprite;
-	import flash.text.TextField;
 	import flash.text.TextFieldType;
 	
+	import org.apache.flex.core.CSSTextField;
 	import org.apache.flex.core.IInitModel;
 	import org.apache.flex.core.IInitSkin;
 	import org.apache.flex.core.ISelectionModel;
@@ -42,9 +42,9 @@ package org.apache.flex.html.staticControls.beads
             upSprite = new Sprite();
             downSprite = new Sprite();
             overSprite = new Sprite();
-			upTextField = new TextField();
-			downTextField = new TextField();
-			overTextField = new TextField();
+			upTextField = new CSSTextField();
+			downTextField = new CSSTextField();
+			overTextField = new CSSTextField();
             upSprite.addChild(upTextField);
             overSprite.addChild(overTextField);
             downSprite.addChild(downTextField);
@@ -86,7 +86,7 @@ package org.apache.flex.html.staticControls.beads
         {
             var g:Graphics = shape.graphics;
             g.beginFill(color);
-            g.drawRect(0, 0, 16, 16);
+            g.drawRect(0, 0, 16, 17);
             g.endFill();
             g.beginFill(0);
             g.moveTo(8, 2);
@@ -101,7 +101,7 @@ package org.apache.flex.html.staticControls.beads
             g.lineTo(8, 14);
             g.endFill();
             g.lineStyle(1, 0);
-            g.drawRect(0, 0, 16, 16);
+            g.drawRect(0, 0, 16, 17);
         }
         
 		private var selectionModel:ISelectionModel;
@@ -154,9 +154,9 @@ package org.apache.flex.html.staticControls.beads
 			shape.graphics.endFill();
         }
         
-		private var upTextField:TextField;
-		private var downTextField:TextField;
-		private var overTextField:TextField;
+		private var upTextField:CSSTextField;
+		private var downTextField:CSSTextField;
+		private var overTextField:CSSTextField;
         private var upSprite:Sprite;
         private var downSprite:Sprite;
         private var overSprite:Sprite;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/91ca636f/frameworks/as/src/org/apache/flex/html/staticControls/beads/RadioButtonBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/RadioButtonBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/RadioButtonBead.as
index c109544..617e34f 100644
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/RadioButtonBead.as
+++ b/frameworks/as/src/org/apache/flex/html/staticControls/beads/RadioButtonBead.as
@@ -21,10 +21,10 @@ package org.apache.flex.html.staticControls.beads
 	import flash.display.Shape;
 	import flash.display.SimpleButton;
 	import flash.display.Sprite;
-	import flash.text.TextField;
 	import flash.text.TextFieldAutoSize;
 	import flash.text.TextFieldType;
 	
+	import org.apache.flex.core.CSSTextField;
 	import org.apache.flex.core.IBead;
 	import org.apache.flex.core.IRadioButtonBead;
 	import org.apache.flex.core.IStrand;
@@ -44,7 +44,7 @@ package org.apache.flex.html.staticControls.beads
 			
 			for each( var s:Sprite in sprites )
 			{
-				var tf:TextField = new TextField();
+				var tf:CSSTextField = new CSSTextField();
 				tf.type = TextFieldType.DYNAMIC;
 				tf.autoSize = TextFieldAutoSize.LEFT;
 				tf.name = "textField";
@@ -109,7 +109,7 @@ package org.apache.flex.html.staticControls.beads
 		
 		public function get text():String
 		{
-			var tf:TextField = upSprite.getChildByName('textField') as TextField;
+			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
 			return tf.text;
 		}
 		
@@ -117,7 +117,7 @@ package org.apache.flex.html.staticControls.beads
 		{
 			for each( var s:Sprite in sprites )
 			{
-				var tf:TextField = s.getChildByName('textField') as TextField;
+				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
 				tf.text = value;
 			}
 			
@@ -126,7 +126,7 @@ package org.apache.flex.html.staticControls.beads
 		
 		public function get html():String
 		{
-			var tf:TextField = upSprite.getChildByName('textField') as TextField;
+			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
 			return tf.htmlText;
 		}
 		
@@ -134,7 +134,7 @@ package org.apache.flex.html.staticControls.beads
 		{
 			for each(var s:Sprite in sprites)
 			{
-				var tf:TextField = s.getChildByName('textField') as TextField;
+				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
 				tf.htmlText = value;
 			}
 			
@@ -186,7 +186,7 @@ package org.apache.flex.html.staticControls.beads
 			for each(var s:Sprite in sprites)
 			{
 				var icon:Shape = s.getChildByName("icon") as Shape;
-				var tf:TextField = s.getChildByName("textField") as TextField;
+				var tf:CSSTextField = s.getChildByName("textField") as CSSTextField;
 				
 				drawRadioButton(icon);
 				

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/91ca636f/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextButtonBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextButtonBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextButtonBead.as
index a0530fd..172c56e 100644
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextButtonBead.as
+++ b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextButtonBead.as
@@ -20,9 +20,9 @@ package org.apache.flex.html.staticControls.beads
 {
 	import flash.display.Shape;
 	import flash.display.SimpleButton;
-	import flash.text.TextField;
 	import flash.text.TextFieldType;
 	
+	import org.apache.flex.core.CSSTextField;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.ITextModel;
 	import org.apache.flex.events.Event;
@@ -31,9 +31,9 @@ package org.apache.flex.html.staticControls.beads
 	{
 		public function TextButtonBead()
 		{
-			upTextField = new TextField();
-			downTextField = new TextField();
-			overTextField = new TextField();
+			upTextField = new CSSTextField();
+			downTextField = new CSSTextField();
+			overTextField = new CSSTextField();
 			upTextField.border = true;
 			downTextField.border = true;
 			overTextField.border = true;
@@ -94,9 +94,9 @@ package org.apache.flex.html.staticControls.beads
 			html = textModel.html;
 		}
 		
-		private var upTextField:TextField;
-		private var downTextField:TextField;
-		private var overTextField:TextField;
+		private var upTextField:CSSTextField;
+		private var downTextField:CSSTextField;
+		private var overTextField:CSSTextField;
 		
 		public function get text():String
 		{

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/91ca636f/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldBeadBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldBeadBase.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldBeadBase.as
index be9b261..4f1c26d 100644
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldBeadBase.as
+++ b/frameworks/as/src/org/apache/flex/html/staticControls/beads/TextFieldBeadBase.as
@@ -19,8 +19,8 @@
 package org.apache.flex.html.staticControls.beads
 {
 	import flash.display.DisplayObjectContainer;
-	import flash.text.TextField;
 	
+	import org.apache.flex.core.CSSTextField;
 	import org.apache.flex.core.IBead;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.ITextBead;
@@ -31,12 +31,12 @@ package org.apache.flex.html.staticControls.beads
 	{
 		public function TextFieldBeadBase()
 		{
-			_textField = new TextField();
+			_textField = new CSSTextField();
 		}
 		
-		private var _textField:TextField;
+		private var _textField:CSSTextField;
 		
-		protected function get textField() : TextField
+		protected function get textField() : CSSTextField
 		{
 			return _textField;
 		}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/91ca636f/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
index 9984868..3ca451a 100644
--- a/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/TextFieldItemRenderer.as
+++ b/frameworks/as/src/org/apache/flex/html/staticControls/supportClasses/TextFieldItemRenderer.as
@@ -18,14 +18,14 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.staticControls.supportClasses
 {
-    import flash.text.TextField;
     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.html.staticControls.beads.ITextItemRenderer;
 	
-	public class TextFieldItemRenderer extends TextField implements ITextItemRenderer, IStrand
+	public class TextFieldItemRenderer extends CSSTextField implements ITextItemRenderer, IStrand
 	{
 		public function TextFieldItemRenderer()
 		{