You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by pe...@apache.org on 2015/11/20 21:18:50 UTC

[01/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Change the template to hold the required variables, not those copied from the Flex SDK

Repository: flex-asjs
Updated Branches:
  refs/heads/core_js_to_as 44a1bb9a0 -> d384b50dd


Change the template to hold the required variables, not those copied from the Flex SDK

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/core_js_to_as
Commit: 28c5972bb5e1f2443f518d20ab8972a3a461d046
Parents: 0bbba3e
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Sun Sep 27 17:28:07 2015 +0200
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Sun Sep 27 17:28:07 2015 +0200

----------------------------------------------------------------------
 env-template.properties | 71 +++++++++++++++++++-------------------------
 1 file changed, 31 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/28c5972b/env-template.properties
----------------------------------------------------------------------
diff --git a/env-template.properties b/env-template.properties
index d1465ca..312098e 100644
--- a/env-template.properties
+++ b/env-template.properties
@@ -23,10 +23,13 @@
 # For each of
 #
 #   AIR_HOME
+#   FALCON_HOME
+#   FALCONJX_HOME
 #   FLASHPLAYER_DEBUGGER
+#   FLEX_HOME
+#   FLEXUNIT_HOME
+#   GOOG_HOME
 #   PLAYERGLOBAL_HOME
-#   PIXELBENDER_HOME
-#   ADOBE_EXTENSION_MANAGER
 #
 # you need to set an environment variable with that name or set the property here
 # prefixed with "env.".  If a property is set in this file, and the corresponding 
@@ -51,12 +54,38 @@
 #env.AIR_HOME=
 
 #
+# Set this to the root of its SDK: <repo-path>/compiler/generated/dist/sdk
+#
+#env.FALCON_HOME=
+
+#
+# Set this to the root of its SDK: <repo-path>/compiler.jx
+#
+#env.FALCONJX_HOME=
+
+#
 # Set this to absolute path that contains the Adobe Flash Player content debugger
 # for your platform.  
 #
 #env.FLASHPLAYER_DEBUGGER=
 
 #
+# Set this to absolute path of an SDK or repo.  
+#
+#env.FLEX_HOME=
+
+#
+# Set this to the root of a FlexUnit release or repo
+#
+#env.FLEXUNIT_HOME=
+
+#
+# Set GOOG_HOME to the absolute path of the folder that contains the third_party
+# and closure sub-folders.  
+#
+#env.GOOG_HOME=
+
+#
 # PLAYERGLOBAL_HOME is a directory which contains one or more subdirectories.
 # The name of each subdirectory corresponds to a supported target player version and
 # in each of the subdirectories is the playerglobal.swc that corresponds to that target 
@@ -70,41 +99,3 @@
 #               playerglobal.swc (file)
 #
 #env.PLAYERGLOBAL_HOME=
-
-#
-# Set this to the directory that contains the Adobe Pixel Bender Toolkit
-# for your platform.
-#
-# On Windows (32-bit), if installed to the default location, the setting would be
-#   env.PIXELBENDER_HOME=C:\\Program Files\\Adobe\\Adobe Utilities - CS5\\Pixel Bender Toolkit 2
-#
-# or on a 64-bit version of Windows
-#	env.PIXELBENDER_HOME=C:\\Program Files (x86)\\Adobe\\Adobe Utilities - CS5\\Pixel Bender Toolkit 2
-#
-# Note: the folder "Program Files" (or "Program Files (x86)") might have a different name
-# depending on the language of your Windows installation.
-#
-# On Mac, if installed to the default location, the setting would be
-#   env.PIXELBENDER_HOME=/Applications/Utilities/Adobe Utilities-CS5.localized/Pixel Bender Toolkit 2/
-#
-#env.PIXELBENDER_HOME=
-
-#
-# Set this to the file that contains the Adobe Extension Manager CS5
-# for your platform.  This is optional and is only required for those
-# who need flash integration in order to build the MXP for the flash integration kit.
-#
-# On Windows (32-bit), if installed to the default location, the setting would be
-#   env.ADOBE_EXTENSION_MANAGER=C:\\Program Files\\Adobe\\Adobe Extension Manager CS5\\Adobe Extension Manager CS5.exe
-#
-# or on a 64-bit version of Windows
-#   env.ADOBE_EXTENSION_MANAGER=C:\\Program Files (x86)\\Adobe\\Adobe Extension Manager CS5\\Adobe Extension Manager CS5.exe
-#
-# Note: the folder "Program Files" (or "Program Files (x86)") might have a different name
-# depending on the language of your Windows installation.
-#
-# On Mac, if installed to the default location, the setting would be
-#   env.ADOBE_EXTENSION_MANAGER=/Applications/Adobe Extension Manager CS5/Adobe Extension Manager CS5.app/Contents/MacOS/Adobe Extension Manager CS5
-#
-#env.ADOBE_EXTENSION_MANAGER=
-


[24/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Minor changes to get CordovaCameraExample to work for android again.

Posted by pe...@apache.org.
Minor changes to get CordovaCameraExample to work for android again.


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

Branch: refs/heads/core_js_to_as
Commit: 8dcd7ca9427a3f9996a3cde23d16c4b6da8a3f04
Parents: ad4955f
Author: Peter Ent <pe...@apache.org>
Authored: Fri Oct 16 14:17:29 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Fri Oct 16 14:17:29 2015 -0400

----------------------------------------------------------------------
 cordova-build.xml                                   |  1 +
 examples/flexjs/CordovaCameraExample/src/README.txt | 11 +++++++----
 2 files changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8dcd7ca9/cordova-build.xml
----------------------------------------------------------------------
diff --git a/cordova-build.xml b/cordova-build.xml
index 4d3b400..1e209b8 100644
--- a/cordova-build.xml
+++ b/cordova-build.xml
@@ -79,6 +79,7 @@
 		<!-- build the app -->
 		<exec executable="cordova" dir="${app.dir}">
 			<arg value="build" />
+			<arg value="android" />
 		</exec>
     </target>
     

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8dcd7ca9/examples/flexjs/CordovaCameraExample/src/README.txt
----------------------------------------------------------------------
diff --git a/examples/flexjs/CordovaCameraExample/src/README.txt b/examples/flexjs/CordovaCameraExample/src/README.txt
index 52d21ff..a3ebcaf 100644
--- a/examples/flexjs/CordovaCameraExample/src/README.txt
+++ b/examples/flexjs/CordovaCameraExample/src/README.txt
@@ -8,17 +8,20 @@ Go to your mobile development directory:
 %cd ~/mobile
 
 Copy into this directory, the cordova-build.xml ANT script:
-% cp ~/dev/flex-asjs/cordova-build.xml
+% cp ~/dev/flex-asjs/cordova-build.xml .
 
 Create the Cordova project for your FlexJS application:
-% ant -f cordova-build.xml -DPROJECT_NAME=CordovaCameraExample -DTARGET_DIR=. -DPROJECT_DIR=/Users/home/dev/flex-asjs/examples/CordovaCameraExample/
+% ant -f cordova-build.xml -DPROJECT_NAME=CordovaCameraExample -DTARGET_DIR=. -DPROJECT_DIR=/Users/home/dev/flex-asjs/examples/flexjs/CordovaCameraExample
 
 Load the Cordova camera plugin:
 cd CordovaCameraExample
-% cordova plugin add org.apache.cordova.camera
+% cordova plugin add cordova-plugin-camera
 
 Modify the www/index.html file to include the cordova.js source (place this line with the other <script> elements):
 <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
 
 Run your app on your connected device:
-% cordova run
\ No newline at end of file
+% cordova run
+
+Or run on the simulator
+% cordova emulate android
\ No newline at end of file


[12/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Updated DataGrid and MobileTrader examples to use ArrayList as dataProvider to DataGrid components.

Posted by pe...@apache.org.
Updated DataGrid and MobileTrader examples to use ArrayList as dataProvider to DataGrid components.


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

Branch: refs/heads/core_js_to_as
Commit: 848f245dbb8730170193f2c2f7405cf74738d347
Parents: c472807
Author: Peter Ent <pe...@apache.org>
Authored: Wed Oct 7 15:58:13 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Wed Oct 7 15:58:13 2015 -0400

----------------------------------------------------------------------
 .../DataGridExample/src/models/ProductsModel.as | 10 ++++--
 .../src/controller/AlertsViewController.as      |  5 +--
 .../src/controller/WatchListController.as       |  5 +--
 .../MobileTrader/src/models/AssetsModel.as      | 14 +++++++--
 .../MobileTrader/src/models/ProductsModel.as    | 32 +++++++++++---------
 .../MobileTrader/src/views/AlertsView.mxml      |  3 +-
 .../MobileTrader/src/views/AssetsView.mxml      |  4 +--
 .../MobileTrader/src/views/WatchListView.mxml   |  1 +
 8 files changed, 49 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/DataGridExample/src/models/ProductsModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/DataGridExample/src/models/ProductsModel.as b/examples/flexjs/DataGridExample/src/models/ProductsModel.as
index e3a42a9..8eab2fe 100644
--- a/examples/flexjs/DataGridExample/src/models/ProductsModel.as
+++ b/examples/flexjs/DataGridExample/src/models/ProductsModel.as
@@ -19,6 +19,7 @@
 package models
 {
 	import org.apache.flex.events.EventDispatcher;
+	import org.apache.flex.collections.ArrayList;
 	
 	import products.Product;
 	
@@ -26,16 +27,21 @@ package models
 	{
 		public function ProductsModel()
 		{
+			_productList = new ArrayList();
+			_productList.source = source;
 		}
 
-		private var _productList:Array = [
+		private var source:Array = [
 			new Product("ps100","Widgets",44,200,"assets/smallbluerect.jpg"),
 			new Product("tx200","Thingys",5,285,"assets/smallgreenrect.jpg"),
 			new Product("rz300","Sprockets",80,105,"assets/smallyellowrect.jpg"),
 			new Product("dh440","Doohickies",10,340,"assets/smallredrect.jpg"),
 			new Product("ps220","Weejets",35,190,"assets/smallorangerect.jpg")
 			];
-		public function get productList():Array
+			
+		private var _productList:ArrayList;
+		
+		public function get productList():ArrayList
 		{
 			return _productList;
 		}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as b/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as
index 716264d..254cd18 100644
--- a/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as
+++ b/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as
@@ -28,6 +28,7 @@ package controller
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.EventDispatcher;
 	import org.apache.flex.utils.Timer;
+	import org.apache.flex.collections.ArrayList;
 	
 	import views.AlertsView;
 	
@@ -111,13 +112,13 @@ package controller
 		 */
 		protected function timerHandler(event:*):void
 		{
-			var alerts:Array = (model as ProductsModel).alerts;
+			var alerts:ArrayList = (model as ProductsModel).alerts;
 			
 			if (alerts.length == 0) return;
 			
 			for (var i:int=0; i < alerts.length; i++)
 			{
-				var alert:Alert = alerts[i] as Alert;
+				var alert:Alert = alerts.getItemAt(i) as Alert;
 				alert.message = "";
 				
 				if (alert.greaterThan) {

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/controller/WatchListController.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/controller/WatchListController.as b/examples/flexjs/MobileTrader/src/controller/WatchListController.as
index 367b24f..5da5b70 100644
--- a/examples/flexjs/MobileTrader/src/controller/WatchListController.as
+++ b/examples/flexjs/MobileTrader/src/controller/WatchListController.as
@@ -27,6 +27,7 @@ package controller
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.EventDispatcher;
 	import org.apache.flex.utils.Timer;
+	import org.apache.flex.collections.ArrayList;
 	
 	import views.StockView;
 	import views.WatchListView;
@@ -121,13 +122,13 @@ package controller
 		 */
 		protected function timerHandler(event:*):void
 		{
-			var stockList:Array = (model as ProductsModel).watchList;
+			var stockList:ArrayList = (model as ProductsModel).watchList;
 			
 			if (stockList.length == 0) return;
 			
 			if (index >= stockList.length) index = 0;
 			
-			(model as ProductsModel).updateStockData(stockList[index] as Stock);
+			(model as ProductsModel).updateStockData(stockList.getItemAt(index) as Stock);
 			index++;
 			
 			var newEvent:Event = new Event("update");

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/models/AssetsModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/models/AssetsModel.as b/examples/flexjs/MobileTrader/src/models/AssetsModel.as
index 8824bc5..674adfe 100755
--- a/examples/flexjs/MobileTrader/src/models/AssetsModel.as
+++ b/examples/flexjs/MobileTrader/src/models/AssetsModel.as
@@ -21,24 +21,34 @@ package models
 	import org.apache.flex.core.IBeadModel;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.events.EventDispatcher;
+	import org.apache.flex.collections.ArrayList;
 	
 	public class AssetsModel extends EventDispatcher implements IBeadModel
 	{
 		public function AssetsModel()
 		{
 			super();
+			_assetsData = new ArrayList();
+			_assetsData.source = source;
 		}
-		private var _assetsData:Array = [
+		private var source:Array = [
 			{label:"Net Worth:",    value:161984, netChange:-2.37},
 			{label:"Last Month:",   value:165915, netChange:10.98},
 			{label:"6 Months Ago:", value:145962, netChange:16.56},
 			{label:"Last Year:",    value:138972, netChange:8.36}
 		];
-		public function get assetsData():Array
+		private var _assetsData:ArrayList;
+		
+		public function get assetsData():ArrayList
 		{
 			return _assetsData;
 		}
 		
+		public function get assetsDataAsArray():Array
+		{
+		    return source;
+		}
+		
 		public function set strand(value:IStrand):void
 		{
 			// not used

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/models/ProductsModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/models/ProductsModel.as b/examples/flexjs/MobileTrader/src/models/ProductsModel.as
index 7fb7a22..b6f91ad 100755
--- a/examples/flexjs/MobileTrader/src/models/ProductsModel.as
+++ b/examples/flexjs/MobileTrader/src/models/ProductsModel.as
@@ -25,6 +25,7 @@ package models
 	import org.apache.flex.net.HTTPService;
 	import org.apache.flex.collections.parsers.JSONInputParser;
 	import org.apache.flex.collections.LazyCollection;
+	import org.apache.flex.collections.ArrayList;
 		
 	public class ProductsModel extends EventDispatcher implements IBeadModel
 	{
@@ -36,6 +37,9 @@ package models
 			collection = new LazyCollection;
 			collection.inputParser = new JSONInputParser();
 			collection.itemConverter = new StockDataJSONItemConverter();
+			
+			_watchList = new ArrayList();
+			_alerts = new ArrayList();
 		}
 		
 		private var service:HTTPService;
@@ -64,16 +68,16 @@ package models
 			return _labelFields;
 		}
 		
-		private var _watchList:Array = [];
+		private var _watchList:ArrayList;
 		
-		public function get watchList():Array
+		public function get watchList():ArrayList
 		{
 			return _watchList;
 		}
 		
-		private var _alerts:Array = [];
+		private var _alerts:ArrayList;
 		
-		public function get alerts():Array
+		public function get alerts():ArrayList
 		{
 			return _alerts;
 		}
@@ -82,14 +86,14 @@ package models
 		{
 			for (var i:int =0; i < _alerts.length; i++)
 			{
-				var alert:Alert = _alerts[i] as Alert;
+				var alert:Alert = _alerts.getItemAt(i) as Alert;
 				if (alert.symbol == value.symbol) {
-					_alerts[i] = value;
+				    _alerts.setItemAt(value, i);
 					return;
 				}
 			}
 			
-			_alerts.push(value);
+			_alerts.addItem(value);
 			dispatchEvent(new Event("alertsUpdate"));
 		}
 		
@@ -97,13 +101,13 @@ package models
 		{
 			for (var i:int=0; i < _watchList.length; i++)
 			{
-				var stock:Stock = _watchList[i];
+				var stock:Stock = _watchList.getItemAt(i) as Stock;
 				if (stock.symbol == symbol) return stock;
 			}
 			
 			stock = new Stock(symbol);
 			
-			_watchList.push(stock);
+			_watchList.addItem(stock);
 			dispatchEvent(new Event("update"));
 			
 			updateStockData(stock);
@@ -122,18 +126,18 @@ package models
 		{
 			for (var i:int=0; i < alerts.length; i++)
 			{
-				var alert:Alert = alerts[i] as Alert;
+				var alert:Alert = alerts.getItemAt(i) as Alert;
 				if (stock.symbol == alert.symbol) {
-					alerts.splice(i,1);
+					alerts.removeItemAt(i);
 					break;
 				}
 			}
 			
 			for (i=0; i < _watchList.length; i++)
 			{
-				var s:Stock = _watchList[i] as Stock;
+				var s:Stock = _watchList.getItemAt(i) as Stock;
 				if (stock.symbol == s.symbol) {
-					_watchList.splice(i,1);
+					_watchList.removeItemAt(i);
 					break;
 				}
 			}
@@ -149,7 +153,7 @@ package models
 			var sym:String = responseData["Symbol"];
 			for (var i:int=0; i < _watchList.length; i++)
 			{
-				var stock:Stock = _watchList[i];
+				var stock:Stock = _watchList.getItemAt(i) as Stock;
 				if (stock.symbol == sym) {
 					stock.updateFromData(responseData);
 					break;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/views/AlertsView.mxml b/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
index 2c112df..96c9b86 100755
--- a/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
+++ b/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
@@ -48,6 +48,7 @@ limitations under the License.
 			private function onAlertSet():void
 			{
 				dispatchEvent(new org.apache.flex.events.Event("alertSet"));
+				dataGrid.model.dispatchEvent(new org.apache.flex.events.Event("dataProviderChanged"));
 			}
 		]]>
 	</fx:Script>
@@ -64,7 +65,7 @@ limitations under the License.
 		<js:TextButton text="Set" click="onAlertSet()" />
 	</js:Container>
 	
-	<js:DataGrid x="0" y="40" width="100%" height="200">
+	<js:DataGrid id="dataGrid" x="0" y="40" width="100%" height="200">
 		<js:beads>
 			<js:SimpleBinding
 				eventName="alertsUpdate"

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/views/AssetsView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/views/AssetsView.mxml b/examples/flexjs/MobileTrader/src/views/AssetsView.mxml
index 98e57e5..c71e257 100755
--- a/examples/flexjs/MobileTrader/src/views/AssetsView.mxml
+++ b/examples/flexjs/MobileTrader/src/views/AssetsView.mxml
@@ -43,7 +43,7 @@ limitations under the License.
 
 	<js:Label text="Summary" height="10%" />
 	
-	<js:DataGrid height="40%" width="100%">
+	<js:DataGrid height="150" width="100%">
 		<js:style>
 			<js:SimpleCSSStyles top="0" left="0" right="0" />
 		</js:style>
@@ -66,7 +66,7 @@ limitations under the License.
 		<js:beads>
 			<js:ConstantBinding
 				sourceID="model"
-				sourcePropertyName="assetsData"
+				sourcePropertyName="assetsDataAsArray"
 				destinationPropertyName="dataProvider" />
 			<js:VerticalCategoryAxisBead categoryField="label" />
 			<js:HorizontalLinearAxisBead valueField="netChange" />

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/views/WatchListView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/views/WatchListView.mxml b/examples/flexjs/MobileTrader/src/views/WatchListView.mxml
index 8591aec..ec70e59 100755
--- a/examples/flexjs/MobileTrader/src/views/WatchListView.mxml
+++ b/examples/flexjs/MobileTrader/src/views/WatchListView.mxml
@@ -60,6 +60,7 @@ limitations under the License.
 			private function addSymbol():void
 			{
 				dispatchEvent(new org.apache.flex.events.Event("addSymbol"));
+				dataGrid.model.dispatchEvent(new org.apache.flex.events.Event("dataProviderChanged"));
 			}
 			
 			public var selectedStockIndex:Number;


[34/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - fix lib path for asdoc

Posted by pe...@apache.org.
fix lib path for asdoc


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

Branch: refs/heads/core_js_to_as
Commit: 8a68b9516fabce5d01717f72375c8262221e2123
Parents: a8fbda5
Author: Alex Harui <ah...@apache.org>
Authored: Mon Nov 2 17:35:34 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Nov 2 17:35:34 2015 -0800

----------------------------------------------------------------------
 frameworks/asdoc-config.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8a68b951/frameworks/asdoc-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/asdoc-config.xml b/frameworks/asdoc-config.xml
index c004984..802807f 100644
--- a/frameworks/asdoc-config.xml
+++ b/frameworks/asdoc-config.xml
@@ -78,7 +78,7 @@
 
       <!-- List of SWC files or directories that contain SWC files. -->
       <library-path>
-         <path-element>as/libs</path-element>
+         <path-element>libs</path-element>
          <path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}</path-element>
       </library-path>
 


[13/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Set itemRenderers to full width of the "column" and leave height alone; grid lines will have to be achieved through other means, such as beads.

Posted by pe...@apache.org.
Set itemRenderers to full width of the "column" and leave height alone; grid lines will have to be achieved through other means, such as beads.


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

Branch: refs/heads/core_js_to_as
Commit: 29970783852014e5a17f1f609c008009108bede5
Parents: 848f245
Author: Peter Ent <pe...@apache.org>
Authored: Thu Oct 8 15:25:12 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Thu Oct 8 15:25:12 2015 -0400

----------------------------------------------------------------------
 .../src/org/apache/flex/core/ItemRendererClassFactory.as  |  1 -
 .../src/org/apache/flex/core/ItemRendererClassFactory.js  |  1 -
 frameworks/projects/HTML/as/defaults.css                  |  4 +---
 .../HTML/as/src/org/apache/flex/html/beads/ListView.as    |  1 -
 .../asjs/src/org/apache/flex/html/beads/DataGridView.as   | 10 +++++-----
 .../html/beads/DataItemRendererFactoryForArrayList.as     |  7 +++++--
 6 files changed, 11 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/29970783/frameworks/projects/Core/as/src/org/apache/flex/core/ItemRendererClassFactory.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/ItemRendererClassFactory.as b/frameworks/projects/Core/as/src/org/apache/flex/core/ItemRendererClassFactory.as
index b2a7ef3..b3875e7 100644
--- a/frameworks/projects/Core/as/src/org/apache/flex/core/ItemRendererClassFactory.as
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/ItemRendererClassFactory.as
@@ -175,7 +175,6 @@ package org.apache.flex.core
         {
             var renderer:IItemRenderer = itemRendererFactory.newInstance();
 			renderer.itemRendererParent = parent;
-            parent.addElement(renderer);
             return renderer;
         }
         

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/29970783/frameworks/projects/Core/js/src/org/apache/flex/core/ItemRendererClassFactory.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/org/apache/flex/core/ItemRendererClassFactory.js b/frameworks/projects/Core/js/src/org/apache/flex/core/ItemRendererClassFactory.js
index a5f8c5f..9d3ca0d 100644
--- a/frameworks/projects/Core/js/src/org/apache/flex/core/ItemRendererClassFactory.js
+++ b/frameworks/projects/Core/js/src/org/apache/flex/core/ItemRendererClassFactory.js
@@ -92,6 +92,5 @@ org.apache.flex.core.ItemRendererClassFactory.
 org.apache.flex.core.ItemRendererClassFactory.
     prototype.createFromClass = function(parent) {
   var renderer = this.itemRendererClassFactory.newInstance();
-  parent.addElement(renderer);
   return renderer;
 };

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/29970783/frameworks/projects/HTML/as/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/defaults.css b/frameworks/projects/HTML/as/defaults.css
index 1a61438..db0145c 100644
--- a/frameworks/projects/HTML/as/defaults.css
+++ b/frameworks/projects/HTML/as/defaults.css
@@ -104,8 +104,6 @@ DataGrid
     IDataGridPresentationModel: ClassReference("org.apache.flex.html.beads.models.DataGridPresentationModel");
     IBeadView: ClassReference("org.apache.flex.html.beads.DataGridView");
     IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataGridModel");
-    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-    IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
 
     background-color: #FFFFFF;
 	border-style: solid;
@@ -129,7 +127,7 @@ DataGrid
 }
 
 .DataGridListArea {
-	background-color: #AAAAAA;
+	background-color: #FFFFFF;
 	border-style: solid;
 	border-color: #333333;
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/29970783/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListView.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListView.as
index a9192f4..a38afec 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListView.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListView.as
@@ -205,7 +205,6 @@ package org.apache.flex.html.beads
 		override protected function resizeHandler(event:Event):void
 		{
 			super.resizeHandler(event);
-			dataGroup.updateAllItemRenderers();
 		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/29970783/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
index 43c410f..7f220e9 100644
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
+++ b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
@@ -188,10 +188,10 @@ package org.apache.flex.html.beads
 					
 					var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
 					var colWidth:Number = dataGridColumn.columnWidth;
-					if (!isNaN(colWidth)) list.width = colWidth - 1;
-					else list.width = listWidth - 1;
+					if (!isNaN(colWidth)) list.width = colWidth;
+					else list.width = listWidth;
 					
-					xpos += list.width + 1;
+					xpos += list.width;
 				}
 			}
 		}
@@ -293,8 +293,8 @@ package org.apache.flex.html.beads
 				list.addBead(presentationModel);
 				
 				var colWidth:Number = dataGridColumn.columnWidth;
-				if (!isNaN(colWidth)) list.width = colWidth - 1;
-				else list.width = listWidth - 1;
+				if (!isNaN(colWidth)) list.width = colWidth;
+				else list.width = listWidth;
 				
 				_listArea.addElement(list);	
 				_lists.push(list);

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/29970783/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
index f2c4ae7..9895394 100644
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
+++ b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
@@ -156,10 +156,13 @@ package org.apache.flex.html.beads
 				ir.index = i;
 				ir.labelField = labelField;
 				if (presentationModel) {
+					UIBase(ir).height = presentationModel.rowHeight;
+					
+					// ensure that the IR spans the width of its column
 					var style:SimpleCSSStyles = new SimpleCSSStyles();
-					style.marginBottom = presentationModel.separatorThickness;
+					style.right = 0;
+					style.left = 0;
 					UIBase(ir).style = style;
-					UIBase(ir).height = presentationModel.rowHeight;
 				}
 				dataGroup.addElement(ir);
 				ir.data = dp.getItemAt(i);


[11/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Updates to DataGrid, incorporating ArrayList as its default type of data provider. Adding DataProviderChangeNotifier to facilitate picking up changes in the data model and reflecting them in th

Posted by pe...@apache.org.
Updates to DataGrid, incorporating ArrayList as its default type of data provider. Adding DataProviderChangeNotifier to facilitate picking up changes in the data model and reflecting them in the DataGrid.


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

Branch: refs/heads/core_js_to_as
Commit: c472807d21102a398ccb7aed12dcd9d9e0287d57
Parents: cc526bd
Author: Peter Ent <pe...@apache.org>
Authored: Wed Oct 7 15:56:58 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Wed Oct 7 15:56:58 2015 -0400

----------------------------------------------------------------------
 frameworks/projects/HTML/as/defaults.css        |  19 +-
 .../projects/HTML/asjs/src/HTMLASJSClasses.as   |   3 +
 .../asjs/src/org/apache/flex/html/DataGrid.as   |  20 ++
 .../org/apache/flex/html/beads/DataGridView.as  |  38 ++-
 .../DataItemRendererFactoryForArrayList.as      | 171 +++++++++++++
 .../html/beads/DataProviderChangeNotifier.as    | 154 ++++++++++++
 .../beads/models/ArrayListSelectionModel.as     | 242 +++++++++++++++++++
 .../flex/html/beads/models/DataGridModel.as     |   7 +-
 frameworks/projects/HTML/basic-manifest.xml     |   1 +
 .../projects/HTML/compile-asjs-config.xml       |   1 +
 frameworks/projects/HTML/compile-config.xml     |   1 +
 .../ListSingleSelectionMouseController.js       |   4 +-
 12 files changed, 631 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c472807d/frameworks/projects/HTML/as/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/defaults.css b/frameworks/projects/HTML/as/defaults.css
index f3c15b9..1a61438 100644
--- a/frameworks/projects/HTML/as/defaults.css
+++ b/frameworks/projects/HTML/as/defaults.css
@@ -113,8 +113,25 @@ DataGrid
 	border-width: 1px;
 }
 
+.DataGridColumn {
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataGridModel");
+	IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");			
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
+	IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
+	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayList");
+	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+	IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
+	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
+	border-style: none;
+	background-color: #FFFFFF;
+}
+
 .DataGridListArea {
-	background-color: #999999;
+	background-color: #AAAAAA;
+	border-style: solid;
+	border-color: #333333;
 }
 
 DateChooser {

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c472807d/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as b/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
index 73547db..99a837b 100644
--- a/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
+++ b/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
@@ -29,9 +29,12 @@ internal class HTMLASJSClasses
 {
 	import org.apache.flex.html.beads.DataGridColumnView; DataGridColumnView;
 	import org.apache.flex.html.beads.DataGridView; DataGridView;
+	import org.apache.flex.html.beads.DataProviderChangeNotifier; DataProviderChangeNotifier;
+	import org.apache.flex.html.beads.DataItemRendererFactoryForArrayList; DataItemRendererFactoryForArrayList;
 	import org.apache.flex.html.beads.DateChooserView; DateChooserView;
 	import org.apache.flex.html.beads.DateFieldView; DateFieldView;
     import org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout; FlexibleFirstChildHorizontalLayout;
+	import org.apache.flex.html.beads.models.ArrayListSelectionModel; ArrayListSelectionModel;
 	import org.apache.flex.html.beads.models.DataGridModel; DataGridModel;
 	import org.apache.flex.html.beads.models.DateChooserModel; DateChooserModel;
 	import org.apache.flex.html.beads.models.DataGridPresentationModel; DataGridPresentationModel;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c472807d/frameworks/projects/HTML/asjs/src/org/apache/flex/html/DataGrid.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/DataGrid.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/DataGrid.as
index 4aa38d2..8cba078 100644
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/DataGrid.as
+++ b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/DataGrid.as
@@ -140,5 +140,25 @@ package org.apache.flex.html
 		{
 			presentationModel.rowHeight = value;
 		}
+		
+		/**
+		 * @private
+		 * The DataGrid needs to know whenever its size is being changed so the columns can be
+		 * be aligned properly, so the noEvent value must always be false.
+		 */
+		override public function setWidth(value:Number, noEvent:Boolean=false):void
+		{
+			super.setWidth(value,false);
+		}
+		
+		/**
+		 * @private
+		 * The DataGrid needs to know whenever its size is being changed so the columns can be
+		 * be aligned properly, so the noEvent value must always be false.
+		 */
+		override public function setHeight(value:Number, noEvent:Boolean=false):void
+		{
+			super.setHeight(value,false);
+		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c472807d/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
index 150294c..43c410f 100644
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
+++ b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
@@ -18,6 +18,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {	
+	import org.apache.flex.core.IBead;
 	import org.apache.flex.core.IBeadModel;
 	import org.apache.flex.core.IBeadView;
 	import org.apache.flex.core.IDataGridModel;
@@ -25,8 +26,8 @@ package org.apache.flex.html.beads
 	import org.apache.flex.core.ISelectionModel;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.SimpleCSSStyles;
 	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.ButtonBar;
@@ -90,6 +91,8 @@ package org.apache.flex.html.beads
 			_strand = value;
 			
 			var host:UIBase = value as UIBase;
+			host.addEventListener("widthChanged", handleSizeChanges);
+			host.addEventListener("heightChanged", handleSizeChanges);
 			
 			_header = new ButtonBar();
 			_header.id = "dataGridHeader";
@@ -102,13 +105,6 @@ package org.apache.flex.html.beads
 			_listArea.className = "DataGridListArea";
 			_listArea.addBead(scrollPort);
 			
-			// place a border around the list area
-			var style:SimpleCSSStyles = new SimpleCSSStyles();
-			style.borderWidth = 1;
-			style.borderColor = 0x333333;
-			style.borderStyle = "solid";
-			_listArea.style = style;
-			
 			finishSetup(null);
 		}
 		
@@ -180,13 +176,21 @@ package org.apache.flex.html.beads
 			_listArea.width = host.width;
 			_listArea.height = host.height - _header.height;
 			
-			if (_lists != null) {
+			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
+			
+			if (_lists != null && _lists.length > 0) {
 				var xpos:Number = 0;
+				var listWidth:Number = host.width / _lists.length;
 				for (var i:int=0; i < _lists.length; i++) {
 					var list:List = _lists[i] as List;
 					list.x = xpos;
 					list.y = 0;
 					
+					var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
+					var colWidth:Number = dataGridColumn.columnWidth;
+					if (!isNaN(colWidth)) list.width = colWidth - 1;
+					else list.width = listWidth - 1;
+					
 					xpos += list.width + 1;
 				}
 			}
@@ -274,19 +278,13 @@ package org.apache.flex.html.beads
 			
 			_lists = new Array();
 			
-			for (var i:int=0; i < sharedModel.columns.length; i++) {
-				
-				var listModel:ISelectionModel = new ArraySelectionModel();
-				listModel.dataProvider = sharedModel.dataProvider;
-				
+			for (var i:int=0; i < sharedModel.columns.length; i++) {				
 				var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
 				
 				var list:List = new List();
 				list.id = "dataGridColumn"+String(i);
 				list.className = "DataGridColumn";
-				list.addBead(listModel); 
-				list.addBead(new Viewport()); // do not want lists to scroll independently
-				list.addBead(new VerticalLayout());
+				list.addBead(sharedModel); 
 				list.itemRenderer = dataGridColumn.itemRenderer;
 				list.labelField = dataGridColumn.dataField;
 				list.addEventListener('change',handleColumnListChange);
@@ -294,12 +292,6 @@ package org.apache.flex.html.beads
 				list.addEventListener('rollout',handleColumnListRollOut);
 				list.addBead(presentationModel);
 				
-				// do not want lists to have their own sizes
-				var style:SimpleCSSStyles = new SimpleCSSStyles();
-				style.borderWidth = 0;
-				style.backgroundColor = 0xFFFFFF;
-				list.style = style;
-				
 				var colWidth:Number = dataGridColumn.columnWidth;
 				if (!isNaN(colWidth)) list.width = colWidth - 1;
 				else list.width = listWidth - 1;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c472807d/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
new file mode 100644
index 0000000..f2c4ae7
--- /dev/null
+++ b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.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.beads
+{
+	import org.apache.flex.collections.ArrayList;
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IDataProviderItemRendererMapper;
+	import org.apache.flex.core.IItemRendererClassFactory;
+	import org.apache.flex.core.IItemRendererParent;
+	import org.apache.flex.core.IListPresentationModel;
+	import org.apache.flex.core.ISelectableItemRenderer;
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IUIBase;
+	import org.apache.flex.core.SimpleCSSStyles;
+	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.List;
+	
+    /**
+     *  The DataItemRendererFactoryForArrayList class uses an ArrayList
+	 *  and creates an item renderer for every
+     *  item in the collection.  Other implementations of
+     *  IDataProviderItemRendererMapper map different data 
+     *  structures or manage a virtual set of renderers.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+	public class DataItemRendererFactoryForArrayList implements IBead, IDataProviderItemRendererMapper
+	{
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+		public function DataItemRendererFactoryForArrayList()
+		{
+		}
+		
+		private var selectionModel:ISelectionModel;
+		
+		private var labelField:String;
+		
+		private var _strand:IStrand;
+		
+        /**
+         *  @copy org.apache.flex.core.IBead#strand
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			IEventDispatcher(_strand).addEventListener("beadsAdded", finishSetup);
+			IEventDispatcher(_strand).addEventListener("initComplete", finishSetup);
+		}
+		
+		private function finishSetup(event:Event):void
+		{
+			selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+			var listView:IListView = _strand.getBeadByType(IListView) as IListView;
+			dataGroup = listView.dataGroup;
+			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+			
+			labelField = (listView.host as List).labelField;
+			
+			if (!itemRendererFactory)
+			{
+				_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
+				if (_itemRendererFactory == null) {
+					_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
+					_strand.addBead(_itemRendererFactory);
+				}
+			}
+			
+			dataProviderChangeHandler(null);
+		}
+		
+		private var _itemRendererFactory:IItemRendererClassFactory;
+		
+        /**
+         *  The org.apache.flex.core.IItemRendererClassFactory used 
+         *  to generate instances of item renderers.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+		public function get itemRendererFactory():IItemRendererClassFactory
+		{
+			return _itemRendererFactory;
+		}
+		
+        /**
+         *  @private
+         */
+		public function set itemRendererFactory(value:IItemRendererClassFactory):void
+		{
+			_itemRendererFactory = value;
+		}
+		
+        /**
+         *  The org.apache.flex.core.IItemRendererParent that will
+         *  parent the item renderers.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+		protected var dataGroup:IItemRendererParent;
+		
+		private function dataProviderChangeHandler(event:Event):void
+		{
+			var dp:ArrayList = selectionModel.dataProvider as ArrayList;
+			if (!dp)
+				return;
+			
+			dataGroup.removeAllElements();
+			
+			var listView:IListView = _strand.getBeadByType(IListView) as IListView;
+			var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
+			
+			var n:int = dp.length; 
+			for (var i:int = 0; i < n; i++)
+			{				
+				var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
+				ir.index = i;
+				ir.labelField = labelField;
+				if (presentationModel) {
+					var style:SimpleCSSStyles = new SimpleCSSStyles();
+					style.marginBottom = presentationModel.separatorThickness;
+					UIBase(ir).style = style;
+					UIBase(ir).height = presentationModel.rowHeight;
+				}
+				dataGroup.addElement(ir);
+				ir.data = dp.getItemAt(i);
+			}
+			
+			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c472807d/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataProviderChangeNotifier.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataProviderChangeNotifier.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataProviderChangeNotifier.as
new file mode 100644
index 0000000..8905fb9
--- /dev/null
+++ b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataProviderChangeNotifier.as
@@ -0,0 +1,154 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads
+{
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IDocument;
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.collections.ArrayList;
+	
+	/**
+	 *  The DataProviderChangeNotifier notifies listeners when a selection model's
+	 *  ArrayList dataProvider has changed.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public class DataProviderChangeNotifier implements IBead, IDocument
+	{
+		/**
+		 *  constructor.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function DataProviderChangeNotifier()
+		{
+		}
+		
+		protected var _dataProvider:ArrayList;
+		
+		private var _strand:IStrand;
+		
+		/**
+		 *  @copy org.apache.flex.core.IBead#strand
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			if (_dataProvider == null) {
+				var object:Object = document[sourceID];
+				_dataProvider = object[propertyName] as ArrayList;
+			}
+			
+			_dataProvider.addEventListener("itemAdded", handleItemAdded);
+			_dataProvider.addEventListener("itemRemoved", handleItemRemoved);
+			_dataProvider.addEventListener("itemUpdated", handleItemUpdated);
+
+		}
+		
+		protected var document:Object;
+		
+		/**
+		 * @private
+		 */
+		public function setDocument(document:Object, id:String = null):void
+		{
+			this.document = document;
+		}
+		
+		private var _sourceID:String;
+		
+		/**
+		 *  The ID of the object holding the ArrayList, usually a model.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get sourceID():String
+		{
+			return _sourceID;
+		}
+		public function set sourceID(value:String):void
+		{
+			_sourceID = value;
+		}
+		
+		private var _propertyName:String;
+		
+		/**
+		 *  The property in the sourceID that is the ArrayList.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get propertyName():String
+		{
+			return _propertyName;
+		}
+		
+		public function set propertyName(value:String):void
+		{
+			_propertyName = value;
+		}
+		
+		/**
+		 * @private
+		 */
+		private function handleItemAdded(event:Event):void
+		{
+			var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+			selectionModel.dispatchEvent(new Event("dataProviderChanged"));
+		}
+		
+		/**
+		 * @private
+		 */
+		private function handleItemRemoved(event:Event):void
+		{
+			var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+			selectionModel.dispatchEvent(new Event("dataProviderChanged"));
+		}
+		
+		/**
+		 * @private
+		 */
+		private function handleItemUpdated(event:Event):void
+		{
+			var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+			selectionModel.dispatchEvent(new Event("dataProviderChanged"));
+		}
+	}
+}
\ No newline at end of file

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

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c472807d/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/models/DataGridModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/models/DataGridModel.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/models/DataGridModel.as
index f50b36a..531edac 100644
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/models/DataGridModel.as
+++ b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/models/DataGridModel.as
@@ -22,16 +22,15 @@ package org.apache.flex.html.beads.models
 	import org.apache.flex.events.Event;
 	
 	/**
-	 *  The DataGridModel class bead extends org.apache.flex.html.beads.modelsArraySelectionModel 
-	 *  and adds the array of org.apache.flex.html.supportClasses.DataGridColumns used to define 
-	 *  each of the column in the DataGrid.
+	 *  The DataGridModel class bead extends org.apache.flex.html.beads.models.ArrayListSelectionModel 
+	 *  to facilitate using an ArrayList as the dataProvider for the DataGrid.
 	 *  
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class DataGridModel extends ArraySelectionModel implements IDataGridModel
+	public class DataGridModel extends ArrayListSelectionModel implements IDataGridModel
 	{
 		/**
 		 *  constructor.

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c472807d/frameworks/projects/HTML/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/basic-manifest.xml b/frameworks/projects/HTML/basic-manifest.xml
index 71a4049..921c67b 100644
--- a/frameworks/projects/HTML/basic-manifest.xml
+++ b/frameworks/projects/HTML/basic-manifest.xml
@@ -80,6 +80,7 @@
     <component id="ScrollingViewport" class="org.apache.flex.html.supportClasses.ScrollingViewport" />
 
     <component id="DataGrid" class="org.apache.flex.html.DataGrid"/>
+    <component id="DataProviderChangeNotifier" class="org.apache.flex.html.beads.DataProviderChangeNotifier"/>
     <component id="DataGridColumn" class="org.apache.flex.html.supportClasses.DataGridColumn"/>
 
     <component id="DateChooser" class="org.apache.flex.html.DateChooser"/>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c472807d/frameworks/projects/HTML/compile-asjs-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/compile-asjs-config.xml b/frameworks/projects/HTML/compile-asjs-config.xml
index c0379f3..eec0d6d 100644
--- a/frameworks/projects/HTML/compile-asjs-config.xml
+++ b/frameworks/projects/HTML/compile-asjs-config.xml
@@ -49,6 +49,7 @@
             <path-element>../../libs/Binding.swc</path-element>
             <path-element>../../libs/Core.swc</path-element>
             <path-element>../../libs/Graphics.swc</path-element>
+            <path-element>../../libs/Collections.swc</path-element>
             <path-element>../../libs/HTML.swc</path-element>
         </library-path>
         

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c472807d/frameworks/projects/HTML/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/compile-config.xml b/frameworks/projects/HTML/compile-config.xml
index 8d7bfd5..cceec8a 100644
--- a/frameworks/projects/HTML/compile-config.xml
+++ b/frameworks/projects/HTML/compile-config.xml
@@ -26,6 +26,7 @@
             <path-element>../../libs/Binding.swc</path-element>
             <path-element>../../libs/Core.swc</path-element>
             <path-element>../../libs/Graphics.swc</path-element>
+            <path-element>../../libs/Collections.swc</path-element>
         </external-library-path>
         
 		<mxml>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c472807d/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.js b/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.js
index aca36cc..282e8fd 100644
--- a/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.js
+++ b/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.js
@@ -16,8 +16,8 @@ goog.provide('org.apache.flex.html.beads.controllers.ListSingleSelectionMouseCon
 
 goog.require('org.apache.flex.core.IBeadController');
 goog.require('org.apache.flex.core.ISelectableItemRenderer');
+goog.require('org.apache.flex.core.ISelectionModel');
 goog.require('org.apache.flex.html.beads.ListView');
-goog.require('org.apache.flex.html.beads.models.ArraySelectionModel');
 goog.require('org.apache.flex.utils.Language');
 
 
@@ -49,7 +49,7 @@ Object.defineProperties(org.apache.flex.html.beads.controllers.ListSingleSelecti
             this.strand_ = value;
 
             this.model = value.getBeadByType(
-                org.apache.flex.html.beads.models.ArraySelectionModel);
+                org.apache.flex.core.ISelectionModel);
             this.listView = value.getBeadByType(
                 org.apache.flex.html.beads.ListView);
 


[16/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Added DataGridLinesBead to the DataGrid components.

Posted by pe...@apache.org.
Added DataGridLinesBead to the DataGrid components.


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

Branch: refs/heads/core_js_to_as
Commit: e42934b6d71436cce030ab98d4818bd8028c7101
Parents: 1cd233c
Author: Peter Ent <pe...@apache.org>
Authored: Tue Oct 13 13:51:39 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Tue Oct 13 13:51:39 2015 -0400

----------------------------------------------------------------------
 .../projects/HTML/asjs/src/HTMLASJSClasses.as   |   1 +
 .../apache/flex/html/beads/DataGridLinesBead.as | 199 +++++++++++++++++++
 frameworks/projects/HTML/basic-manifest.xml     |   1 +
 3 files changed, 201 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e42934b6/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as b/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
index 99a837b..8478924 100644
--- a/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
+++ b/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
@@ -28,6 +28,7 @@ package
 internal class HTMLASJSClasses
 {
 	import org.apache.flex.html.beads.DataGridColumnView; DataGridColumnView;
+	import org.apache.flex.html.beads.DataGridLinesBead; DataGridLinesBead;
 	import org.apache.flex.html.beads.DataGridView; DataGridView;
 	import org.apache.flex.html.beads.DataProviderChangeNotifier; DataProviderChangeNotifier;
 	import org.apache.flex.html.beads.DataItemRendererFactoryForArrayList; DataItemRendererFactoryForArrayList;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e42934b6/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridLinesBead.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridLinesBead.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridLinesBead.as
new file mode 100644
index 0000000..b4e5b1d
--- /dev/null
+++ b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridLinesBead.as
@@ -0,0 +1,199 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.beads
+{
+	import org.apache.flex.collections.ArrayList;
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IDataGridModel;
+	import org.apache.flex.core.ILayoutHost;
+	import org.apache.flex.core.IParentIUIBase;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.graphics.GraphicsContainer;
+	import org.apache.flex.core.graphics.IStroke;
+	import org.apache.flex.core.graphics.SolidColor;
+	import org.apache.flex.core.graphics.SolidColorStroke;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.beads.models.DataGridPresentationModel;
+	import org.apache.flex.html.supportClasses.DataGridColumn;
+	
+	/**
+	 * The DataGridLinesBead is an add on bead for the DataGrid. This bead
+	 * adds horizontal and vertical grid lines to a DataGrid. The size and
+	 * color of the lines is specified by the stroke property (defaults to
+	 * a thin dark line). 
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public class DataGridLinesBead implements IBead
+	{
+		/**
+		 * Constructor. 
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
+		 */
+		public function DataGridLinesBead()
+		{
+			// Set default separator line stroke.
+			var lineStroke:SolidColorStroke = new SolidColorStroke();
+			lineStroke.color = 0x333333;
+			lineStroke.alpha = 1.0;
+			lineStroke.weight = 1;
+			stroke = lineStroke;
+		}
+		
+		private var _strand:IStrand;
+		
+		/**
+		 * @copy org.apache.flex.core.UIBase#strand
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
+		 */
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			_overlay = new GraphicsContainer();
+			
+			IEventDispatcher(_strand).addEventListener("beadsAdded", handleBeadsAdded);
+		}
+		
+		private var _stroke:IStroke;
+		
+		/**
+		 * Describes the line style used to separate the rows and columns.
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
+		 */
+		public function get stroke():IStroke
+		{
+			return _stroke;
+		}
+		public function set stroke(value:IStroke):void
+		{
+			_stroke = value;
+		}
+		
+		private var _overlay:GraphicsContainer;
+		private var _area:UIBase;
+		
+		/**
+		 * Invoked when all of the beads have been added to the DataGrid. This
+		 * function seeks the Container that parents the lists that are the DataGrid's
+		 * columns. An overlay GraphicContainer is added to this Container so that the
+		 * grid lines will scroll with the rows.
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
+		 */
+		private function handleBeadsAdded(event:Event):void
+		{
+			var host:UIBase = _strand as UIBase;
+			var n:int = host.numElements;
+			for (var i:int=0; i < n; i++) {
+				var child:UIBase = host.getElementAt(i) as UIBase;
+				if (child.id == "dataGridListArea") {
+					_area = child;
+					_area.addElement(_overlay);
+					break;
+				}
+			}
+			
+			// Now set up listeners to handle changes in the size of the DataGrid.
+			IEventDispatcher(_strand).addEventListener("sizeChanged", drawLines);
+			IEventDispatcher(_strand).addEventListener("widthChanged", drawLines);
+			IEventDispatcher(_strand).addEventListener("heightChanged", drawLines);
+			
+			// Also set up a listener on the model to know when the dataProvider has
+			// changed which might affect the number of rows/columns and thus the
+			// grid lines.
+			var model:IBeadModel = _strand.getBeadByType(IBeadModel) as IBeadModel;
+			IEventDispatcher(model).addEventListener("dataProviderChanged", drawLines);
+		}
+		
+		/**
+		 * This event handler is invoked whenever something happens to the DataGrid. This
+		 * function draws the lines either using a default stroke or the one specified by
+		 * the stroke property.
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
+		 */
+		private function drawLines(event:Event):void
+		{
+			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
+			var presentationModel:DataGridPresentationModel = _strand.getBeadByType(DataGridPresentationModel) as DataGridPresentationModel;
+			var layoutParent:ILayoutHost = _area.getBeadByType(ILayoutHost) as ILayoutHost;
+			var contentView:IParentIUIBase = layoutParent.contentView as IParentIUIBase;
+			
+			var columns:Array = sharedModel.columns;			
+			var arrayList:ArrayList = sharedModel.dataProvider as ArrayList;
+			var rowHeight:Number = presentationModel.rowHeight;
+			
+			var totalHeight:Number = arrayList.length * rowHeight;
+			var columnWidth:Number = _area.width / columns.length;
+			
+			// translate the stroke to a fill since rectangles are used for the grid
+			// lines and not lines.
+			var lineFill:SolidColor = new SolidColor();
+			var weight:Number = 1;
+			lineFill.color = (stroke as SolidColorStroke).color;
+			lineFill.alpha = (stroke as SolidColorStroke).alpha;
+			weight = (stroke as SolidColorStroke).weight;
+			_overlay.fill = lineFill;
+			
+			columnWidth = (columns[0] as DataGridColumn).columnWidth;
+			var xpos:Number = isNaN(columnWidth) ? _area.width / columns.length : columnWidth;
+			
+			_overlay.removeAllElements();
+			
+			// draw the verticals
+			for (var i:int=1; i < columns.length; i++) {
+				_overlay.drawRect(xpos, 0, weight, totalHeight);
+				columnWidth = (columns[i] as DataGridColumn).columnWidth;
+				xpos += isNaN(columnWidth) ? _area.width / columns.length : columnWidth;
+			}
+			
+			var n:int = arrayList.length;
+			
+			// draw the horizontals
+			for (i=1; i < n+1; i++) {
+				_overlay.drawRect(0, i*rowHeight, _area.width, weight);
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e42934b6/frameworks/projects/HTML/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/basic-manifest.xml b/frameworks/projects/HTML/basic-manifest.xml
index 921c67b..77ddd5e 100644
--- a/frameworks/projects/HTML/basic-manifest.xml
+++ b/frameworks/projects/HTML/basic-manifest.xml
@@ -82,6 +82,7 @@
     <component id="DataGrid" class="org.apache.flex.html.DataGrid"/>
     <component id="DataProviderChangeNotifier" class="org.apache.flex.html.beads.DataProviderChangeNotifier"/>
     <component id="DataGridColumn" class="org.apache.flex.html.supportClasses.DataGridColumn"/>
+    <component id="DataGridLinesBead" class="org.apache.flex.html.beads.DataGridLinesBead"/>
 
     <component id="DateChooser" class="org.apache.flex.html.DateChooser"/>
     <component id="DateField" class="org.apache.flex.html.DateField"/>


[29/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Check in missing .project files

Posted by pe...@apache.org.
Check in missing .project files


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

Branch: refs/heads/core_js_to_as
Commit: d46845bec99f2cdf5b01d9d5f3f80ae515cac69e
Parents: 3030c5c
Author: OmPrakash Muppirala <bi...@gmail.com>
Authored: Mon Oct 26 11:43:07 2015 -0700
Committer: OmPrakash Muppirala <bi...@gmail.com>
Committed: Mon Oct 26 11:43:07 2015 -0700

----------------------------------------------------------------------
 frameworks/projects/Binding/.project     | 18 ++++++++++++++++++
 frameworks/projects/Charts/.project      | 18 ++++++++++++++++++
 frameworks/projects/Collections/.project | 18 ++++++++++++++++++
 frameworks/projects/Core/.project        | 18 ++++++++++++++++++
 frameworks/projects/CreateJS/.project    | 18 ++++++++++++++++++
 frameworks/projects/DragDrop/.project    | 18 ++++++++++++++++++
 frameworks/projects/Effects/.project     | 18 ++++++++++++++++++
 frameworks/projects/Formatters/.project  | 18 ++++++++++++++++++
 frameworks/projects/GoogleMaps/.project  | 18 ++++++++++++++++++
 frameworks/projects/Graphics/.project    | 18 ++++++++++++++++++
 frameworks/projects/HTML/.project        | 18 ++++++++++++++++++
 frameworks/projects/JQuery/.project      | 18 ++++++++++++++++++
 frameworks/projects/Mobile/.project      | 18 ++++++++++++++++++
 frameworks/projects/Network/.project     | 18 ++++++++++++++++++
 14 files changed, 252 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/Binding/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Binding/.project b/frameworks/projects/Binding/.project
new file mode 100644
index 0000000..1525bae
--- /dev/null
+++ b/frameworks/projects/Binding/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Binding</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/Charts/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/.project b/frameworks/projects/Charts/.project
new file mode 100644
index 0000000..7166875
--- /dev/null
+++ b/frameworks/projects/Charts/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Charts</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/Collections/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Collections/.project b/frameworks/projects/Collections/.project
new file mode 100644
index 0000000..3dafe34
--- /dev/null
+++ b/frameworks/projects/Collections/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Collections</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/Core/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/.project b/frameworks/projects/Core/.project
new file mode 100644
index 0000000..dbb3967
--- /dev/null
+++ b/frameworks/projects/Core/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/CreateJS/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/CreateJS/.project b/frameworks/projects/CreateJS/.project
new file mode 100644
index 0000000..231f48b
--- /dev/null
+++ b/frameworks/projects/CreateJS/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>CreateJS</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/DragDrop/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/DragDrop/.project b/frameworks/projects/DragDrop/.project
new file mode 100644
index 0000000..d41230b
--- /dev/null
+++ b/frameworks/projects/DragDrop/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>DragDrop</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/Effects/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/.project b/frameworks/projects/Effects/.project
new file mode 100644
index 0000000..8032c7f
--- /dev/null
+++ b/frameworks/projects/Effects/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Effects</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/Formatters/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Formatters/.project b/frameworks/projects/Formatters/.project
new file mode 100644
index 0000000..f4c5d3f
--- /dev/null
+++ b/frameworks/projects/Formatters/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Formatters</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/GoogleMaps/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/.project b/frameworks/projects/GoogleMaps/.project
new file mode 100644
index 0000000..74e200c
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>GoogleMaps</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/Graphics/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Graphics/.project b/frameworks/projects/Graphics/.project
new file mode 100644
index 0000000..41824a4
--- /dev/null
+++ b/frameworks/projects/Graphics/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Graphics</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/HTML/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/.project b/frameworks/projects/HTML/.project
new file mode 100644
index 0000000..60b61f8
--- /dev/null
+++ b/frameworks/projects/HTML/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>HTML</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/JQuery/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/JQuery/.project b/frameworks/projects/JQuery/.project
new file mode 100644
index 0000000..fa926be
--- /dev/null
+++ b/frameworks/projects/JQuery/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JQuery</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/Mobile/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/.project b/frameworks/projects/Mobile/.project
new file mode 100644
index 0000000..bfc1489
--- /dev/null
+++ b/frameworks/projects/Mobile/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Mobile</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d46845be/frameworks/projects/Network/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Network/.project b/frameworks/projects/Network/.project
new file mode 100644
index 0000000..d036685
--- /dev/null
+++ b/frameworks/projects/Network/.project
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Network</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexbuilder.project.flexlibnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>


[06/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - try switching back to apacheflexbuilds

Posted by pe...@apache.org.
try switching back to apacheflexbuilds


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

Branch: refs/heads/core_js_to_as
Commit: bf6d772a94f72af3a004acfc45bbb957a4c6260d
Parents: 5a74b70
Author: Alex Harui <ah...@apache.org>
Authored: Fri Oct 2 12:54:19 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Oct 2 12:54:19 2015 -0700

----------------------------------------------------------------------
 nightly.properties | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bf6d772a/nightly.properties
----------------------------------------------------------------------
diff --git a/nightly.properties b/nightly.properties
index 35459f8..39f79ed 100644
--- a/nightly.properties
+++ b/nightly.properties
@@ -20,14 +20,14 @@
 # flags
 nightly = true
 # path to falconjx nightly
-falcon.server.url = http://people.apache.org
-falcon.md5.server.url = http://people.apache.org
-falcon.folder = ~aharui/nightly/falcon
-falcon.version = 0.5.0
-#falcon.server.url = http://apacheflexbuild.cloudapp.net:8080
-#falcon.md5.server.url = http://apacheflexbuild.cloudapp.net:8080
-#falcon.folder = job/flex-falcon/lastSuccessfulBuild/artifact/out
+#falcon.server.url = http://people.apache.org
+#falcon.md5.server.url = http://people.apache.org
+#falcon.folder = ~aharui/nightly/falcon
 #falcon.version = 0.5.0
+falcon.server.url = http://apacheflexbuild.cloudapp.net:8080
+falcon.md5.server.url = http://apacheflexbuild.cloudapp.net:8080
+falcon.folder = job/flex-falcon/lastSuccessfulBuild/artifact/out
+falcon.version = 0.5.0
 #need this until Installer 3.2 comes out
 jburg.server=http://downloads.sourceforge.net
 jburg.folder=project/jburg


[32/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - headers

Posted by pe...@apache.org.
headers


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

Branch: refs/heads/core_js_to_as
Commit: c4c031596ed62f64063a4221e0dbd0b8db6aaf4b
Parents: 4fbf2ee
Author: Alex Harui <ah...@apache.org>
Authored: Sun Nov 1 22:59:49 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Sun Nov 1 22:59:49 2015 -0800

----------------------------------------------------------------------
 frameworks/projects/Binding/.project     | 18 ++++++++++++++++++
 frameworks/projects/Charts/.project      | 18 ++++++++++++++++++
 frameworks/projects/Collections/.project | 18 ++++++++++++++++++
 frameworks/projects/Core/.project        | 18 ++++++++++++++++++
 frameworks/projects/CreateJS/.project    | 18 ++++++++++++++++++
 frameworks/projects/DragDrop/.project    | 18 ++++++++++++++++++
 frameworks/projects/Effects/.project     | 18 ++++++++++++++++++
 frameworks/projects/Formatters/.project  | 18 ++++++++++++++++++
 frameworks/projects/GoogleMaps/.project  | 18 ++++++++++++++++++
 frameworks/projects/Graphics/.project    | 18 ++++++++++++++++++
 frameworks/projects/HTML/.project        | 18 ++++++++++++++++++
 frameworks/projects/JQuery/.project      | 18 ++++++++++++++++++
 frameworks/projects/Mobile/.project      | 18 ++++++++++++++++++
 frameworks/projects/Network/.project     | 18 ++++++++++++++++++
 14 files changed, 252 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/Binding/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Binding/.project b/frameworks/projects/Binding/.project
index 1525bae..27c35bc 100644
--- a/frameworks/projects/Binding/.project
+++ b/frameworks/projects/Binding/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>Binding</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/Charts/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/.project b/frameworks/projects/Charts/.project
index 7166875..6c26e1a 100644
--- a/frameworks/projects/Charts/.project
+++ b/frameworks/projects/Charts/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>Charts</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/Collections/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Collections/.project b/frameworks/projects/Collections/.project
index 3dafe34..eebe7eb 100644
--- a/frameworks/projects/Collections/.project
+++ b/frameworks/projects/Collections/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>Collections</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/Core/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/.project b/frameworks/projects/Core/.project
index dbb3967..086f583 100644
--- a/frameworks/projects/Core/.project
+++ b/frameworks/projects/Core/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>Core</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/CreateJS/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/CreateJS/.project b/frameworks/projects/CreateJS/.project
index 231f48b..ee9629a 100644
--- a/frameworks/projects/CreateJS/.project
+++ b/frameworks/projects/CreateJS/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>CreateJS</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/DragDrop/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/DragDrop/.project b/frameworks/projects/DragDrop/.project
index d41230b..c4712e0 100644
--- a/frameworks/projects/DragDrop/.project
+++ b/frameworks/projects/DragDrop/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>DragDrop</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/Effects/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/.project b/frameworks/projects/Effects/.project
index 8032c7f..d98e8c9 100644
--- a/frameworks/projects/Effects/.project
+++ b/frameworks/projects/Effects/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>Effects</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/Formatters/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Formatters/.project b/frameworks/projects/Formatters/.project
index f4c5d3f..1556774 100644
--- a/frameworks/projects/Formatters/.project
+++ b/frameworks/projects/Formatters/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>Formatters</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/GoogleMaps/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/.project b/frameworks/projects/GoogleMaps/.project
index 74e200c..6ecc2ad 100644
--- a/frameworks/projects/GoogleMaps/.project
+++ b/frameworks/projects/GoogleMaps/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>GoogleMaps</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/Graphics/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Graphics/.project b/frameworks/projects/Graphics/.project
index 41824a4..61dd05a 100644
--- a/frameworks/projects/Graphics/.project
+++ b/frameworks/projects/Graphics/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>Graphics</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/HTML/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/.project b/frameworks/projects/HTML/.project
index 60b61f8..e36f729 100644
--- a/frameworks/projects/HTML/.project
+++ b/frameworks/projects/HTML/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>HTML</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/JQuery/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/JQuery/.project b/frameworks/projects/JQuery/.project
index fa926be..d50e0cd 100644
--- a/frameworks/projects/JQuery/.project
+++ b/frameworks/projects/JQuery/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>JQuery</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/Mobile/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/.project b/frameworks/projects/Mobile/.project
index bfc1489..22ec46d 100644
--- a/frameworks/projects/Mobile/.project
+++ b/frameworks/projects/Mobile/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>Mobile</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4c03159/frameworks/projects/Network/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/Network/.project b/frameworks/projects/Network/.project
index d036685..b9a0ef9 100644
--- a/frameworks/projects/Network/.project
+++ b/frameworks/projects/Network/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>Network</name>
 	<comment></comment>


[25/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - add md5 checks to dependency downloads

Posted by pe...@apache.org.
add md5 checks to dependency downloads


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

Branch: refs/heads/core_js_to_as
Commit: c15290227c9802889657c3313eef69b2e9b71646
Parents: 8dcd7ca
Author: Alex Harui <ah...@apache.org>
Authored: Tue Oct 20 09:36:04 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Oct 20 09:36:13 2015 -0700

----------------------------------------------------------------------
 ApproveFlexJS.xml | 31 +++++++++++++++++++++++++++----
 1 file changed, 27 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c1529022/ApproveFlexJS.xml
----------------------------------------------------------------------
diff --git a/ApproveFlexJS.xml b/ApproveFlexJS.xml
index e2f7032..255bc34 100644
--- a/ApproveFlexJS.xml
+++ b/ApproveFlexJS.xml
@@ -100,10 +100,6 @@
         unless="PLAYERGLOBAL_HOME"/>
     
     <available file="${env.FLASHPLAYER_DEBUGGER}"
-        type="dir"
-        property="FLASHPLAYER_DEBUGGER" value="${env.FLASHPLAYER_DEBUGGER}" />
-    
-    <available file="${env.FLASHPLAYER_DEBUGGER}"
         type="file"
         property="FLASHPLAYER_DEBUGGER" value="${env.FLASHPLAYER_DEBUGGER}" />
     
@@ -416,6 +412,15 @@
         <property name="binary.jx.kit" value="${kit.jx.prefix}-bin"/>
         <get src="http://apacheflexbuild.cloudapp.net:8080/job/flex-falcon/lastSuccessfulBuild/artifact/out/${binary.jx.kit}.zip"
              dest="${basedir}/${binary.jx.kit}.zip" verbose="true" skipexisting="true"/>
+        <get src="http://apacheflexbuild.cloudapp.net:8080/job/flex-falcon/lastSuccessfulBuild/artifact/out/${binary.jx.kit}.zip.md5"
+             dest="${basedir}/${binary.jx.kit}.zip.md5" verbose="true" skipexisting="true"/>
+        <checksum file="${basedir}/${binary.jx.kit}.zip" algorithm="md5" verifyproperty="falcon.md5.ok" />
+        <condition property="FalconMD5Invalid">
+            <not>
+                <equals arg1="${falcon.md5.ok}" arg2="true" />
+            </not>
+        </condition>
+        <fail message="MD5 checksum did not match" if="FalconMD5Invalid" />
         <unzip src="${basedir}/${binary.jx.kit}.zip" dest="${basedir}/falconjx" />
         <ant dir="${basedir}/falconjx/compiler" antfile="downloads.xml" />
         <ant dir="${basedir}/falconjx/compiler.jx" antfile="downloads.xml" />
@@ -439,6 +444,15 @@
         <property name="binary.jx.kit" value="${kit.jx.prefix}-bin"/>
         <get src="https://dist.apache.org/repos/dist/dev/flex/falcon/0.5.0/rc1/binaries/{binary.jx.kit}.zip"
         dest="${basedir}/${binary.jx.kit}.zip" verbose="true" skipexisting="true"/>
+        <get src="https://dist.apache.org/repos/dist/dev/flex/falcon/0.5.0/rc1/binaries/{binary.jx.kit}.zip.md5"
+        dest="${basedir}/${binary.jx.kit}.zip.md5" verbose="true" skipexisting="true"/>
+        <checksum file="${basedir}/${binary.jx.kit}.zip" algorithm="md5" verifyproperty="falcon.md5.ok" />
+        <condition property="FalconMD5Invalid">
+            <not>
+                <equals arg1="${falcon.md5.ok}" arg2="true" />
+            </not>
+        </condition>
+        <fail message="MD5 checksum did not match" if="FalconMD5Invalid" />
         <unzip src="${basedir}/${binary.jx.kit}.zip" dest="${basedir}/falconjx" />
         <ant dir="${basedir}/falconjx/compiler" antfile="downloads.xml" />
         <ant dir="${basedir}/falconjx/compiler.jx" antfile="downloads.xml" />
@@ -461,6 +475,15 @@
         <property name="binary.flexunit.kit" value="apache-flex-flexunit-4.2.0-4.12.0-bin"/>
         <get src="https://archive.apache.org/dist/flex/flexunit/4.2.0/binaries/${binary.flexunit.kit}.zip"
         dest="${basedir}/${binary.flexunit.kit}.zip" verbose="true" skipexisting="true"/>
+        <get src="https://archive.apache.org/dist/flex/flexunit/4.2.0/binaries/${binary.flexunit.kit}.zip.md5"
+        dest="${basedir}/${binary.flexunit.kit}.zip.md5" verbose="true" skipexisting="true"/>
+        <checksum file="${basedir}/${binary.flexunit.kit}.zip" algorithm="md5" verifyproperty="flexunit.md5.ok" />
+        <condition property="FlexUnitMD5Invalid">
+            <not>
+                <equals arg1="${flexunit.md5.ok}" arg2="true" />
+            </not>
+        </condition>
+        <fail message="MD5 checksum did not match" if="FlexUnitMD5Invalid" />
         <unzip src="${basedir}/${binary.flexunit.kit}.zip" dest="${basedir}/flexunit" />
         <property name="FLEXUNIT_HOME" value="${basedir}/flexunit" />
     </target>


[18/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - download and prep binary kits of Falcon and FlexUnit if no environment variable

Posted by pe...@apache.org.
download and prep binary kits of Falcon and FlexUnit if no environment variable


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

Branch: refs/heads/core_js_to_as
Commit: 8b968ec9709a1a72327fa1d264f8f70dbbb553c3
Parents: 27ef9d1
Author: Alex Harui <ah...@apache.org>
Authored: Tue Oct 13 12:32:01 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Oct 13 12:33:18 2015 -0700

----------------------------------------------------------------------
 ApproveFlexJS.xml | 102 ++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 80 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8b968ec9/ApproveFlexJS.xml
----------------------------------------------------------------------
diff --git a/ApproveFlexJS.xml b/ApproveFlexJS.xml
index 6e18199..2e1c29d 100644
--- a/ApproveFlexJS.xml
+++ b/ApproveFlexJS.xml
@@ -85,14 +85,7 @@
     <fail message="The ANT_HOME environment variable is not set."
         unless="env.ANT_HOME"/>
 		
-	<available file="${env.FLEX_HOME}" 
-		type="dir" 
-		property="FLEX_SDK_HOME" value="${env.FLEX_HOME}" />
-
-    <fail message="The FLEX_HOME property is not set in environment or command-line."
-        unless="FLEX_SDK_HOME"/>
-				
-	<available file="${env.AIR_HOME}" 
+	<available file="${env.AIR_HOME}"
 		type="dir" 
 		property="AIR_HOME" value="${env.AIR_HOME}" />
 
@@ -121,23 +114,14 @@
         type="dir"
         property="FALCON_HOME" value="${env.FALCON_HOME}" />
     
-    <fail message="The FALCON_HOME property is not set in environment or command-line."
-        unless="FALCON_HOME"/>
-    
     <available file="${env.FALCONJX_HOME}"
         type="dir"
         property="FALCONJX_HOME" value="${env.FALCONJX_HOME}" />
     
-    <fail message="The FALCONJX_HOME property is not set in environment or command-line."
-        unless="FALCONJX_HOME"/>
-    
     <available file="${env.FLEXUNIT_HOME}"
         type="dir"
         property="FLEXUNIT_HOME" value="${env.FLEXUNIT_HOME}" />
     
-    <fail message="The FLEXUNIT_HOME property is not set in environment or command-line."
-        unless="FLEXUNIT_HOME"/>
-    
     <available file="${env.ANT_HOME}/lib/${apache.rat.jar}"
         type="file"
         property="apache.rat.found"/>
@@ -148,6 +132,13 @@
     <fail message="The release version is not set.  Specify -Drelease.version=&lt;release version (e.g. 3.1, 3.2, etc)&gt;"
     unless="release.version"/>
 
+    <condition property="package.url.path"
+        value="http://apacheflexbuild.cloudapp.net:8080/job/flex-asjs/lastSuccessfulBuild/artifact/out">
+        <not>
+            <isset property="rc" />
+        </not>
+    </condition>
+
 	<property name="package.url.path" value="https://dist.apache.org/repos/dist/dev/flex/flexjs/${release.version}/rc${rc}" />
 	<property name="package.url.name" value="apache-flex-flexjs-${release.version}-src" />
 	
@@ -287,6 +278,8 @@
                 <!--          JSHint properties file           -->
                 <exclude name="frameworks/js/jshint.properties"/>
                 <exclude name="frameworks/js/.jshintrc"/>
+                <!--          fragments           -->
+                <exclude name="LICENSE.bin"/>
             </fileset>
         </rat:report>
 		<antcall target="display-text" >
@@ -377,11 +370,14 @@
         addproperty="license.ok"/>
     </target>
 
-    <target name="build" depends="copy.downloads">
-		<input
-			message="The final step is to run the build and any tests the build script runs.  This can take several minutes.  Press y to start the build."
-            validargs="y"
+    <target name="ask.build">
+        <input
+        message="The final step is to run the build and any tests the build script runs.  This can take several minutes.  Press y to start the build."
+        validargs="y"
         defaultvalue="y" />
+    </target>
+
+    <target name="build" depends="ask.build,get.dependencies,copy.downloads">
         <ant dir="${basedir}/${package.url.name}" target="main" />
     </target>
 
@@ -391,7 +387,69 @@
 			<fileset dir="${download.cache.dir}" />
 		</copy>
     </target>
-    	
+    
+    <target name="get.dependencies" depends="set.falcon.flags,get.falcon.if.needed,get.flexunit.if.needed" />
+    <target name="set.falcon.flags" >
+        <condition property="falcon.nightly">
+            <and>
+                <not>
+                    <isset property="FALCON_HOME" />
+                </not>
+                <not>
+                    <isset property="rc" />
+                </not>
+            </and>
+        </condition>
+        <condition property="falcon.rc">
+            <and>
+                <not>
+                    <isset property="FALCON_HOME" />
+                </not>
+                <isset property="rc" />
+            </and>
+        </condition>
+    </target>
+    <target name="get.falcon.if.needed" depends="get.falcon.nightly,get.falcon.rc" unless="FALCON_HOME" />
+    <target name="get.falcon.nightly" if="falcon.nightly">
+        <property name="kit.jx.prefix" value="apache-flex-falconjx-0.5.0"/>
+        <property name="binary.jx.kit" value="${kit.jx.prefix}-bin"/>
+        <get src="http://apacheflexbuild.cloudapp.net:8080/job/flex-falcon/lastSuccessfulBuild/artifact/out/${binary.jx.kit}.zip"
+             dest="${basedir}/${binary.jx.kit}.zip" verbose="true" skipexisting="true"/>
+        <unzip src="${basedir}/${binary.jx.kit}.zip" dest="${basedir}/falconjx" />
+        <ant dir="${basedir}/falconjx/compiler" antfile="downloads.xml" />
+        <!-- Copy compiler external dependencies -->
+        <copy todir="${basedir}/falconjx/compiler/generated/dist/sdk/lib/external" overwrite="true" includeEmptyDirs="false">
+            <fileset dir="${basedir}/falconjx/compiler/lib">
+                <include name="**"/>
+            </fileset>
+        </copy>
+        <property name="FALCON_HOME" value="${basedir}/falconjx/compiler/generated/dist/sdk" />
+        <property name="FALCONJX_HOME" value="${basedir}/falconjx/compiler.jx" />
+    </target>
+    <target name="get.falcon.rc" if="falcon.rc">
+        <property name="kit.jx.prefix" value="apache-flex-falconjx-0.5.0"/>
+        <property name="binary.jx.kit" value="${kit.jx.prefix}-bin"/>
+        <get src="https://dist.apache.org/repos/dist/dev/flex/falcon/0.5.0/rc1/binaries/{binary.jx.kit}.zip"
+        dest="${basedir}/${binary.jx.kit}.zip" verbose="true" skipexisting="true"/>
+        <unzip src="${basedir}/${binary.jx.kit}.zip" dest="${basedir}/falconjx" />
+        <ant dir="${basedir}/falconjx/compiler" antfile="downloads.xml" />
+        <!-- Copy compiler external dependencies -->
+        <copy todir="${basedir}/falconjx/compiler/generated/dist/sdk/lib/external" overwrite="true" includeEmptyDirs="false">
+            <fileset dir="${basedir}/falconjx/compiler/lib">
+                <include name="**"/>
+            </fileset>
+        </copy>
+        <property name="FALCON_HOME" value="${basedir}/falconjx/compiler/generated/dist/sdk" />
+        <property name="FALCONJX_HOME" value="${basedir}/falconjx/compiler.jx" />
+    </target>
+    <target name="get.flexunit.if.needed" unless="FLEXUNIT_HOME" >
+        <property name="binary.flexunit.kit" value="apache-flex-flexunit-4.2.0-4.12.0-bin"/>
+        <get src="https://archive.apache.org/dist/flex/flexunit/4.2.0/binaries/${binary.flexunit.kit}.zip"
+        dest="${basedir}/${binary.flexunit.kit}.zip" verbose="true" skipexisting="true"/>
+        <unzip src="${basedir}/${binary.flexunit.kit}.zip" dest="${basedir}/flexunit" />
+        <property name="FLEXUNIT_HOME" value="${basedir}/flexunit" />
+    </target>
+    
 	<target name="approve" >
 		<condition property="vote" value="+1">
 			<and>


[41/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Merge branch 'develop' into core_js_to_as

Posted by pe...@apache.org.
Merge branch 'develop' into core_js_to_as


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

Branch: refs/heads/core_js_to_as
Commit: d384b50dd1f55ef92f9d56bef40286aba88d3982
Parents: 44a1bb9 70f0da1
Author: Peter Ent <pe...@apache.org>
Authored: Fri Nov 20 15:18:39 2015 -0500
Committer: Peter Ent <pe...@apache.org>
Committed: Fri Nov 20 15:18:39 2015 -0500

----------------------------------------------------------------------
 ApproveFlexJS.xml                               | 193 +++++++--
 asdoc/build.xml                                 |   1 +
 build.properties                                |   2 +-
 build.xml                                       |   6 +-
 cordova-build.xml                               |   1 +
 env-template.properties                         |  71 ++--
 .../CordovaCameraExample-app.xml                |   2 +-
 .../flexjs/CordovaCameraExample/src/README.txt  |  11 +-
 .../DataGridExample/src/MyInitialView.mxml      |  19 +
 .../DataGridExample/src/models/ProductsModel.as |  10 +-
 examples/flexjs/DesktopMap/DesktopMap-app.xml   |   2 +-
 .../FlexWebsiteStatsViewer/src/StatsView.mxml   |  12 +-
 examples/flexjs/MapSearch/MapSearch-app.xml     |   2 +-
 .../flexjs/MobileTrader/src/MobileTrader.mxml   |   2 +-
 .../flexjs/MobileTrader/src/MyInitialView.mxml  |  29 +-
 .../src/controller/AlertsViewController.as      |   6 +-
 .../src/controller/WatchListController.as       |   5 +-
 .../MobileTrader/src/models/AssetsModel.as      |  14 +-
 .../MobileTrader/src/models/ProductsModel.as    |  35 +-
 .../MobileTrader/src/views/AlertsView.mxml      |   7 +-
 .../MobileTrader/src/views/AssetsView.mxml      |   4 +-
 .../MobileTrader/src/views/WatchListView.mxml   |   1 +
 examples/flexjs/pom.xml                         |   4 +-
 examples/native/ButtonExample/build.xml         |   5 +
 examples/native/USStatesMap/build.xml           |   5 +
 frameworks/asdoc-config.xml                     |   2 +-
 frameworks/build.xml                            |   2 +-
 frameworks/projects/Binding/.project            |  36 ++
 .../flex/binding/ApplicationDataBinding.as      |   6 +-
 .../src/org/apache/flex/binding/ChainBinding.as |   4 +-
 .../apache/flex/binding/ContainerDataBinding.as |   4 +-
 frameworks/projects/Charts/.project             |  36 ++
 .../org/apache/flex/charts/beads/ChartView.as   |   1 -
 .../charts/supportClasses/BoxItemRenderer.as    |  22 +-
 frameworks/projects/Collections/.project        |  36 ++
 .../Collections/as/src/CollectionsClasses.as    |   4 +-
 .../org/apache/flex/collections/ArrayList.as    | 396 +++++++++++++++++++
 .../asjs/src/CollectionsASJSClasses.as          |  33 ++
 .../projects/Collections/basic-manifest.xml     |   1 +
 frameworks/projects/Collections/build.xml       |  19 +-
 .../Collections/compile-asjs-config.xml         |   6 +-
 .../projects/Collections/compile-config.xml     |   6 +-
 .../org/apache/flex/collections/ICollection.js  |  50 +++
 frameworks/projects/Core/.project               |  36 ++
 frameworks/projects/Core/as/src/CoreClasses.as  |   9 +-
 .../as/src/org/apache/flex/core/Application.as  | 130 +++---
 .../as/src/org/apache/flex/core/CSSTextField.as |  39 +-
 .../src/org/apache/flex/core/IDataGridLayout.as |  55 ---
 .../src/org/apache/flex/core/IDataGridModel.as  |   2 +-
 .../apache/flex/core/IListPresentationModel.as  |  11 +
 .../as/src/org/apache/flex/core/IViewport.as    |  30 +-
 .../flex/core/ItemRendererClassFactory.as       |   1 -
 frameworks/projects/Core/as/tests/build.xml     |  26 +-
 frameworks/projects/Core/asjs/defaults.css      |   1 -
 .../projects/Core/asjs/src/CoreASJSClasses.as   |   3 +-
 .../apache/flex/core/IListPresentationModel.js  |   5 +
 .../src/org/apache/flex/core/IRollOverModel.js  |  58 +++
 .../flex/core/ItemRendererClassFactory.js       |   1 -
 .../Core/js/src/org/apache/flex/core/UIBase.js  |   2 +
 .../org/apache/flex/utils/CSSContainerUtils.js  |  34 +-
 frameworks/projects/CreateJS/.project           |  36 ++
 frameworks/projects/DragDrop/.project           |  36 ++
 frameworks/projects/Effects/.project            |  36 ++
 frameworks/projects/Flat/as/defaults.css        |   1 -
 frameworks/projects/Flat/flat-manifest.xml      |   2 -
 frameworks/projects/Formatters/.project         |  36 ++
 frameworks/projects/GoogleMaps/.project         |  36 ++
 frameworks/projects/Graphics/.project           |  36 ++
 frameworks/projects/HTML/.project               |  36 ++
 frameworks/projects/HTML/as/defaults.css        |  30 +-
 frameworks/projects/HTML/as/src/HTMLClasses.as  |   2 +-
 .../as/src/org/apache/flex/html/Container.as    |  16 +-
 .../as/src/org/apache/flex/html/DataGrid.as     |  20 +
 .../HTML/as/src/org/apache/flex/html/Panel.as   |   7 +-
 .../org/apache/flex/html/beads/ButtonBarView.as |   4 +-
 .../org/apache/flex/html/beads/ContainerView.as |   1 -
 .../apache/flex/html/beads/DataGridLinesBead.as | 199 ++++++++++
 .../org/apache/flex/html/beads/DataGridView.as  | 355 ++++++++++-------
 .../DataItemRendererFactoryForArrayData.as      |  11 +-
 .../DataItemRendererFactoryForArrayList.as      | 174 ++++++++
 .../html/beads/DataProviderChangeNotifier.as    | 154 ++++++++
 .../src/org/apache/flex/html/beads/ListView.as  |   5 +-
 .../flex/html/beads/ListViewNoSelectionState.as | 270 -------------
 .../controllers/ItemRendererMouseController.as  |   1 +
 .../beads/models/ArrayListSelectionModel.as     | 242 ++++++++++++
 .../flex/html/beads/models/DataGridModel.as     |   7 +-
 .../beads/models/DataGridPresentationModel.as   |   2 +
 .../html/beads/models/ListPresentationModel.as  |  21 +
 .../html/supportClasses/DataItemRenderer.as     |  44 +--
 .../html/supportClasses/ScrollingViewport.as    | 122 +++---
 .../html/supportClasses/UIItemRendererBase.as   |   9 +-
 .../apache/flex/html/supportClasses/Viewport.as |  70 +++-
 .../projects/HTML/asjs/src/HTMLASJSClasses.as   |  55 +++
 .../apache/flex/html/beads/DataGridLinesBead.as | 199 ++++++++++
 .../DataItemRendererFactoryForArrayList.as      | 174 ++++++++
 .../html/beads/DataProviderChangeNotifier.as    | 154 ++++++++
 .../beads/models/ArrayListSelectionModel.as     | 242 ++++++++++++
 frameworks/projects/HTML/asjs/tests/build.xml   |  24 +-
 frameworks/projects/HTML/basic-manifest.xml     |   4 +-
 .../projects/HTML/compile-asjs-config.xml       |   1 +
 frameworks/projects/HTML/compile-config.xml     |   1 +
 .../DataItemRendererFactoryForArrayData.js      |   5 +-
 .../ListSingleSelectionMouseController.js       |   4 +-
 .../flex/html/beads/layouts/HorizontalLayout.js |   4 +-
 .../flex/html/beads/layouts/VerticalLayout.js   |   4 +-
 .../html/beads/models/ListPresentationModel.js  |  19 +
 frameworks/projects/JQuery/.project             |  36 ++
 frameworks/projects/Mobile/.project             |  36 ++
 frameworks/projects/Network/.project            |  36 ++
 installer.xml                                   |   4 +-
 maven.xml                                       |   2 +-
 nightly.properties                              |  12 +-
 releasecandidate.xml                            |  71 ++--
 113 files changed, 3744 insertions(+), 920 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/build.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Binding/as/src/org/apache/flex/binding/ApplicationDataBinding.as
----------------------------------------------------------------------
diff --cc frameworks/projects/Binding/as/src/org/apache/flex/binding/ApplicationDataBinding.as
index 4038645,0000000..8d794b9
mode 100644,000000..100644
--- a/frameworks/projects/Binding/as/src/org/apache/flex/binding/ApplicationDataBinding.as
+++ b/frameworks/projects/Binding/as/src/org/apache/flex/binding/ApplicationDataBinding.as
@@@ -1,334 -1,0 +1,338 @@@
 +////////////////////////////////////////////////////////////////////////////////
 +//
 +//  Licensed to the Apache Software Foundation (ASF) under one or more
 +//  contributor license agreements.  See the NOTICE file distributed with
 +//  this work for additional information regarding copyright ownership.
 +//  The ASF licenses this file to You under the Apache License, Version 2.0
 +//  (the "License"); you may not use this file except in compliance with
 +//  the License.  You may obtain a copy of the License at
 +//
 +//      http://www.apache.org/licenses/LICENSE-2.0
 +//
 +//  Unless required by applicable law or agreed to in writing, software
 +//  distributed under the License is distributed on an "AS IS" BASIS,
 +//  WITHOUT WARRANTIES OR CONDITIONS OF 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.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.DataBindingBase;
 +    import org.apache.flex.core.IBead;
 +    import org.apache.flex.core.IStrand;
 +    import org.apache.flex.events.Event;
 +    import org.apache.flex.events.IEventDispatcher;
 +    
 +    /**
 +     *  The ApplicationDataBinding class implements databinding for
-      *  Application instances.  Different classes can have
++     *  Application instances. When you want to use databinding within
++     *  the MXML file that has Application as its root tag, include
++     *  the ApplicationDataBinding tag as well.
++     *
++     *  Different classes can have
 +     *  different databinding implementation that optimize for
 +     *  the different lifecycles.  For example, an item renderer
 +     *  databinding implementation can wait to execute databindings
 +     *  until the data property is set.
 +     *  
 +     *  @langversion 3.0
 +     *  @playerversion Flash 10.2
 +     *  @playerversion AIR 2.6
 +     *  @productversion FlexJS 0.0
 +     */
 +	public class ApplicationDataBinding extends DataBindingBase implements IBead
 +	{
 +        /**
 +         *  Constructor.
 +         *  
 +         *  @langversion 3.0
 +         *  @playerversion Flash 10.2
 +         *  @playerversion AIR 2.6
 +         *  @productversion FlexJS 0.0
 +         */
 +		public function ApplicationDataBinding()
 +		{
 +			super();
 +		}
 +        
 +        private var _strand:IStrand;
 +        
 +        /**
 +         *  @copy org.apache.flex.core.IBead#strand
 +         *  
 +         *  @langversion 3.0
 +         *  @playerversion Flash 10.2
 +         *  @playerversion AIR 2.6
 +         *  @productversion FlexJS 0.0
 +         */
 +        public function set strand(value:IStrand):void
 +        {
 +            _strand = value;
 +            IEventDispatcher(_strand).addEventListener("viewChanged", 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] in _strand)
 +                    {
 +                        if (binding.source.length == 2 && binding.destination.length == 2)
 +                        {
 +                            // simple component.property binding
 +                            var destObject:Object;
 +                            var destination:IStrand;
 +                            // can be simplebinding or constantbinding
 +                            var compWatcher:Object = watchers.watcherMap[binding.source[0]];
 +                            fieldWatcher = compWatcher.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);
 +                                destObject = _strand[binding.destination[0]];                                
 +                                destination = destObject as IStrand;
 +                                if (destination)
 +                                    destination.addBead(sb);
 +                                else
 +                                {
 +                                    if (destObject)
 +                                    {
 +                                        sb.destination = destObject;
 +                                        _strand.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);
 +                                destObject = _strand[binding.destination[0]];                                
 +                                destination = destObject as IStrand;
 +                                if (destination)
 +                                    destination.addBead(cb);
 +                                else
 +                                {
 +                                    if (destObject)
 +                                    {
 +                                        cb.destination = destObject;
 +                                        _strand.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);
 +                        destObject = _strand[binding.destination[0]];                                
 +                        destination = destObject as IStrand;
 +                        if (destination)
 +                            destination.addBead(sb);
 +                        else
 +                        {
 +                            if (destObject)
 +                            {
 +                                sb.destination = destObject;
 +                                _strand.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];
 +                var isValidWatcher:Boolean = false;
 +                if (typeof(watcher.bindings) == "number")
 +                    isValidWatcher = (watcher.bindings == index);
 +                else
 +                    isValidWatcher = (watcher.bindings.indexOf(index) != -1);
 +                if (isValidWatcher)
 +                {
 +                    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.watchers, 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;
 +            // FalconJX adds an extra null to the data so make sure
 +            // we have enough data for a complete watcher otherwise
 +            // say we are done
 +            while (index < n - 2)
 +            {
 +                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];
 +                }
 +            }
 +        }
 +        
 +    }
 +}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Binding/as/src/org/apache/flex/binding/ChainBinding.as
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Binding/as/src/org/apache/flex/binding/ContainerDataBinding.as
----------------------------------------------------------------------
diff --cc frameworks/projects/Binding/as/src/org/apache/flex/binding/ContainerDataBinding.as
index d138d60,0000000..42c5178
mode 100644,000000..100644
--- a/frameworks/projects/Binding/as/src/org/apache/flex/binding/ContainerDataBinding.as
+++ b/frameworks/projects/Binding/as/src/org/apache/flex/binding/ContainerDataBinding.as
@@@ -1,382 -1,0 +1,384 @@@
 +////////////////////////////////////////////////////////////////////////////////
 +//
 +//  Licensed to the Apache Software Foundation (ASF) under one or more
 +//  contributor license agreements.  See the NOTICE file distributed with
 +//  this work for additional information regarding copyright ownership.
 +//  The ASF licenses this file to You under the Apache License, Version 2.0
 +//  (the "License"); you may not use this file except in compliance with
 +//  the License.  You may obtain a copy of the License at
 +//
 +//      http://www.apache.org/licenses/LICENSE-2.0
 +//
 +//  Unless required by applicable law or agreed to in writing, software
 +//  distributed under the License is distributed on an "AS IS" BASIS,
 +//  WITHOUT WARRANTIES OR CONDITIONS OF 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.binding.ChainBinding;
 +    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.DataBindingBase;
 +    import org.apache.flex.core.IBead;
 +    import org.apache.flex.core.IStrand;
 +    import org.apache.flex.events.Event;
 +    import org.apache.flex.events.IEventDispatcher;
 +    
 +    /**
 +     *  The ContainerDataBinding class implements databinding for
-      *  Container instances.  Different classes can have
++     *  Container instances.  Place a ContainerDataBinding tag into
++     *  the MXML file that has Container as its root tag.
++     *  Different classes can have
 +     *  different databinding implementation that optimize for
 +     *  the different lifecycles.  For example, an item renderer
 +     *  databinding implementation can wait to execute databindings
 +     *  until the data property is set.
 +     *  
 +     *  @langversion 3.0
 +     *  @playerversion Flash 10.2
 +     *  @playerversion AIR 2.6
 +     *  @productversion FlexJS 0.0
 +     */
 +	public class ContainerDataBinding extends DataBindingBase implements IBead
 +	{
 +        /**
 +         *  Constructor.
 +         *  
 +         *  @langversion 3.0
 +         *  @playerversion Flash 10.2
 +         *  @playerversion AIR 2.6
 +         *  @productversion FlexJS 0.0
 +         */
 +		public function ContainerDataBinding()
 +		{
 +			super();
 +		}
 +        
 +        private var _strand:IStrand;
 +        
 +        /**
 +         *  @copy org.apache.flex.core.IBead#strand
 +         *  
 +         *  @langversion 3.0
 +         *  @playerversion Flash 10.2
 +         *  @playerversion AIR 2.6
 +         *  @productversion FlexJS 0.0
 +         */
 +        public function set strand(value:IStrand):void
 +        {
 +            _strand = value;
 +            IEventDispatcher(_strand).addEventListener("initBindings", initCompleteHandler);
 +        }    
 +
 +        private function initCompleteHandler(event:Event):void
 +        {
 +            var fieldWatcher:Object;
 +            var sb:SimpleBinding;
 +            var cb:ConstantBinding;
 +            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] in _strand)
 +                    {
 +                        var destObject:Object;
 +                        var destination:IStrand;
 +                        var compWatcher:Object;
 +                        if (binding.source.length == 2 && binding.destination.length == 2)
 +                        {
 +                            // simple component.property binding
 +                            // can be simplebinding or constantbinding
 +                            compWatcher = watchers.watcherMap[binding.source[0]];
 +                            fieldWatcher = compWatcher.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);
 +                                destObject = _strand[binding.destination[0]];                                
 +                                destination = destObject as IStrand;
 +                                if (destination)
 +                                    destination.addBead(sb);
 +                                else
 +                                {
 +                                    if (destObject)
 +                                    {
 +                                        sb.destination = destObject;
 +                                        _strand.addBead(sb);
 +                                    }
 +                                    else
 +                                    {
 +                                        deferredBindings[binding.destination[0]] = sb;
 +                                        IEventDispatcher(_strand).addEventListener("valueChange", deferredBindingsHandler);
 +                                    }
 +                                }
 +                            }
 +                            else if (fieldWatcher.eventNames == null)
 +                            {
 +                                cb = new ConstantBinding();
 +                                cb.destinationPropertyName = binding.destination[1];
 +                                cb.sourceID = binding.source[0];
 +                                cb.sourcePropertyName = binding.source[1];
 +                                cb.setDocument(_strand);
 +                                destObject = _strand[binding.destination[0]];                                
 +                                destination = destObject as IStrand;
 +                                if (destination)
 +                                    destination.addBead(cb);
 +                                else
 +                                {
 +                                    if (destObject)
 +                                    {
 +                                        cb.destination = destObject;
 +                                        _strand.addBead(cb);
 +                                    }
 +                                    else
 +                                    {
 +                                        deferredBindings[binding.destination[0]] = cb;
 +                                        IEventDispatcher(_strand).addEventListener("valueChange", deferredBindingsHandler);
 +                                    }
 +                                }
 +                            }
 +                        }
 +                        else
 +                        {
 +                            compWatcher = watchers.watcherMap[binding.source[0]];
 +                            var chb:ChainBinding = new ChainBinding();
 +                            chb.destination = binding.destination;
 +                            chb.source = binding.source;
 +                            chb.watcherChain = compWatcher;
 +                            chb.setDocument(_strand);
 +                            _strand.addBead(chb);
 +                        }
 +                    }
 +                }
 +                else if (binding.source is String && binding.destination is Array)
 +                {
 +                    fieldWatcher = watchers.watcherMap[binding.source];
 +                    if (fieldWatcher == null)
 +                    {
 +                        cb = new ConstantBinding();
 +                        cb.destinationPropertyName = binding.destination[1];
 +                        cb.sourcePropertyName = binding.source;
 +                        cb.setDocument(_strand);
 +                        if (binding.destination[0] == "this")
 +                            destObject = _strand;
 +                        else
 +                            destObject = _strand[binding.destination[0]];                                
 +                        destination = destObject as IStrand;
 +                        if (destination)
 +                            destination.addBead(cb);
 +                        else
 +                        {
 +                            if (destObject)
 +                            {
 +                                cb.destination = destObject;
 +                                _strand.addBead(cb);
 +                            }
 +                            else
 +                            {
 +                                deferredBindings[binding.destination[0]] = cb;
 +                                IEventDispatcher(_strand).addEventListener("valueChange", deferredBindingsHandler);
 +                            }
 +                        }
 +                    }
 +                    else 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);
 +                        destObject = _strand[binding.destination[0]];                                
 +                        destination = destObject as IStrand;
 +                        if (destination)
 +                            destination.addBead(sb);
 +                        else
 +                        {
 +                            if (destObject)
 +                            {
 +                                sb.destination = destObject;
 +                                _strand.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;
 +            if (watchers.watchers.length)
 +                setupWatchers(gb, index, watchers.watchers, null);
 +            else
 +            {
 +                // should be a constant expression.
 +                // the value doesn't matter as GenericBinding
 +                // should get the value from the source
 +                gb.valueChanged(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];
 +                var isValidWatcher:Boolean = false;
 +                if (typeof(watcher.bindings) == "number")
 +                    isValidWatcher = (watcher.bindings == index);
 +                else
 +                    isValidWatcher = (watcher.bindings.indexOf(index) != -1);
 +                if (isValidWatcher)
 +                {
 +                    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.watchers, 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;
 +            // FalconJX adds an extra null to the data so make sure
 +            // we have enough data for a complete watcher otherwise
 +            // say we are done
 +            while (index < n - 2)
 +            {
 +                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];
 +                }
 +            }
 +        }
 +        
 +    }
 +}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Charts/as/src/org/apache/flex/charts/beads/ChartView.as
----------------------------------------------------------------------
diff --cc frameworks/projects/Charts/as/src/org/apache/flex/charts/beads/ChartView.as
index 6f5c446,0000000..393f3b0
mode 100644,000000..100644
--- a/frameworks/projects/Charts/as/src/org/apache/flex/charts/beads/ChartView.as
+++ b/frameworks/projects/Charts/as/src/org/apache/flex/charts/beads/ChartView.as
@@@ -1,175 -1,0 +1,174 @@@
 +////////////////////////////////////////////////////////////////////////////////
 +//
 +//  Licensed to the Apache Software Foundation (ASF) under one or more
 +//  contributor license agreements.  See the NOTICE file distributed with
 +//  this work for additional information regarding copyright ownership.
 +//  The ASF licenses this file to You under the Apache License, Version 2.0
 +//  (the "License"); you may not use this file except in compliance with
 +//  the License.  You may obtain a copy of the License at
 +//
 +//      http://www.apache.org/licenses/LICENSE-2.0
 +//
 +//  Unless required by applicable law or agreed to in writing, software
 +//  distributed under the License is distributed on an "AS IS" BASIS,
 +//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +//  See the License for the specific language governing permissions and
 +//  limitations under the License.
 +//
 +////////////////////////////////////////////////////////////////////////////////
 +package org.apache.flex.charts.beads
 +{
 +	import org.apache.flex.charts.core.IAxisGroup;
 +	import org.apache.flex.charts.core.IHorizontalAxisBead;
 +	import org.apache.flex.charts.core.IVerticalAxisBead;
 +	import org.apache.flex.core.IBeadLayout;
 +	import org.apache.flex.core.IBeadView;
 +	import org.apache.flex.core.IParent;
 +	import org.apache.flex.core.ISelectionModel;
 +	import org.apache.flex.core.IStrand;
 +	import org.apache.flex.core.IViewport;
 +	import org.apache.flex.core.IViewportModel;
 +	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.geom.Rectangle;
 +    import org.apache.flex.geom.Size;
 +	import org.apache.flex.html.beads.ListView;
 +	import org.apache.flex.html.beads.models.ViewportModel;
 +	import org.apache.flex.html.supportClasses.Viewport;
 +	import org.apache.flex.utils.CSSContainerUtils;
 +	
 +	public class ChartView extends ListView implements IBeadView
 +	{
 +		public function ChartView()
 +		{
 +			super();
 +		}
 +		
- 		private var _strand:IStrand;
 +		private var _horizontalAxisGroup:IAxisGroup;
 +		private var _verticalAxisGroup:IAxisGroup;
 +		
 +		/**
 +		 *  @copy org.apache.flex.core.IBead#strand
 +		 *  
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		override public function set strand(value:IStrand):void
 +		{
 +			_strand = value;
 +						
 +			var listModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
 +			listModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
 +			
 +			var haxis:IHorizontalAxisBead = _strand.getBeadByType(IHorizontalAxisBead) as IHorizontalAxisBead;
 +			if (haxis && _horizontalAxisGroup == null) {
 +				var m1:Class = ValuesManager.valuesImpl.getValue(_strand, "iHorizontalAxisGroup");
 +				_horizontalAxisGroup = new m1();
 +				haxis.axisGroup = _horizontalAxisGroup;
 +				IParent(_strand).addElement(_horizontalAxisGroup, false);
 +			}
 +			
 +			var vaxis:IVerticalAxisBead = _strand.getBeadByType(IVerticalAxisBead) as IVerticalAxisBead;
 +			if (vaxis && _verticalAxisGroup == null) {
 +				var m2:Class = ValuesManager.valuesImpl.getValue(_strand, "iVerticalAxisGroup");
 +				_verticalAxisGroup = new m2();
 +				vaxis.axisGroup = _verticalAxisGroup;
 +				IParent(_strand).addElement(_verticalAxisGroup, false);
 +			}
 +			
 +			super.strand = value;
 +		}
 +		
 +		override protected function completeSetup():void
 +		{
 +			if (border) {
 +				IParent(_strand).removeElement(border);
 +			}
 +					
 +			super.completeSetup();
 +		}
 +		
 +		public function get horizontalAxisGroup():IAxisGroup
 +		{
 +			return _horizontalAxisGroup;
 +		}
 +		
 +		public function get verticalAxisGroup():IAxisGroup
 +		{
 +			return _verticalAxisGroup;
 +		}
 +		
 +		/**
 +		 * @private
 +		 */
 +		override protected function dataProviderChangeHandler(event:Event):void
 +		{
 +			if (verticalAxisGroup) {
 +				verticalAxisGroup.removeAllElements();
 +			}
 +			
 +			if (horizontalAxisGroup) {
 +				horizontalAxisGroup.removeAllElements();
 +			}
 +			
 +			dataGroup.removeAllElements();
 +		}
 +				
 +		/**
 +		 * ChartView overrides performLayout so that the exact area of the ChartDataGroup can
 +		 * be calculated so the chart's layout algorithm knows precisely the dimensions of 
 +		 * chart for its item renderers.
 +		 */
 +		override protected function layoutViewBeforeContentLayout():void
 +		{			
 +			var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(_strand);
 +			
 +			var widthAdjustment:Number = 0;
 +			var heightAdjustment:Number = 0;
 +			
 +			var vaxis:IVerticalAxisBead = _strand.getBeadByType(IVerticalAxisBead) as IVerticalAxisBead;
 +			var haxis:IHorizontalAxisBead = _strand.getBeadByType(IHorizontalAxisBead) as IHorizontalAxisBead;
 +			
 +			if (vaxis) {
 +				widthAdjustment = vaxis.axisWidth;
 +			}
 +			
 +			if (haxis) {
 +				heightAdjustment = haxis.axisHeight;
 +			}
 +			
 +			var strandWidth:Number = UIBase(_strand).width;
 +			var strandHeight:Number = UIBase(_strand).height;
 +			
 +            viewport.setPosition(widthAdjustment + metrics.left, metrics.top);
 +			viewport.layoutViewportBeforeContentLayout(strandWidth - widthAdjustment - metrics.right - metrics.left,
 +                                                        strandHeight - heightAdjustment - metrics.bottom - metrics.top);
 +            
 +			if (verticalAxisGroup) {
 +				UIBase(verticalAxisGroup).x = metrics.left;
 +				UIBase(verticalAxisGroup).y = metrics.top;
 +				UIBase(verticalAxisGroup).width = widthAdjustment;
 +				UIBase(verticalAxisGroup).height = strandHeight - heightAdjustment - metrics.bottom - metrics.top;
 +			}
 +			
 +			if (horizontalAxisGroup) {
 +				UIBase(horizontalAxisGroup).x = widthAdjustment + metrics.left;
 +				UIBase(horizontalAxisGroup).y = strandHeight - heightAdjustment - metrics.bottom;
 +				UIBase(horizontalAxisGroup).width = strandWidth - widthAdjustment - metrics.left - metrics.right;
 +				UIBase(horizontalAxisGroup).height = heightAdjustment;
 +			}
 +			
 +            /* viewport should be doing this now
 +			if (dataGroup) {
 +				UIBase(dataGroup).x = viewportModel.contentX;
 +				UIBase(dataGroup).y = viewportModel.contentY;
 +				UIBase(dataGroup).width = viewportModel.contentWidth;
 +				UIBase(dataGroup).height = viewportModel.contentHeight;
 +			} */
 +		}		
 +	}
 +}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Charts/as/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
----------------------------------------------------------------------
diff --cc frameworks/projects/Charts/as/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
index 1bec3b1,0000000..f94bf84
mode 100644,000000..100644
--- a/frameworks/projects/Charts/as/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
+++ b/frameworks/projects/Charts/as/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
@@@ -1,254 -1,0 +1,268 @@@
 +////////////////////////////////////////////////////////////////////////////////
 +//
 +//  Licensed to the Apache Software Foundation (ASF) under one or more
 +//  contributor license agreements.  See the NOTICE file distributed with
 +//  this work for additional information regarding copyright ownership.
 +//  The ASF licenses this file to You under the Apache License, Version 2.0
 +//  (the "License"); you may not use this file except in compliance with
 +//  the License.  You may obtain a copy of the License at
 +//
 +//      http://www.apache.org/licenses/LICENSE-2.0
 +//
 +//  Unless required by applicable law or agreed to in writing, software
 +//  distributed under the License is distributed on an "AS IS" BASIS,
 +//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +//  See the License for the specific language governing permissions and
 +//  limitations under the License.
 +//
 +////////////////////////////////////////////////////////////////////////////////
 +package org.apache.flex.charts.supportClasses
 +{
 +	import org.apache.flex.charts.core.IChartItemRenderer;
 +	import org.apache.flex.charts.core.IChartSeries;
 +	import org.apache.flex.core.IBead;
 +	import org.apache.flex.core.graphics.IFill;
 +	import org.apache.flex.core.graphics.IStroke;
 +	import org.apache.flex.core.graphics.Rect;
 +	import org.apache.flex.core.graphics.SolidColor;
++	import org.apache.flex.core.graphics.LinearGradient;
 +	import org.apache.flex.html.supportClasses.DataItemRenderer;
 +	
 +	/**
 +	 *  The BoxItemRenderer displays a colored rectangular area suitable for use as
 +	 *  an itemRenderer for a BarChartSeries. This class implements the 
 +	 *  org.apache.flex.charts.core.IChartItemRenderer
 +	 *  interface. 
 +	 *  
 +	 *  @langversion 3.0
 +	 *  @playerversion Flash 10.2
 +	 *  @playerversion AIR 2.6
 +	 *  @productversion FlexJS 0.0
 +	 */
 +	public class BoxItemRenderer extends DataItemRenderer implements IChartItemRenderer
 +	{
 +		/**
 +		 *  constructor.
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		public function BoxItemRenderer()
 +		{
 +			super();
 +		}
 +		
 +		override public function addedToParent():void
 +		{
 +			super.addedToParent();
 +		}
 +		
 +		override public function addBead(bead:IBead):void
 +		{
 +			super.addBead(bead);
 +		}
 +		
 +		private var _series:IChartSeries;
 +		
 +		/**
 +		 *  The series to which this itemRenderer instance belongs. Or, the series
 +		 *  being presented.
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		public function get series():IChartSeries
 +		{
 +			return _series;
 +		}
 +		public function set series(value:IChartSeries):void
 +		{
 +			_series = value;
 +		}
 +		
 +		private var filledRect:Rect;
 +				
 +		private var _yField:String = "y";
 +		
 +		/**
 +		 *  The name of the field containing the value for the Y axis.
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		public function get yField():String
 +		{
 +			return _yField;
 +		}
 +		public function set yField(value:String):void
 +		{
 +			_yField = value;
 +		}
 +		
 +		private var _xField:String = "x";
 +		
 +		/**
 +		 *  The name of the field containing the value for the X axis.
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		public function get xField():String
 +		{
 +			return _xField;
 +		}
 +		public function set xField(value:String):void
 +		{
 +			_xField = value;
 +		}
 +		
 +		private var _fill:IFill;
 +		
 +		/**
 +		 *  The color used to fill the interior of the box.
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		public function get fill():IFill
 +		{
 +			return _fill;
 +		}
 +		public function set fill(value:IFill):void
 +		{
 +			_fill = value;
 +		}
 +		
 +		private var _stroke:IStroke;
 +		
 +		/**
 +		 *  The outline of the box.
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		public function get stroke():IStroke
 +		{
 +			return _stroke;
 +		}
 +		public function set stroke(value:IStroke):void
 +		{
 +			_stroke = value;
 +		}
 +		
 +		/**
 +		 *  @copy org.apache.flex.supportClasses.UIItemRendererBase#data
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		override public function set data(value:Object):void
 +		{
 +			super.data = value;	
 +			drawBar();
 +		}
 +		
 +		/**
 +		 *  @copy org.apache.flex.core.UIBase#width
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		override public function set width(value:Number):void
 +		{
 +			super.width = value;
 +			drawBar();
 +		}
 +		
 +		/**
 +		 *  @copy org.apache.flex.core.UIBase#height
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		override public function set height(value:Number):void
 +		{
 +			super.height = value;
 +			drawBar();
 +		}
 +		
 +		/**
 +		 *  @private
 +		 */
 +		protected function drawBar():void
 +		{
 +			if ((this.width > 0) && (this.height > 0))
 +			{
 +				var needsAdd:Boolean = false;
 +				
 +				if (filledRect == null) {
 +					filledRect = new Rect();
 +					needsAdd = true;
 +				}
 +				
 +				filledRect.fill = fill;
 +				filledRect.stroke = stroke;
 +				filledRect.x = 0;
 +				filledRect.y = 0;
 +				filledRect.width = this.width;
 +				filledRect.height = this.height;
 +				
 +				if (needsAdd) {
 +					addElement(filledRect);
 +				}
 +			}
 +		}
 +		
- 		private var hoverFill:SolidColor;
++		private var hoverFill:IFill;
 +		
 +		override public function updateRenderer():void
 +		{
 +			super.updateRenderer();
 +			
 +			if (down||selected||hovered) {
 +				if (hoverFill == null) {
- 					hoverFill = new SolidColor();
- 					hoverFill.color = (fill as SolidColor).color;
- 					hoverFill.alpha = 0.5;
++					if(fill is SolidColor)
++					{
++						hoverFill = new SolidColor();
++						(hoverFill as SolidColor).color = (fill as SolidColor).color;
++						(hoverFill as SolidColor).alpha = 0.5;
++					}
++					else if(fill is LinearGradient)
++					{
++						hoverFill = new LinearGradient();
++						(hoverFill as LinearGradient).entries = (fill as LinearGradient).entries;
++						for (var i:int=0; i<(hoverFill as LinearGradient).entries; i++)
++						{
++							(hoverFill as LinearGradient).entries[i].alpha = 0.5;
++						}
++					}
++					
 +				}
 +				filledRect.fill = hoverFill;
 +			}
 +			else {
 +				filledRect.fill = fill;
 +			}
 +			
 +			filledRect.drawRect(filledRect.x, filledRect.y, filledRect.width, filledRect.height);
 +		}
 +	}
 +}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Collections/as/src/CollectionsClasses.as
----------------------------------------------------------------------
diff --cc frameworks/projects/Collections/as/src/CollectionsClasses.as
index dcbf02c,f2b02c3..5112c5c
--- a/frameworks/projects/Collections/as/src/CollectionsClasses.as
+++ b/frameworks/projects/Collections/as/src/CollectionsClasses.as
@@@ -26,7 -26,8 +26,9 @@@ packag
   *  from the classes specified in manifest.xml.
   */
  internal class CollectionsClasses
--{	
++{
++    import org.apache.flex.collections.ArrayList; ArrayList;
+ 	import org.apache.flex.collections.LazyCollection; LazyCollection;
  }
  
  }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Collections/as/src/org/apache/flex/collections/ArrayList.as
----------------------------------------------------------------------
diff --cc frameworks/projects/Collections/as/src/org/apache/flex/collections/ArrayList.as
index 0000000,0000000..58d44e8
new file mode 100644
--- /dev/null
+++ b/frameworks/projects/Collections/as/src/org/apache/flex/collections/ArrayList.as
@@@ -1,0 -1,0 +1,396 @@@
++////////////////////////////////////////////////////////////////////////////////
++//
++//  Licensed to the Apache Software Foundation (ASF) under one or more
++//  contributor license agreements.  See the NOTICE file distributed with
++//  this work for additional information regarding copyright ownership.
++//  The ASF licenses this file to You under the Apache License, Version 2.0
++//  (the "License"); you may not use this file except in compliance with
++//  the License.  You may obtain a copy of the License at
++//
++//      http://www.apache.org/licenses/LICENSE-2.0
++//
++//  Unless required by applicable law or agreed to in writing, software
++//  distributed under the License is distributed on an "AS IS" BASIS,
++//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++//  See the License for the specific language governing permissions and
++//  limitations under the License.
++//
++////////////////////////////////////////////////////////////////////////////////
++package org.apache.flex.collections
++{	
++	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.events.IEventDispatcher;
++    import org.apache.flex.collections.parsers.IInputParser;
++    import org.apache.flex.collections.converters.IItemConverter;
++    
++    //--------------------------------------
++    //  Events
++    //--------------------------------------
++	
++	/**
++	 *  Dispatched when the collection's underlying source array
++	 *  is changed.
++	 *  
++	 *  @langversion 3.0
++	 *  @playerversion Flash 10.2
++	 *  @playerversion AIR 2.6
++	 *  @productversion FlexJS 0.0
++	 */
++	[Event(name="collectionChanged", type="org.apache.flex.events.Event")]
++	
++	/**
++	 *  Dispatched when the collection has added an item.
++	 *  
++	 *  @langversion 3.0
++	 *  @playerversion Flash 10.2
++	 *  @playerversion AIR 2.6
++	 *  @productversion FlexJS 0.0
++	 */
++	[Event(name="itemAdded", type="org.apache.flex.events.Event")]
++	
++	/**
++	 *  Dispatched when the collection has removed an item.
++	 *  
++	 *  @langversion 3.0
++	 *  @playerversion Flash 10.2
++	 *  @playerversion AIR 2.6
++	 *  @productversion FlexJS 0.0
++	 */
++	[Event(name="itemRemoved", type="org.apache.flex.events.Event")]
++	
++	/**
++	 *  Dispatched when the collection has updated an item.
++	 *  
++	 *  @langversion 3.0
++	 *  @playerversion Flash 10.2
++	 *  @playerversion AIR 2.6
++	 *  @productversion FlexJS 0.0
++	 */
++	[Event(name="itemUpdated", type="org.apache.flex.events.Event")]
++    
++    /**
++     *  The ArrayList class provides an event-driven wrapper for the
++	 *  standard Array. Events are dispatched when items are added, removed,
++	 *  or changed.
++     * 
++     *  @langversion 3.0
++     *  @playerversion Flash 10.2
++     *  @playerversion AIR 2.6
++     *  @productversion FlexJS 0.0
++     */
++	public class ArrayList extends EventDispatcher implements IBead, ICollection
++	{
++        /**
++         *  Constructor.
++         *  
++         *  @langversion 3.0
++         *  @playerversion Flash 10.2
++         *  @playerversion AIR 2.6
++         *  @productversion FlexJS 0.0
++         */
++		public function ArrayList(initialSource:Array=null)
++		{
++			super();
++			if (initialSource) _source = initialSource;
++			else _source = [];
++		}
++
++        private var _id:String;
++        
++        /**
++         *  @copy org.apache.flex.core.UIBase#id
++         *  
++         *  @langversion 3.0
++         *  @playerversion Flash 10.2
++         *  @playerversion AIR 2.6
++         *  @productversion FlexJS 0.0
++         */
++		public function get id():String
++		{
++			return _id;
++		}
++
++        /**
++         *  @private
++         */
++		public function set id(value:String):void
++		{
++			if (_id != value)
++			{
++				_id = value;
++				dispatchEvent(new Event("idChanged"));
++			}
++		}
++		
++        private var _strand:IStrand;
++        
++        /**
++         *  @copy org.apache.flex.core.UIBase#strand
++         *  
++         *  @langversion 3.0
++         *  @playerversion Flash 10.2
++         *  @playerversion AIR 2.6
++         *  @productversion FlexJS 0.0
++         */
++        public function set strand(value:IStrand):void
++        {
++            _strand = value;
++			_source = new Array();
++        }
++		
++		private var _source:Array;
++        
++        /**
++         *  The array of raw data needing conversion.
++         *  
++         *  @langversion 3.0
++         *  @playerversion Flash 10.2
++         *  @playerversion AIR 2.6
++         *  @productversion FlexJS 0.0
++         */
++		public function get source():Array
++		{
++			return _source;
++		}
++		
++		public function set source(value:Array):void
++		{
++			if (_source != value) {
++				if (value == null) _source = [];
++				else _source = value;
++				dispatchEvent(new Event("collectionChanged"));
++			}
++		}
++		
++		/**
++		 * Returns a copy of the source array.
++         *  
++         *  @langversion 3.0
++         *  @playerversion Flash 10.2
++         *  @playerversion AIR 2.6
++         *  @productversion FlexJS 0.0
++		 */
++		public function toArray():Array
++		{
++			return _source.concat();
++		}
++        
++        /**
++         *  Fetches an item from the collection
++         *  
++         *  @langversion 3.0
++         *  @playerversion Flash 10.2
++         *  @playerversion AIR 2.6
++         *  @productversion FlexJS 0.0
++         */
++        public function getItemAt(index:int):Object
++        {
++            return _source[index];
++        } 
++		
++		/**
++		 *  Fetches an item from the collection given an index.
++		 *  
++		 *  @langversion 3.0
++		 *  @playerversion Flash 10.2
++		 *  @playerversion AIR 2.6
++		 *  @productversion FlexJS 0.0
++		 */
++		public function getItemIndex(item:Object):int
++		{
++			for (var index:int=0; index < _source.length; index++) {
++				if (item == _source[index]) {
++					return index;
++				}
++			}
++			return -1;
++		}
++		
++		/**
++		 *  Adds an item to the end of the array.
++		 *  
++		 *  @langversion 3.0
++		 *  @playerversion Flash 10.2
++		 *  @playerversion AIR 2.6
++		 *  @productversion FlexJS 0.0
++		 */
++		public function addItem(item:Object):void
++		{
++			addItemAt(item, length);
++		}
++		
++		/**
++		 *  Inserts an item to a specific location within the array.
++		 *  
++		 *  @langversion 3.0
++		 *  @playerversion Flash 10.2
++		 *  @playerversion AIR 2.6
++		 *  @productversion FlexJS 0.0
++		 */
++		public function addItemAt(item:Object, index:int):void
++		{
++			const spliceUpperBound:int = length;
++			
++			if (index < spliceUpperBound && index > 0)
++			{
++				source.splice(index, 0, item);
++			}
++			else if (index == spliceUpperBound)
++			{
++				source.push(item);
++			}
++			else if (index == 0)
++			{
++				source.unshift(item);
++			}
++			else 
++			{
++				// error
++				return;
++			}
++			
++			dispatchEvent(new Event("itemAdded"));
++		}
++		
++		/**
++		 *  Replaces the item at the given index with a new item and
++		 *  returns the old item.
++		 *  
++		 *  @langversion 3.0
++		 *  @playerversion Flash 10.2
++		 *  @playerversion AIR 2.6
++		 *  @productversion FlexJS 0.0
++		 */
++		public function setItemAt(item:Object, index:int):Object
++		{
++			const spliceUpperBound:int = length;
++			var oldItem:Object;
++			
++			if (index >= 0 && index < spliceUpperBound) {
++				oldItem = source[index];
++				source[index] = item;
++				dispatchEvent(new Event("itemUpdated"));
++			}
++			else {
++				// error
++			}
++			
++			return oldItem;
++		}
++		
++		/**
++		 *  Removed an item from the array and returns it.
++		 *  
++		 *  @langversion 3.0
++		 *  @playerversion Flash 10.2
++		 *  @playerversion AIR 2.6
++		 *  @productversion FlexJS 0.0
++		 */
++		public function removeItem(item:Object):Boolean
++		{
++			var index:int = getItemIndex(item);
++			var result:Boolean = index >= 0;
++			if (result) {
++				removeItemAt(index);
++			}
++			return result;
++		}
++		
++		/**
++		 *  Removes an item from a specific location within the array and
++		 *  returns it.
++		 *  
++		 *  @langversion 3.0
++		 *  @playerversion Flash 10.2
++		 *  @playerversion AIR 2.6
++		 *  @productversion FlexJS 0.0
++		 */
++		public function removeItemAt(index:int):Object
++		{
++			const spliceUpperBound:int = length - 1;
++			var removed:Object;
++			
++			if (index > 0 && index < spliceUpperBound)
++			{
++				removed = source.splice(index, 1)[0];
++			}
++			else if (index == spliceUpperBound)
++			{
++				removed = source.pop();
++			}
++			else if (index == 0)
++			{
++				removed = source.shift();
++			}
++			else {
++				// error
++				return null;
++			}
++			
++			dispatchEvent(new Event("itemRemoved"));
++			return removed;
++		}
++		
++		/**
++		 *  Removes all of the items from the array.
++		 *  
++		 *  @langversion 3.0
++		 *  @playerversion Flash 10.2
++		 *  @playerversion AIR 2.6
++		 *  @productversion FlexJS 0.0
++		 */
++		public function removeAll():void
++		{
++			if (length > 0) {
++				source.splice(0, length);
++				dispatchEvent(new Event("itemRemoved"));
++			}
++		}
++		
++		/**
++		 *  Signals that an item in the array has been updated.
++		 *  
++		 *  @langversion 3.0
++		 *  @playerversion Flash 10.2
++		 *  @playerversion AIR 2.6
++		 *  @productversion FlexJS 0.0
++		 */
++		public function itemUpdated(item:Object):void
++		{
++			var index:int = getItemIndex(item);
++			if (index >= 0) {
++				dispatchEvent(new Event("itemUpdated"));
++			}
++		}
++		
++		/**
++		 *  Signals that an item in the array has been updated.
++		 *  
++		 *  @langversion 3.0
++		 *  @playerversion Flash 10.2
++		 *  @playerversion AIR 2.6
++		 *  @productversion FlexJS 0.0
++		 */
++		public function itemUpdatedAt(index:int):void
++		{
++			dispatchEvent(new Event("itemUpdated"));
++		}
++        
++        /**
++         *  The number of items.
++         *  
++         *  @langversion 3.0
++         *  @playerversion Flash 10.2
++         *  @playerversion AIR 2.6
++         *  @productversion FlexJS 0.0
++         */
++        public function get length():int
++        {
++            return _source ? _source.length : 0;   
++        }
++
++	}
++}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Collections/build.xml
----------------------------------------------------------------------
diff --cc frameworks/projects/Collections/build.xml
index 02a7112,84f94da..9afc851
--- a/frameworks/projects/Collections/build.xml
+++ b/frameworks/projects/Collections/build.xml
@@@ -28,16 -28,16 +28,11 @@@
      <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
      <property name="FALCON_HOME" value="${env.FALCON_HOME}"/>
      <property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/>
--    <property name="gjslint" value="gjslint" />
--    <property name="jshint" value="jshint" />
--    <condition property="no.lint" value="true">
--        <os family="windows"/>
--    </condition>
  
      <target name="main" depends="clean,compile,test" description="Clean build of Collections.swc">
      </target>
  
-     <target name="all" depends="clean,compile-asjs,compile-extern-swc,compile,copy-js,test-js" description="Full build of Collections.swc">
 -    <target name="all" depends="main,compile-asjs,lint-js,test-js" description="Full build of Binding.swc">
++    <target name="all" depends="clean,compile-asjs,compile-extern-swc,copy-js,compile,test" description="Full build of Collections.swc">
      </target>
  
      <target name="test" unless="is.jenkins">
@@@ -46,12 -46,12 +41,6 @@@
           -->
      </target>
      
--    <target name="test-js" unless="is.jenkins">
--        <!-- no tests yet
--         <ant dir="js/tests" />
--         -->
--    </target>
--    
      <target name="clean">
          <delete failonerror="false">
              <fileset dir="${FLEXJS_HOME}/frameworks/libs">
@@@ -73,6 -73,9 +62,8 @@@
          <echo message="Compiling libs/Collections.swc"/>
          <echo message="FLEX_HOME: ${FLEX_HOME}"/>
          <echo message="FALCON_HOME: ${FALCON_HOME}"/>
 -        
+         <!-- make JS output folder now so include-file doesn't error -->
+         <mkdir dir="${basedir}/js/out" />
  
          <!-- Load the <compc> task. We can't do this at the <project> level -->
          <!-- because targets that run before flexTasks.jar gets built would fail. -->
@@@ -100,70 -101,33 +91,70 @@@
          </compc>
      </target>
  
 -    <target name="compile-asjs" >
 -    	<echo message="Cross-compiling Collections/asjs"/>
 -    	        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
 -    	        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
 -    	            <jvmarg value="-Xmx384m" />
 -    	            <jvmarg value="-Dsun.io.useCanonCaches=false" />
 -    	            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
 -    	            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
 -    	            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
 -    	            <arg value="-js-output-type=FLEXJS" />
 -    	            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
 -    	            <arg value="-output=${basedir}/js/out" />
 -    	            <arg value="-load-config=${basedir}/compile-asjs-config.xml" />
 -    	            <arg value="+playerglobal.version=${playerglobal.version}" />
 -    	            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
 -    	            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
 -    	        </java>
 +    <target name="compile-asjs">
 +        <echo message="Cross-compiling Collections"/>
 +        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
 +        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
 +            <jvmarg value="-Xmx384m" />
 +            <jvmarg value="-Dsun.io.useCanonCaches=false" />
 +            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
 +            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
 +            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
 +            <arg value="-js-output-type=FLEXJS" />
 +            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
 +            <arg value="-output=${basedir}/js/out" />
 +            <arg value="-load-config=${basedir}/compile-asjs-config.xml" />
 +            <arg value="+playerglobal.version=${playerglobal.version}" />
 +            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
 +            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
 +            <arg value="-external-library-path+=${FALCONJX_HOME}/../externs/js/out/bin/js.swc" />
 +            <!-- this is not on external-library path otherwise goog.requires are not generated -->
 +            <arg value="-library-path+=${FALCONJX_HOME}/../externs/GCL/out/bin/GCL.swc" />
 +            <arg value="-define=COMPILE::AS3,false" />
 +            <arg value="-define=COMPILE::JS,true" />
 +        </java>
      </target>
  
 -    <target name="lint-js" depends="gjslint, jshint, copy-js" />
 -    <target name="copy-js" >
 +    <target name="compile-extern-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
 +        <echo message="Compiling externs/Collections.swc"/>
 +        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
 +        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
 +        <!-- make JS output folder now so include-file doesn't error -->
 +        <mkdir dir="${FLEXJS_HOME}/frameworks/externs"/>
 +        
 +        <!-- 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" classpathref="lib.path"/>
 +        <!--
 +         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 CoreClasses.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}/frameworks/externs/Collections.swc">
 +            <jvmarg line="${compc.jvm.args}"/>
 +            <load-config filename="compile-asjs-config.xml" />
 +            <arg value="+playerglobal.version=${playerglobal.version}" />
 +            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
 +            <arg value="-external-library-path+=${FALCONJX_HOME}/../externs/js/out/bin/js.swc" />
 +            <!-- this is not on external-library path otherwise goog.requires are not generated -->
 +            <arg value="-library-path+=${FALCONJX_HOME}/../externs/GCL/out/bin/GCL.swc" />
 +            <arg value="-define=COMPILE::AS3,false" />
 +            <arg value="-define=COMPILE::JS,true" />
 +        </compc>
 +    </target>
 +
-     <target name="copy-js" >
++    <target name="copy-js">
          <copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs">
 -            <fileset dir="${basedir}/js/src">
 -                <include name="**/**" />
 -            </fileset>
              <fileset dir="${basedir}/js/out">
--                <include name="**/**" />
++                <include name="**/**"/>
              </fileset>
          </copy>
      </target>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Collections/compile-asjs-config.xml
----------------------------------------------------------------------
diff --cc frameworks/projects/Collections/compile-asjs-config.xml
index b4766bb,48d7dc0..89305a6
--- a/frameworks/projects/Collections/compile-asjs-config.xml
+++ b/frameworks/projects/Collections/compile-asjs-config.xml
@@@ -45,7 -46,8 +46,7 @@@
              <!-- asjscompc won't 'link' these classes in, but will list their requires
               if these swcs are on the external-library-path then their requires
               will not be listed -->
-             <path-element>../../externs/Core.swc</path-element>
+             <path-element>../../libs/Core.swc</path-element>
 -            <path-element>../../libs/Collections.swc</path-element>
          </library-path>
          
          <source-path>
@@@ -55,11 -57,11 +56,8 @@@
          <warn-no-constructor>false</warn-no-constructor>
      </compiler>
      
--    <include-file>
--    </include-file>
--
      <include-sources>
 -        <path-element>asjs/src</path-element>
 +        <path-element>as/src</path-element>
      </include-sources>
      
      <include-namespaces>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Collections/compile-config.xml
----------------------------------------------------------------------
diff --cc frameworks/projects/Collections/compile-config.xml
index c69da9b,88592f7..0b68206
--- a/frameworks/projects/Collections/compile-config.xml
+++ b/frameworks/projects/Collections/compile-config.xml
@@@ -70,7 -76,7 +74,7 @@@
      
      <include-namespaces>
          <uri>library://ns.apache.org/flexjs/basic</uri>
--    </include-namespaces>  
++    </include-namespaces>
          
      <target-player>${playerglobal.version}</target-player>
  	

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Core/as/src/CoreClasses.as
----------------------------------------------------------------------
diff --cc frameworks/projects/Core/as/src/CoreClasses.as
index f46d940,66df6d0..0c1c536
--- a/frameworks/projects/Core/as/src/CoreClasses.as
+++ b/frameworks/projects/Core/as/src/CoreClasses.as
@@@ -25,17 -26,14 +25,17 @@@ package 
   *  from the classes specified in manifest.xml.
   */
  internal class CoreClasses
--{	
++{
      import org.apache.flex.core.BeadViewBase; BeadViewBase;
      import org.apache.flex.core.BrowserWindow; BrowserWindow;
 -    import org.apache.flex.core.CSSShape; CSSShape;
 -    import org.apache.flex.core.CSSSprite; CSSSprite;
 -    import org.apache.flex.core.CSSTextField; CSSTextField;
 -    import org.apache.flex.core.StyleableCSSTextField; StyleableCSSTextField;
 -    import org.apache.flex.core.ItemRendererClassFactory; ItemRendererClassFactory;  
 +	COMPILE::AS3
 +	{
 +		import org.apache.flex.core.CSSShape; CSSShape;
 +		import org.apache.flex.core.CSSSprite; CSSSprite;
 +		import org.apache.flex.core.CSSTextField; CSSTextField;
 +	    import org.apache.flex.core.StyleableCSSTextField; StyleableCSSTextField;
 +	}
-     import org.apache.flex.core.ItemRendererClassFactory; ItemRendererClassFactory;  
++    import org.apache.flex.core.ItemRendererClassFactory; ItemRendererClassFactory;
  	import org.apache.flex.core.FilledRectangle; FilledRectangle;
      import org.apache.flex.core.IAlertModel; IAlertModel;
      import org.apache.flex.core.IBead; IBead;
@@@ -110,43 -90,22 +110,42 @@@
      import org.apache.flex.geom.Point; Point;
      import org.apache.flex.geom.Rectangle; Rectangle;
      import org.apache.flex.utils.BinaryData; BinaryData;
 -    import org.apache.flex.utils.CSSBorderUtils; CSSBorderUtils;
 +	COMPILE::AS3
 +	{
 +	    import org.apache.flex.utils.CSSBorderUtils; CSSBorderUtils;
 +	}
      import org.apache.flex.utils.CSSContainerUtils; CSSContainerUtils;
 -    import org.apache.flex.utils.dbg.DOMPathUtil; DOMPathUtil;
 +	COMPILE::AS3
 +	{
 +	    import org.apache.flex.utils.dbg.DOMPathUtil; DOMPathUtil;
 +	}
  	import org.apache.flex.utils.EffectTimer; EffectTimer;
      import org.apache.flex.utils.MixinManager; MixinManager;
 -    import org.apache.flex.utils.PNGEncoder; PNGEncoder;
 -    import org.apache.flex.utils.SolidBorderUtil; SolidBorderUtil;
 -    import org.apache.flex.utils.StringTrimmer; StringTrimmer;
 +	COMPILE::AS3
 +	{
 +	    import org.apache.flex.utils.PNGEncoder; PNGEncoder;
 +    	import org.apache.flex.utils.SolidBorderUtil; SolidBorderUtil;
 +	    import org.apache.flex.utils.StringTrimmer; StringTrimmer;
 +}
  	import org.apache.flex.utils.Timer; Timer;
  	import org.apache.flex.utils.UIUtils; UIUtils;
--    
++
  	import org.apache.flex.core.ClassFactory; ClassFactory;
      import org.apache.flex.states.AddItems; AddItems;
      import org.apache.flex.states.SetEventHandler; SetEventHandler;
      import org.apache.flex.states.SetProperty; SetProperty;
      import org.apache.flex.states.State; State;
- 	
- 	import org.apache.flex.core.IDataGridLayout; IDataGridLayout;
++
 +    import org.apache.flex.core.IDataGridModel; IDataGridModel;
 +    import org.apache.flex.core.IDataGridPresentationModel; IDataGridPresentationModel;
 +    import org.apache.flex.core.IDateChooserModel; IDateChooserModel;
 +    import org.apache.flex.core.ParentDocumentBead; ParentDocumentBead;
 +    import org.apache.flex.utils.CSSUtils; CSSUtils;
 +
 +	COMPILE::JS
 +	{
 +	    import org.apache.flex.utils.Language; Language;
 +	}
  }
  
  }


[27/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Stop DataGridView from resizing if the size of the strand is 0x0.

Posted by pe...@apache.org.
Stop DataGridView from resizing if the size of the strand is 0x0.


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

Branch: refs/heads/core_js_to_as
Commit: 866d5e44f5d5fa4e125af922dd2edcd5ce25f386
Parents: 820ae80
Author: Peter Ent <pe...@apache.org>
Authored: Wed Oct 21 15:41:36 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Wed Oct 21 15:41:36 2015 -0400

----------------------------------------------------------------------
 .../src/org/apache/flex/html/beads/DataGridView.as | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/866d5e44/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
index 7f220e9..e06f569 100644
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
+++ b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
@@ -166,15 +166,26 @@ package org.apache.flex.html.beads
 		 */
 		private function handleSizeChanges(event:Event):void
 		{
+			var useWidth:Number = _listArea.width;
+			var useHeight:Number = _listArea.height;
+			
+			if (host.width > 0) {
+				useWidth = host.width;
+			}
+			
 			_header.x = 0;
 			_header.y = 0;
-			_header.width = host.width;
+			_header.width = useWidth;
 			_header.height = 25;
 			
+			if (host.height > 0) {
+				useHeight = host.height - _header.height;
+			}
+			
 			_listArea.x = 0;
 			_listArea.y = 26;
-			_listArea.width = host.width;
-			_listArea.height = host.height - _header.height;
+			_listArea.width = useWidth;
+			_listArea.height = useHeight;
 			
 			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
 			


[31/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - add sdk so font swf gets built

Posted by pe...@apache.org.
add sdk so font swf gets built


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

Branch: refs/heads/core_js_to_as
Commit: 4fbf2ee452b4ce1cc4851fba140d370117b6ba2f
Parents: 8dc9a6a
Author: Alex Harui <ah...@apache.org>
Authored: Sun Nov 1 22:59:26 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Sun Nov 1 22:59:26 2015 -0800

----------------------------------------------------------------------
 ApproveFlexJS.xml | 52 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 49 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/4fbf2ee4/ApproveFlexJS.xml
----------------------------------------------------------------------
diff --git a/ApproveFlexJS.xml b/ApproveFlexJS.xml
index 255bc34..e9044df 100644
--- a/ApproveFlexJS.xml
+++ b/ApproveFlexJS.xml
@@ -118,6 +118,10 @@
         type="dir"
         property="FLEXUNIT_HOME" value="${env.FLEXUNIT_HOME}" />
     
+    <available file="${env.FLEX_HOME}"
+        type="dir"
+        property="FLEX_SDK_HOME" value="${env.FLEX_HOME}" />
+    
     <available file="${env.ANT_HOME}/lib/${apache.rat.jar}"
         type="file"
         property="apache.rat.found"/>
@@ -368,12 +372,12 @@
 
     <target name="ask.build">
         <input
-        message="The final step is to run the build and any tests the build script runs.  This can take several minutes.  Press y to start the build."
+        message="The final step is to run the build and any tests the build script runs.  This can take several minutes.  You will be asked to accept the Adobe license for the font jars.  Press y to start the build."
         validargs="y"
         defaultvalue="y" />
     </target>
 
-    <target name="build" depends="ask.build,get.dependencies,copy.downloads">
+    <target name="build" depends="ask.build,ask-font,get.dependencies,copy.downloads">
         <ant dir="${basedir}/${package.url.name}" target="main" />
         <ant dir="${basedir}/${package.url.name}" target="examples" />
     </target>
@@ -385,7 +389,30 @@
 		</copy>
     </target>
     
-    <target name="get.dependencies" depends="set.falcon.flags,get.falcon.if.needed,get.flexunit.if.needed" />
+    <!-- Prompt before downloading.  -->
+    <target name="ask-font" unless="font.donot.ask"
+        description="Prompt the user before downloading BlaseDS">
+        
+        <property name="font.prompt.text"
+        value="Apache Flex can optionally integrate with Adobe's embedded font support.
+        ${line.separator}This feature requires a few font jars from the Adobe Flex SDK.
+        ${line.separator}The Adobe SDK license agreement for Adobe Flex 4.6 applies to these jars.
+        ${line.separator}This license is not compatible with the Apache v2 license.
+        ${adobe.flex.license}
+        ${line.separator}Do you want to install these jars from the Adobe Flex SDK?"/>
+        <input
+        message="${font.prompt.text}"
+        validargs="y,n"
+        defaultvalue="n"
+        addproperty="input.font.download"/>
+        <condition property="do.font.install">
+            <equals arg1="y" arg2="${input.font.download}"/>
+        </condition>
+        <!-- Only ask once per ant run.  -->
+        <property name="font.donot.ask" value="set"/>
+    </target>
+    
+    <target name="get.dependencies" depends="set.falcon.flags,get.falcon.if.needed,get.sdk.if.needed,get.flexunit.if.needed" />
     <target name="set.falcon.flags" >
         <condition property="falcon.nightly">
             <and>
@@ -487,6 +514,25 @@
         <unzip src="${basedir}/${binary.flexunit.kit}.zip" dest="${basedir}/flexunit" />
         <property name="FLEXUNIT_HOME" value="${basedir}/flexunit" />
     </target>
+    <target name="get.sdk.if.needed" depends="get.sdk" unless="FLEX_SDK_HOME" />
+    <target name="get.sdk">
+        <property name="kit.sdk.prefix" value="apache-flex-sdk-4.14.1"/>
+        <property name="binary.sdk.kit" value="${kit.sdk.prefix}-bin"/>
+        <get src="https://archive.apache.org/dist/flex/4.14.1/binaries/${binary.sdk.kit}.zip"
+        dest="${basedir}/${binary.sdk.kit}.zip" verbose="true" skipexisting="true"/>
+        <get src="https://archive.apache.org/dist/flex/4.14.1/binaries/${binary.sdk.kit}.zip.md5"
+        dest="${basedir}/${binary.sdk.kit}.zip.md5" verbose="true" skipexisting="true"/>
+        <checksum file="${basedir}/${binary.sdk.kit}.zip" algorithm="md5" verifyproperty="sdk.md5.ok" />
+        <condition property="SDKMD5Invalid">
+            <not>
+                <equals arg1="${sdk.md5.ok}" arg2="true" />
+            </not>
+        </condition>
+        <fail message="MD5 checksum did not match" if="SDKMD5Invalid" />
+        <unzip src="${basedir}/${binary.sdk.kit}.zip" dest="${basedir}/sdk" />
+        <ant dir="${basedir}/sdk/frameworks" antfile="downloads.xml" />
+        <property name="FLEX_SDK_HOME" value="${basedir}/sdk" />
+    </target>
     
 	<target name="approve" >
 		<condition property="vote" value="+1">


[17/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Added demonstration of DataGridLinesBead to DataGridExample.

Posted by pe...@apache.org.
Added demonstration of DataGridLinesBead to DataGridExample.


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

Branch: refs/heads/core_js_to_as
Commit: 27ef9d1c4838283a8a0b31290c80cf4bb5703d75
Parents: e42934b
Author: Peter Ent <pe...@apache.org>
Authored: Tue Oct 13 13:52:21 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Tue Oct 13 13:52:21 2015 -0400

----------------------------------------------------------------------
 .../DataGridExample/src/MyInitialView.mxml       | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/27ef9d1c/examples/flexjs/DataGridExample/src/MyInitialView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/DataGridExample/src/MyInitialView.mxml b/examples/flexjs/DataGridExample/src/MyInitialView.mxml
index dd51c7c..d6173a1 100644
--- a/examples/flexjs/DataGridExample/src/MyInitialView.mxml
+++ b/examples/flexjs/DataGridExample/src/MyInitialView.mxml
@@ -44,5 +44,24 @@ limitations under the License.
 			<js:DataGridColumn label="Sales" dataField="sales" columnWidth="100" />
 		</js:columns>
 	</js:DataGrid>
+		
+	<js:DataGrid id="dataGrid2" x="20" y="400" width="400" height="300" change="dataGridChange()" rowHeight="40">
+		<js:beads>
+		    <js:DataGridLinesBead>
+		       <js:stroke>
+		           <js:SolidColorStroke color="#FF8800" weight="2" />
+		       </js:stroke>
+		    </js:DataGridLinesBead>
+			<js:ConstantBinding
+				sourceID="applicationModel"
+				sourcePropertyName="productList"
+				destinationPropertyName="dataProvider" />
+		</js:beads>
+		<js:columns>
+			<js:DataGridColumn label="Image" dataField="image" columnWidth="100" itemRenderer="products.ProductItemRenderer" />
+			<js:DataGridColumn label="Title" dataField="title" columnWidth="200" />
+			<js:DataGridColumn label="Sales" dataField="sales" columnWidth="100" />
+		</js:columns>
+	</js:DataGrid>
 
 </js:ViewBase>


[35/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - another attempt to fix asdoc

Posted by pe...@apache.org.
another attempt to fix asdoc


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

Branch: refs/heads/core_js_to_as
Commit: f2eedac2abcae0c152519972e18ae058a0a8a42d
Parents: 8a68b95
Author: Alex Harui <ah...@apache.org>
Authored: Mon Nov 2 17:43:21 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Nov 2 17:43:21 2015 -0800

----------------------------------------------------------------------
 asdoc/build.xml | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f2eedac2/asdoc/build.xml
----------------------------------------------------------------------
diff --git a/asdoc/build.xml b/asdoc/build.xml
index dd50a0e..8f7ec1b 100644
--- a/asdoc/build.xml
+++ b/asdoc/build.xml
@@ -81,6 +81,7 @@
 			<compiler.source-path path-element="${project_home}/Charts/as/src"/>
 			<compiler.source-path path-element="${project_home}/Charts/asjs/src"/>
 			<compiler.source-path path-element="${project_home}/Collections/as/src"/>
+            <compiler.source-path path-element="${project_home}/Collections/asjs/src"/>
 			<compiler.source-path path-element="${project_home}/Core/as/src"/>
 			<compiler.source-path path-element="${project_home}/Core/asjs/src"/>
 			<compiler.source-path path-element="${project_home}/CreateJS/as/src"/>


[26/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Make MobileTrader for flexible for different screen sizes.

Posted by pe...@apache.org.
Make MobileTrader for flexible for different screen sizes.


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

Branch: refs/heads/core_js_to_as
Commit: 820ae80cd4adffb5fe0c1d0bada8ddaed1f7d881
Parents: c152902
Author: Peter Ent <pe...@apache.org>
Authored: Wed Oct 21 15:41:00 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Wed Oct 21 15:41:00 2015 -0400

----------------------------------------------------------------------
 .../flexjs/MobileTrader/src/MobileTrader.mxml   |  2 +-
 .../flexjs/MobileTrader/src/MyInitialView.mxml  | 29 ++++++++++----------
 .../MobileTrader/src/views/AlertsView.mxml      |  4 +--
 3 files changed, 18 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/820ae80c/examples/flexjs/MobileTrader/src/MobileTrader.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/MobileTrader.mxml b/examples/flexjs/MobileTrader/src/MobileTrader.mxml
index 4537ff3..c76531c 100755
--- a/examples/flexjs/MobileTrader/src/MobileTrader.mxml
+++ b/examples/flexjs/MobileTrader/src/MobileTrader.mxml
@@ -34,6 +34,6 @@
 	</js:model>
 	
 	<js:initialView>
-	   <local:MyInitialView width="480" height="640" />
+	   <local:MyInitialView width="100%" height="100%" />
 	</js:initialView>
 </js:Application>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/820ae80c/examples/flexjs/MobileTrader/src/MyInitialView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/MyInitialView.mxml b/examples/flexjs/MobileTrader/src/MyInitialView.mxml
index 1c6b07d..cc99946 100755
--- a/examples/flexjs/MobileTrader/src/MyInitialView.mxml
+++ b/examples/flexjs/MobileTrader/src/MyInitialView.mxml
@@ -43,10 +43,10 @@ limitations under the License.
 		
 		basic|TabbedViewManager {
 			position : absolute ;
-			height : 640px ;
-			width : 480px ;
-			left : 100px ;
-			top : 20px ;
+			height : 100% ;
+			width : 100% ;
+			left : 0px ;
+			top : 0px ;
 			border: solid 1px #444444;
 			background-color: #FFFFFF;
 		}
@@ -82,25 +82,26 @@ limitations under the License.
 		}
 		
 		views|AssetsView {
-			width: 480px;
-			height: 640px;
+			width: 100%;
+			height: 100%;
 		}
 		
 		views|WatchListView {
-			width: 480px;
-			height: 640px;
+			width: 100%;
+			height: 100%;
 			IBeadController:ClassReference('controller.WatchListController');
 			background-color: #FFFFFF;
 		}
 		
 		.WatchListInner {
 			height: 480px;
-			width:  480px;
+			width:  100%;
+			background-color: #FFFFFF;
 		}
 		
 		.WatchListDataGrid {
 			height: 480px;
-			width:  480px;
+			width:  100%;
 		}
 		
 		.WatchListInputArea {
@@ -112,13 +113,13 @@ limitations under the License.
 		}
 		
 		views|StockView {
-			width: 480px;
-			height: 640px;
+			width: 100%;
+			height: 100%;
 		}
 		
 		views|AlertsView {
-			width: 480px;
-			height: 640px;
+			width: 100%;
+			height: 100%;
 			IBeadController:ClassReference('controller.AlertsViewController');
 		}
 		

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/820ae80c/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/views/AlertsView.mxml b/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
index 3bc76bb..6a393de 100755
--- a/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
+++ b/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
@@ -57,9 +57,9 @@ limitations under the License.
 			<js:HorizontalLayout />
 		</js:beads>
 		<js:Label text="Symbol:" />
-		<js:TextInput id="symbolField" />
+		<js:TextInput id="symbolField" width="50" />
 		<js:Label text="Value:" />
-		<js:TextInput id="valueField" />
+		<js:TextInput id="valueField" width="50" />
 		<js:CheckBox text="Higher?" id="higherCheck" />
 		<js:TextButton text="Set" click="onAlertSet()" />
 	</js:Container>


[15/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - "beadsAdded" event not being dispatched from JavaScript version of UIBase.

Posted by pe...@apache.org.
"beadsAdded" event not being dispatched from JavaScript version of UIBase.


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

Branch: refs/heads/core_js_to_as
Commit: 1cd233cc444aa3cf09ee6dac4fe4d75d6e2f0fce
Parents: 258e692
Author: Peter Ent <pe...@apache.org>
Authored: Tue Oct 13 13:50:42 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Tue Oct 13 13:50:42 2015 -0400

----------------------------------------------------------------------
 frameworks/projects/Core/js/src/org/apache/flex/core/UIBase.js | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1cd233cc/frameworks/projects/Core/js/src/org/apache/flex/core/UIBase.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/org/apache/flex/core/UIBase.js b/frameworks/projects/Core/js/src/org/apache/flex/core/UIBase.js
index f79061d..a0345a8 100644
--- a/frameworks/projects/Core/js/src/org/apache/flex/core/UIBase.js
+++ b/frameworks/projects/Core/js/src/org/apache/flex/core/UIBase.js
@@ -332,6 +332,8 @@ org.apache.flex.core.UIBase.prototype.addedToParent = function() {
       }
     }
   }
+
+  this.dispatchEvent(new org.apache.flex.events.Event('beadsAdded'));
 };
 
 


[37/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - fix release target

Posted by pe...@apache.org.
fix release target


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

Branch: refs/heads/core_js_to_as
Commit: 88d8c37caab4b0056bf1250297d305f6944f0626
Parents: 5abf5ba
Author: Alex Harui <ah...@apache.org>
Authored: Sat Nov 14 23:04:51 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Sat Nov 14 23:04:51 2015 -0800

----------------------------------------------------------------------
 releasecandidate.xml | 55 ++++++++++++++++++++---------------------------
 1 file changed, 23 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/88d8c37c/releasecandidate.xml
----------------------------------------------------------------------
diff --git a/releasecandidate.xml b/releasecandidate.xml
index 6fa4d65..a789267 100644
--- a/releasecandidate.xml
+++ b/releasecandidate.xml
@@ -333,7 +333,7 @@
 		<delete file="${basedir}/getresult.txt" />
 	</target>
 	
-	<target name="update-installer-config-release" >
+	<target name="update-installer-config-release" depends="credentials">
 		<exec executable="${svn}" dir="${site}" failonerror="true" >
 			<arg value="update" />
 			<arg value="trunk/content/installer/sdk-installer-config-4.0.xml" />
@@ -528,7 +528,7 @@ ${my.name}
 		<delete file="${basedir}/discussthread.properties" />
     </target>
 
-	<target name="release" >
+	<target name="release" depends="credentials">
 		<available file="${svn.dist.release}"
 			type="dir" 
 			property="dist.release" value="${svn.dist.release}" />
@@ -539,29 +539,10 @@ ${my.name}
 		<exec executable="${svn}" dir="${dist.release}/flex" failonerror="true" >
 			<arg value="update" />
 		</exec>
-		<mkdir dir="${dist.release}/flex/flexjs/${release.version}" />
-		<mkdir dir="${dist.release}/flex/flexjs/${release.version}/binaries" />
-		<mkdir dir="${dist.release}/flex/flexjs/${release.version}/doc" />
-		<copy todir="${dist.release}/flex/flexjs/${release.version}/doc" >
-			<fileset dir="${dist.dev}/flex/flexjs/rc${rc}/doc" >
-				<include name="apache-flex-flexjs-${release.version}-asdoc*" />
-			</fileset>
-		</copy>
-		<copy todir="${dist.release}/flex/flexjs/${release.version}/binaries" >
-			<fileset dir="${dist.dev}/flex/flexjs/rc${rc}/binaries" >
-				<include name="apache-flex-flexjs-${release.version}-bin*" />
-				<include name="apache-flex-flexjs-installer-config.xml" />
-			</fileset>
-		</copy>
-		<copy todir="${dist.release}/flex/flexjs/${release.version}" >
-			<fileset dir="${dist.dev}/flex/flexjs/rc${rc}" >
-				<include name="READme" />
-				<include name="apache-flex-flexjs-${release.version}-src*" />
-			</fileset>
-		</copy>
 		<exec executable="${svn}" dir="${dist.release}/flex/flexjs" failonerror="true" >
-			<arg value="add" />
-			<arg value="${release.version}" />
+			<arg value="mv" />
+			<arg value="${dist.dev}/flex/flexjs/${release.version}/rc${rc}" />
+            <arg value="${dist.release}/flex/flexjs/${release.version}" />
 		</exec>
 		<exec executable="${svn}" dir="${dist.release}/flex/flexjs" failonerror="true" >
 			<arg value="commit" />
@@ -572,18 +553,28 @@ ${my.name}
 			<arg value="-m" />
 			<arg value="Apache FlexJS ${release.version}" />
 		</exec>
-		<exec executable="${git}" dir="${basedir}" failonerror="true" >
-			<arg value="tag" />
-			<arg value="-a" />
-			<arg value="apache-flex-flexjs-${release.version}" />
-			<arg value="-m" />
-			<arg value="&quot;Official release of apache-flex-flexjs-${release.version}&quot;" />
-		</exec>
+        <antcall target="release.tag" />
 		<exec executable="${git}" dir="${basedir}" failonerror="true" >
 			<arg value="push" />
 			<arg value="--tags" />
 		</exec>
 		<echo>Wait at least 24 hours before running update-installer-config-release target</echo>
 	</target>
-	
+
+    <target name="release.tag" >
+        <exec executable="${git}" dir="${basedir}" failonerror="true" output="${basedir}/taghash.txt">
+            <arg value="show" />
+            <arg value="apache-flex-flexjs-${release.version}-rc${rc}" />
+        </exec>
+        <replaceregexp file="${basedir}/taghash.txt" match="(.*).commit (.*).Author(.*)" replace="\2" byline="false" flags="s" />
+        <loadfile srcFile="${basedir}/taghash.txt" property="releasehash" />
+        <exec executable="${git}" dir="${basedir}" failonerror="true" >
+            <arg value="tag" />
+            <arg value="-a" />
+            <arg value="apache-flex-flexjs-${release.version}" />
+            <arg value="${releasehash}" />
+            <arg value="-m" />
+            <arg value="&quot;Official release of apache-flex-flexjs-${release.version}&quot;" />
+        </exec>
+    </target>
 </project>


[04/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Small changes required to get asdoc build to complete without errors. Removed unused class and interface.

Posted by pe...@apache.org.
Small changes required to get asdoc build to complete without errors. Removed unused class and interface.


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

Branch: refs/heads/core_js_to_as
Commit: c4848e67de68d1cf1c53de3733f89cc3c8cc6b7a
Parents: ae3e647
Author: Peter Ent <pe...@apache.org>
Authored: Wed Sep 30 16:13:30 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Wed Sep 30 16:13:30 2015 -0400

----------------------------------------------------------------------
 .../org/apache/flex/charts/beads/ChartView.as   |   1 -
 frameworks/projects/Flat/flat-manifest.xml      |   1 -
 .../apache/flex/core/IScrollingLayoutParent.as  |  71 -----
 .../org/apache/flex/html/beads/ButtonBarView.as |   4 +-
 .../org/apache/flex/html/beads/ContainerView.as |   1 -
 .../src/org/apache/flex/html/beads/ListView.as  |   4 +-
 .../flex/html/beads/ListViewNoSelectionState.as | 270 -------------------
 frameworks/projects/HTML/basic-manifest.xml     |   1 -
 8 files changed, 2 insertions(+), 351 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4848e67/frameworks/projects/Charts/asjs/src/org/apache/flex/charts/beads/ChartView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/asjs/src/org/apache/flex/charts/beads/ChartView.as b/frameworks/projects/Charts/asjs/src/org/apache/flex/charts/beads/ChartView.as
index 6f5c446..393f3b0 100644
--- a/frameworks/projects/Charts/asjs/src/org/apache/flex/charts/beads/ChartView.as
+++ b/frameworks/projects/Charts/asjs/src/org/apache/flex/charts/beads/ChartView.as
@@ -46,7 +46,6 @@ package org.apache.flex.charts.beads
 			super();
 		}
 		
-		private var _strand:IStrand;
 		private var _horizontalAxisGroup:IAxisGroup;
 		private var _verticalAxisGroup:IAxisGroup;
 		

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4848e67/frameworks/projects/Flat/flat-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Flat/flat-manifest.xml b/frameworks/projects/Flat/flat-manifest.xml
index b289d9a..355a76a 100644
--- a/frameworks/projects/Flat/flat-manifest.xml
+++ b/frameworks/projects/Flat/flat-manifest.xml
@@ -54,7 +54,6 @@
     <component id="HorizontalLayout" class="org.apache.flex.html.beads.layouts.HorizontalLayout"  lookupOnly="true" />
     <component id="TileLayout" class="org.apache.flex.html.beads.layouts.TileLayout"  lookupOnly="true" />
     <component id="ListView" class="org.apache.flex.html.beads.ListView" lookupOnly="true" />
-    <!--component id="ListViewNoSelectionState" class="org.apache.flex.html.beads.ListViewNoSelectionState" lookupOnly="true" /-->
     <component id="MultilineTextFieldView" class="org.apache.flex.html.beads.MultilineTextFieldView" lookupOnly="true" />
     
     <component id="SimpleAlert" class="org.apache.flex.html.SimpleAlert" lookupOnly="true" />

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4848e67/frameworks/projects/HTML/as/src/org/apache/flex/core/IScrollingLayoutParent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/core/IScrollingLayoutParent.as b/frameworks/projects/HTML/as/src/org/apache/flex/core/IScrollingLayoutParent.as
deleted file mode 100644
index ed89265..0000000
--- a/frameworks/projects/HTML/as/src/org/apache/flex/core/IScrollingLayoutParent.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.core
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	
-	import org.apache.flex.html.supportClasses.Border;
-	import org.apache.flex.html.supportClasses.ScrollBar;
-
-    /**
-     *  The IScrollingLayoutParent interface is an ILayoutParent
-     *  that has traditional scrollbars.  The layout implementation
-     *  often needs to know certain things about other objects in
-     *  the component.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public interface IScrollingLayoutParent extends ILayoutParent
-	{
-        /**
-         *  The border.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		function get border():Border;
-		
-        /**
-         *  The vertical ScrollBar.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		function get vScrollBar():ScrollBar;
-        
-        /**
-         *  The horizontal ScrollBar.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		function get hScrollBar():ScrollBar;
-		
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4848e67/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ButtonBarView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ButtonBarView.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ButtonBarView.as
index 7add594..e51040c 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ButtonBarView.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ButtonBarView.as
@@ -54,9 +54,7 @@ package org.apache.flex.html.beads
 		{
 			super();
 		}
-		
-		private var _strand:IStrand;
-		
+				
 		/**
 		 *  @copy org.apache.flex.core.IBead#strand
 		 *  

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4848e67/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
index 69f0a05..96f182b 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
@@ -140,7 +140,6 @@ package org.apache.flex.html.beads
 		
 		private var _viewportModel:IViewportModel;
 		private var _viewport:IViewport;
-		private var _strand:IStrand;
 		private var layoutRunning:Boolean;
 		
 		/**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4848e67/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListView.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListView.as
index 9deec3e..a9192f4 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListView.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListView.as
@@ -106,9 +106,7 @@ package org.apache.flex.html.beads
         {
             return _strand as IUIBase;
         }
-        
-		private var _strand:IStrand;
-		
+        		
 		/**
 		 *  @copy org.apache.flex.core.IBead#strand
 		 *  

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4848e67/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListViewNoSelectionState.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListViewNoSelectionState.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListViewNoSelectionState.as
deleted file mode 100644
index 4e93375..0000000
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ListViewNoSelectionState.as
+++ /dev/null
@@ -1,270 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.ISelectableItemRenderer;
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.IScrollingLayoutParent;
-	import org.apache.flex.core.IParent;
-    import org.apache.flex.core.IParentIUIBase;
-	import org.apache.flex.core.IRollOverModel;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.Strand;
-	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.beads.models.ArraySelectionModel;
-	import org.apache.flex.html.beads.models.ScrollBarModel;
-	import org.apache.flex.html.beads.models.SingleLineBorderModel;
-	import org.apache.flex.html.supportClasses.Border;
-	import org.apache.flex.html.supportClasses.DataGroup;
-	import org.apache.flex.html.supportClasses.ScrollBar;
-
-	/**
-	 *  The ListViewNoSelectionState class is a version of ListView that
-     *  does not set states on the renderers to show selection.  Thus
-     *  the renderers can be simpler and not implemetn ISelectableItemRenderer
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ListViewNoSelectionState extends Strand implements IBeadView, IStrand, IListView, IScrollingLayoutParent
-	{
-		public function ListViewNoSelectionState()
-		{
-		}
-						
-		private var listModel:ISelectionModel;
-		
-		private var _border:Border;
-		
-		/**
-		 *  The border surrounding the org.apache.flex.html.List.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function get border():Border
-        {
-            return _border;
-        }
-		
-		private var _dataGroup:IItemRendererParent;
-		
-		/**
-		 *  The area holding the itemRenderers.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get dataGroup():IItemRendererParent
-		{
-			return _dataGroup;
-		}
-		public function set dataGroup(value:IItemRendererParent):void
-		{
-			_dataGroup = value;
-		}
-		
-		private var _vScrollBar:ScrollBar;
-		
-		/**
-		 *  The vertical org.apache.flex.html.ScrollBar, if needed.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get vScrollBar():ScrollBar
-		{
-            if (!_vScrollBar)
-                _vScrollBar = createScrollBar();
-			return _vScrollBar;
-		}
-		
-		/**
-		 *  The horizontal org.apache.flex.html.ScrollBar, currently null.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get hScrollBar():ScrollBar
-		{
-			return null;
-		}
-		
-		/**
-		 *  The contentArea includes the dataGroup and scrollBars.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get contentView():IParentIUIBase
-		{
-			return _dataGroup as IParentIUIBase;
-		}
-		
-		/**
-		 * @private
-		 */
-		public function get resizableView():IUIBase
-		{
-			return _strand as IUIBase;
-		}
-		
-        /**
-         * @private
-         */
-        public function get host():IUIBase
-        {
-            return _strand as IUIBase;
-        }
-        
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-            for each (var bead:IBead in beads)
-            addBead(bead);
-            
-            dispatchEvent(new org.apache.flex.events.Event("beadsAdded"));
-			IEventDispatcher(_strand).addEventListener("widthChanged", handleSizeChange);
-			IEventDispatcher(_strand).addEventListener("heightChanged",handleSizeChange);
-            
-            listModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
-			listModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-
-            _border = new Border();
-            _border.model = new (ValuesManager.valuesImpl.getValue(value, "iBorderModel")) as IBeadModel;
-            _border.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);
-            IParent(_strand).addElement(_border);
-            
-			if (_dataGroup == null) {
-				_dataGroup = new (ValuesManager.valuesImpl.getValue(value, "iDataGroup")) as IItemRendererParent;
-			}
-			IParent(_strand).addElement(_dataGroup);
-            
-            if (_strand.getBeadByType(IBeadLayout) == null)
-            {
-                var mapper:IBeadLayout = new (ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout")) as IBeadLayout;
-				_strand.addBead(mapper);
-            }  
-			
-			handleSizeChange(null);
-		}
-		
-		/**
-		 * @private
-		 */
-		protected function dataProviderChangeHandler(event:Event):void
-		{
-			// override if needed
-		}
-		
-			
-		/**
-		 * @private
-		 */
-		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;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleSizeChange(event:Event):void
-		{
-			UIBase(_dataGroup).x = 0;
-			UIBase(_dataGroup).y = 0;
-			UIBase(_dataGroup).width = UIBase(_strand).width;
-			UIBase(_dataGroup).height = UIBase(_strand).height;
-		}
-				
-        /**
-         *  @copy org.apache.flex.core.IBeadView#viewHeight
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get viewHeight():Number
-        {
-            // don't want to put $height in an interface
-            return _strand["$height"];
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.IBeadView#viewWidth
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get viewWidth():Number
-        {
-            // don't want to put $width in an interface
-            return _strand["$width"];
-        }
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c4848e67/frameworks/projects/HTML/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/basic-manifest.xml b/frameworks/projects/HTML/basic-manifest.xml
index b2f6a19..5ddd403 100644
--- a/frameworks/projects/HTML/basic-manifest.xml
+++ b/frameworks/projects/HTML/basic-manifest.xml
@@ -54,7 +54,6 @@
     <component id="HorizontalLayout" class="org.apache.flex.html.beads.layouts.HorizontalLayout"/>
     <component id="TileLayout" class="org.apache.flex.html.beads.layouts.TileLayout"/>
     <component id="ListView" class="org.apache.flex.html.beads.ListView"/>
-    <!-- component id="ListViewNoSelectionState" class="org.apache.flex.html.beads.ListViewNoSelectionState"/ -->
     <component id="MultilineTextFieldView" class="org.apache.flex.html.beads.MultilineTextFieldView"/>
     
     <component id="SimpleAlert" class="org.apache.flex.html.SimpleAlert"/>


[03/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Update width of chart, remove gradient fill for columns

Posted by pe...@apache.org.
Update width of chart, remove gradient fill for columns


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

Branch: refs/heads/core_js_to_as
Commit: ae3e647368716a9d8de9f8f76cb937a1d414f63b
Parents: 3c8b087
Author: OmPrakash Muppirala <bi...@gmail.com>
Authored: Wed Sep 30 11:53:41 2015 +0200
Committer: OmPrakash Muppirala <bi...@gmail.com>
Committed: Wed Sep 30 11:53:41 2015 +0200

----------------------------------------------------------------------
 .../flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml    | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ae3e6473/examples/flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml b/examples/flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml
index 33842df..3d67cbf 100644
--- a/examples/flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml
+++ b/examples/flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml
@@ -55,7 +55,7 @@ limitations under the License.
 	<js:Label text="Number of users on flex.apache.org for last 30 days" x="10" y="10" />
 	<js:TextButton id="refreshButton" text="Refresh" x="300" y="10" click="refreshBtnClick(event)"/> 
 	
-	<js:ColumnChart id="columnChart" x="40" y="40" width="1024" height="768" className="AllCharts">
+	<js:ColumnChart id="columnChart" x="40" y="40" width="2000" height="768" className="AllCharts">
 		<js:beads>
 			<js:SimpleBinding
 				sourceID="applicationModel"
@@ -72,8 +72,16 @@ limitations under the License.
 					<fx:Component>
 						<js:BoxItemRenderer>
 							<js:fill>
-								<js:SolidColor color="#FF964D" alpha="1.0" />
+								<js:SolidColor color="#7CB5EC" alpha="1.0" />
 							</js:fill>
+							<!--<js:fill>
+								<js:LinearGradient rotation="90">
+									<js:entries>
+										<js:GradientEntry color="#7CB5EC" ratio="0" />
+										<js:GradientEntry color="#EFF7FF" ratio="0.5" />
+									</js:entries>
+								</js:LinearGradient>
+							</js:fill>-->
 						</js:BoxItemRenderer>                      
 					</fx:Component>
 				</js:itemRenderer>


[09/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Adding ArrayList to Collections framework.

Posted by pe...@apache.org.
Adding ArrayList to Collections framework.


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

Branch: refs/heads/core_js_to_as
Commit: e2eac34d27c83e2d33920ae61479682202af84e3
Parents: 657ce8b
Author: Peter Ent <pe...@apache.org>
Authored: Wed Oct 7 15:46:20 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Wed Oct 7 15:46:20 2015 -0400

----------------------------------------------------------------------
 frameworks/build.xml                            |   4 +-
 .../Collections/as/src/CollectionsClasses.as    |   1 +
 .../asjs/src/CollectionsASJSClasses.as          |  33 ++
 .../org/apache/flex/collections/ArrayList.as    | 396 +++++++++++++++++++
 .../projects/Collections/basic-manifest.xml     |   1 +
 frameworks/projects/Collections/build.xml       |  20 +-
 .../projects/Collections/compile-config.xml     |   2 +
 .../org/apache/flex/collections/ICollection.js  |  50 +++
 8 files changed, 504 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e2eac34d/frameworks/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/build.xml b/frameworks/build.xml
index e66b008..ab9196d 100644
--- a/frameworks/build.xml
+++ b/frameworks/build.xml
@@ -79,10 +79,10 @@
         <antcall target="Core"/>
         <antcall target="Graphics"/>
         <antcall target="Binding"/>
+        <antcall target="Collections"/>
         <antcall target="HTML"/>
         <antcall target="Flat"/>
         <antcall target="Charts"/>
-        <antcall target="Collections"/>
         <antcall target="CreateJS"/>
         <antcall target="DragDrop"/>
         <antcall target="Effects"/>
@@ -136,10 +136,10 @@
         <ant dir="${basedir}/projects/Core" target="compile"/>
         <ant dir="${basedir}/projects/Graphics" target="compile"/>
         <ant dir="${basedir}/projects/Binding" target="compile"/>
+        <ant dir="${basedir}/projects/Collections" target="compile"/>
         <ant dir="${basedir}/projects/HTML" target="compile"/>
         <ant dir="${basedir}/projects/Flat" target="compile"/>
         <ant dir="${basedir}/projects/Charts" target="compile"/>
-        <ant dir="${basedir}/projects/Collections" target="compile"/>
         <ant dir="${basedir}/projects/CreateJS" target="compile"/>
         <ant dir="${basedir}/projects/DragDrop" target="compile"/>
         <ant dir="${basedir}/projects/Effects" target="compile"/>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e2eac34d/frameworks/projects/Collections/as/src/CollectionsClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Collections/as/src/CollectionsClasses.as b/frameworks/projects/Collections/as/src/CollectionsClasses.as
index dcbf02c..f2b02c3 100644
--- a/frameworks/projects/Collections/as/src/CollectionsClasses.as
+++ b/frameworks/projects/Collections/as/src/CollectionsClasses.as
@@ -27,6 +27,7 @@ package
  */
 internal class CollectionsClasses
 {	
+	import org.apache.flex.collections.LazyCollection; LazyCollection;
 }
 
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e2eac34d/frameworks/projects/Collections/asjs/src/CollectionsASJSClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Collections/asjs/src/CollectionsASJSClasses.as b/frameworks/projects/Collections/asjs/src/CollectionsASJSClasses.as
new file mode 100644
index 0000000..e631e8a
--- /dev/null
+++ b/frameworks/projects/Collections/asjs/src/CollectionsASJSClasses.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
+{
+
+/**
+ *  @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 CollectionsASJSClasses
+{
+    import org.apache.flex.collections.ArrayList; ArrayList;
+}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e2eac34d/frameworks/projects/Collections/asjs/src/org/apache/flex/collections/ArrayList.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Collections/asjs/src/org/apache/flex/collections/ArrayList.as b/frameworks/projects/Collections/asjs/src/org/apache/flex/collections/ArrayList.as
new file mode 100644
index 0000000..58d44e8
--- /dev/null
+++ b/frameworks/projects/Collections/asjs/src/org/apache/flex/collections/ArrayList.as
@@ -0,0 +1,396 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.collections
+{	
+	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.events.IEventDispatcher;
+    import org.apache.flex.collections.parsers.IInputParser;
+    import org.apache.flex.collections.converters.IItemConverter;
+    
+    //--------------------------------------
+    //  Events
+    //--------------------------------------
+	
+	/**
+	 *  Dispatched when the collection's underlying source array
+	 *  is changed.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	[Event(name="collectionChanged", type="org.apache.flex.events.Event")]
+	
+	/**
+	 *  Dispatched when the collection has added an item.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	[Event(name="itemAdded", type="org.apache.flex.events.Event")]
+	
+	/**
+	 *  Dispatched when the collection has removed an item.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	[Event(name="itemRemoved", type="org.apache.flex.events.Event")]
+	
+	/**
+	 *  Dispatched when the collection has updated an item.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	[Event(name="itemUpdated", type="org.apache.flex.events.Event")]
+    
+    /**
+     *  The ArrayList class provides an event-driven wrapper for the
+	 *  standard Array. Events are dispatched when items are added, removed,
+	 *  or changed.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+	public class ArrayList extends EventDispatcher implements IBead, ICollection
+	{
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+		public function ArrayList(initialSource:Array=null)
+		{
+			super();
+			if (initialSource) _source = initialSource;
+			else _source = [];
+		}
+
+        private var _id:String;
+        
+        /**
+         *  @copy org.apache.flex.core.UIBase#id
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+		public function get id():String
+		{
+			return _id;
+		}
+
+        /**
+         *  @private
+         */
+		public function set id(value:String):void
+		{
+			if (_id != value)
+			{
+				_id = value;
+				dispatchEvent(new Event("idChanged"));
+			}
+		}
+		
+        private var _strand:IStrand;
+        
+        /**
+         *  @copy org.apache.flex.core.UIBase#strand
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function set strand(value:IStrand):void
+        {
+            _strand = value;
+			_source = new Array();
+        }
+		
+		private var _source:Array;
+        
+        /**
+         *  The array of raw data needing conversion.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+		public function get source():Array
+		{
+			return _source;
+		}
+		
+		public function set source(value:Array):void
+		{
+			if (_source != value) {
+				if (value == null) _source = [];
+				else _source = value;
+				dispatchEvent(new Event("collectionChanged"));
+			}
+		}
+		
+		/**
+		 * Returns a copy of the source array.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+		 */
+		public function toArray():Array
+		{
+			return _source.concat();
+		}
+        
+        /**
+         *  Fetches an item from the collection
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function getItemAt(index:int):Object
+        {
+            return _source[index];
+        } 
+		
+		/**
+		 *  Fetches an item from the collection given an index.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function getItemIndex(item:Object):int
+		{
+			for (var index:int=0; index < _source.length; index++) {
+				if (item == _source[index]) {
+					return index;
+				}
+			}
+			return -1;
+		}
+		
+		/**
+		 *  Adds an item to the end of the array.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function addItem(item:Object):void
+		{
+			addItemAt(item, length);
+		}
+		
+		/**
+		 *  Inserts an item to a specific location within the array.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function addItemAt(item:Object, index:int):void
+		{
+			const spliceUpperBound:int = length;
+			
+			if (index < spliceUpperBound && index > 0)
+			{
+				source.splice(index, 0, item);
+			}
+			else if (index == spliceUpperBound)
+			{
+				source.push(item);
+			}
+			else if (index == 0)
+			{
+				source.unshift(item);
+			}
+			else 
+			{
+				// error
+				return;
+			}
+			
+			dispatchEvent(new Event("itemAdded"));
+		}
+		
+		/**
+		 *  Replaces the item at the given index with a new item and
+		 *  returns the old item.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function setItemAt(item:Object, index:int):Object
+		{
+			const spliceUpperBound:int = length;
+			var oldItem:Object;
+			
+			if (index >= 0 && index < spliceUpperBound) {
+				oldItem = source[index];
+				source[index] = item;
+				dispatchEvent(new Event("itemUpdated"));
+			}
+			else {
+				// error
+			}
+			
+			return oldItem;
+		}
+		
+		/**
+		 *  Removed an item from the array and returns it.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function removeItem(item:Object):Boolean
+		{
+			var index:int = getItemIndex(item);
+			var result:Boolean = index >= 0;
+			if (result) {
+				removeItemAt(index);
+			}
+			return result;
+		}
+		
+		/**
+		 *  Removes an item from a specific location within the array and
+		 *  returns it.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function removeItemAt(index:int):Object
+		{
+			const spliceUpperBound:int = length - 1;
+			var removed:Object;
+			
+			if (index > 0 && index < spliceUpperBound)
+			{
+				removed = source.splice(index, 1)[0];
+			}
+			else if (index == spliceUpperBound)
+			{
+				removed = source.pop();
+			}
+			else if (index == 0)
+			{
+				removed = source.shift();
+			}
+			else {
+				// error
+				return null;
+			}
+			
+			dispatchEvent(new Event("itemRemoved"));
+			return removed;
+		}
+		
+		/**
+		 *  Removes all of the items from the array.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function removeAll():void
+		{
+			if (length > 0) {
+				source.splice(0, length);
+				dispatchEvent(new Event("itemRemoved"));
+			}
+		}
+		
+		/**
+		 *  Signals that an item in the array has been updated.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function itemUpdated(item:Object):void
+		{
+			var index:int = getItemIndex(item);
+			if (index >= 0) {
+				dispatchEvent(new Event("itemUpdated"));
+			}
+		}
+		
+		/**
+		 *  Signals that an item in the array has been updated.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function itemUpdatedAt(index:int):void
+		{
+			dispatchEvent(new Event("itemUpdated"));
+		}
+        
+        /**
+         *  The number of items.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get length():int
+        {
+            return _source ? _source.length : 0;   
+        }
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e2eac34d/frameworks/projects/Collections/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Collections/basic-manifest.xml b/frameworks/projects/Collections/basic-manifest.xml
index 2b2f0e5..5ea77b7 100644
--- a/frameworks/projects/Collections/basic-manifest.xml
+++ b/frameworks/projects/Collections/basic-manifest.xml
@@ -21,6 +21,7 @@
 
 <componentPackage>
 
+    <component id="ArrayList" class="org.apache.flex.collections.ArrayList"/>
     <component id="LazyCollection" class="org.apache.flex.collections.LazyCollection"/>
     <component id="JSONInputParser" class="org.apache.flex.collections.parsers.JSONInputParser"/>
     <component id="JSONItemConverter" class="org.apache.flex.collections.converters.JSONItemConverter"/>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e2eac34d/frameworks/projects/Collections/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Collections/build.xml b/frameworks/projects/Collections/build.xml
index a2f2db7..d6c1e77 100644
--- a/frameworks/projects/Collections/build.xml
+++ b/frameworks/projects/Collections/build.xml
@@ -99,7 +99,22 @@
     </target>
 
     <target name="compile-asjs" >
-        <!-- nothing to cross-compile yet -->
+    	<echo message="Cross-compiling Collections/asjs"/>
+    	        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
+    	        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+    	            <jvmarg value="-Xmx384m" />
+    	            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+    	            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+    	            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+    	            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
+    	            <arg value="-js-output-type=FLEXJS" />
+    	            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
+    	            <arg value="-output=${basedir}/js/out" />
+    	            <arg value="-load-config=${basedir}/compile-asjs-config.xml" />
+    	            <arg value="+playerglobal.version=${playerglobal.version}" />
+    	            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+    	            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+    	        </java>
     </target>
 
     <target name="lint-js" depends="gjslint, jshint, copy-js" />
@@ -108,6 +123,9 @@
             <fileset dir="${basedir}/js/src">
                 <include name="**/**" />
             </fileset>
+            <fileset dir="${basedir}/js/out">
+                <include name="**/**" />
+            </fileset>
         </copy>
     </target>
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e2eac34d/frameworks/projects/Collections/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Collections/compile-config.xml b/frameworks/projects/Collections/compile-config.xml
index fdb1921..a34040a 100644
--- a/frameworks/projects/Collections/compile-config.xml
+++ b/frameworks/projects/Collections/compile-config.xml
@@ -54,6 +54,7 @@
         
         <source-path>
             <path-element>as/src</path-element>
+            <path-element>asjs/src</path-element>
         </source-path>
         
         <warn-no-constructor>false</warn-no-constructor>
@@ -66,6 +67,7 @@
 
     <include-classes>
         <class>CollectionsClasses</class>
+        <class>CollectionsASJSClasses</class>
     </include-classes>
     
     <include-namespaces>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e2eac34d/frameworks/projects/Collections/js/src/org/apache/flex/collections/ICollection.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Collections/js/src/org/apache/flex/collections/ICollection.js b/frameworks/projects/Collections/js/src/org/apache/flex/collections/ICollection.js
new file mode 100644
index 0000000..749c80b
--- /dev/null
+++ b/frameworks/projects/Collections/js/src/org/apache/flex/collections/ICollection.js
@@ -0,0 +1,50 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * org.apache.flex.collections.ICollection
+ *
+ * @fileoverview
+ *
+ * @suppress {checkTypes}
+ */
+
+goog.provide('org.apache.flex.collections.ICollection');
+
+
+
+/**
+ * @interface
+ */
+org.apache.flex.collections.ICollection =
+function() {
+};
+
+
+/**
+ * @export
+ * @param {number} index The item to fetch.
+ * @return {Object} The object at the index.
+ */
+org.apache.flex.collections.ICollection.prototype.getItemAt = function(index) {};
+
+
+/**
+ * Metadata
+ *
+ * @type {Object.<string, Array.<Object>>}
+ */
+org.apache.flex.collections.ICollection.prototype.FLEXJS_CLASS_INFO = {
+  names: [{ name: 'ICollection',
+             qName: 'org.apache.flex.collections.ICollection'}]};


[05/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - FF Windows didn't like hyphenated direct access

Posted by pe...@apache.org.
FF Windows didn't like hyphenated direct access


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

Branch: refs/heads/core_js_to_as
Commit: 5a74b7001875e01aa477108cc6b5efcd6cd5b625
Parents: c4848e6
Author: Alex Harui <ah...@apache.org>
Authored: Thu Oct 1 14:54:26 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 1 14:54:38 2015 -0700

----------------------------------------------------------------------
 .../org/apache/flex/utils/CSSContainerUtils.js  | 34 +++++++++++---------
 .../flex/html/beads/layouts/HorizontalLayout.js |  4 +--
 .../flex/html/beads/layouts/VerticalLayout.js   |  4 +--
 3 files changed, 22 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5a74b700/frameworks/projects/Core/js/src/org/apache/flex/utils/CSSContainerUtils.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/org/apache/flex/utils/CSSContainerUtils.js b/frameworks/projects/Core/js/src/org/apache/flex/utils/CSSContainerUtils.js
index 4ee13f8..77eee76 100644
--- a/frameworks/projects/Core/js/src/org/apache/flex/utils/CSSContainerUtils.js
+++ b/frameworks/projects/Core/js/src/org/apache/flex/utils/CSSContainerUtils.js
@@ -33,10 +33,11 @@ org.apache.flex.utils.CSSContainerUtils = function() {
  */
 org.apache.flex.utils.CSSContainerUtils.getBorderMetrics = function(object) {
   var style = getComputedStyle(object.element);
-  var borderLeft = org.apache.flex.utils.CSSUtils.toNumber(style['border-left-width'], object.width);
-  var borderRight = org.apache.flex.utils.CSSUtils.toNumber(style['border-right-width'], object.width);
-  var borderTop = org.apache.flex.utils.CSSUtils.toNumber(style['border-top-width'], object.width);
-  var borderBottom = org.apache.flex.utils.CSSUtils.toNumber(style['border-bottom-width'], object.width);
+  var borderLeft = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('border-left-width'), object.width);
+  var borderRight = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('border-right-width'), object.width);
+  var borderTop = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('border-top-width'), object.width);
+  var borderBottom = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('border-bottom-width'),
+      object.width);
   return new org.apache.flex.geom.Rectangle(borderLeft, borderTop, borderRight - borderLeft, borderBottom - borderTop);
 };
 
@@ -48,10 +49,10 @@ org.apache.flex.utils.CSSContainerUtils.getBorderMetrics = function(object) {
  */
 org.apache.flex.utils.CSSContainerUtils.getPaddingMetrics = function(object) {
   var style = getComputedStyle(object.element);
-  var paddingLeft = org.apache.flex.utils.CSSUtils.toNumber(style['padding-left'], object.width);
-  var paddingRight = org.apache.flex.utils.CSSUtils.toNumber(style['padding-right'], object.width);
-  var paddingTop = org.apache.flex.utils.CSSUtils.toNumber(style['padding-top'], object.width);
-  var paddingBottom = org.apache.flex.utils.CSSUtils.toNumber(style['padding-bottom'], object.width);
+  var paddingLeft = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('padding-left'), object.width);
+  var paddingRight = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('padding-right'), object.width);
+  var paddingTop = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('padding-top'), object.width);
+  var paddingBottom = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('padding-bottom'), object.width);
   return new org.apache.flex.geom.Rectangle(paddingLeft, paddingTop,
                                             paddingRight - paddingLeft, paddingBottom - paddingTop);
 };
@@ -64,14 +65,15 @@ org.apache.flex.utils.CSSContainerUtils.getPaddingMetrics = function(object) {
  */
 org.apache.flex.utils.CSSContainerUtils.getBorderAndPaddingMetrics = function(object) {
   var style = getComputedStyle(object.element);
-  var borderLeft = org.apache.flex.utils.CSSUtils.toNumber(style['border-left-width'], object.width);
-  var borderRight = org.apache.flex.utils.CSSUtils.toNumber(style['border-right-width'], object.width);
-  var borderTop = org.apache.flex.utils.CSSUtils.toNumber(style['border-top-width'], object.width);
-  var borderBottom = org.apache.flex.utils.CSSUtils.toNumber(style['border-bottom-width'], object.width);
-  var paddingLeft = org.apache.flex.utils.CSSUtils.toNumber(style['padding-left'], object.width);
-  var paddingRight = org.apache.flex.utils.CSSUtils.toNumber(style['padding-right'], object.width);
-  var paddingTop = org.apache.flex.utils.CSSUtils.toNumber(style['padding-top'], object.width);
-  var paddingBottom = org.apache.flex.utils.CSSUtils.toNumber(style['padding-bottom'], object.width);
+  var borderLeft = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('border-left-width'), object.width);
+  var borderRight = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('border-right-width'), object.width);
+  var borderTop = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('border-top-width'), object.width);
+  var borderBottom = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('border-bottom-width'),
+      object.width);
+  var paddingLeft = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('padding-left'), object.width);
+  var paddingRight = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('padding-right'), object.width);
+  var paddingTop = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('padding-top'), object.width);
+  var paddingBottom = org.apache.flex.utils.CSSUtils.toNumber(style.getPropertyValue('padding-bottom'), object.width);
   paddingLeft += borderLeft;
   paddingRight += borderRight;
   paddingTop += borderTop;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5a74b700/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/layouts/HorizontalLayout.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/layouts/HorizontalLayout.js b/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/layouts/HorizontalLayout.js
index 222b2e7..b5ede3d 100644
--- a/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/layouts/HorizontalLayout.js
+++ b/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/layouts/HorizontalLayout.js
@@ -81,9 +81,9 @@ org.apache.flex.html.beads.layouts.HorizontalLayout.
     maxHeight = Math.max(maxHeight, child.offsetHeight);
     if (!hasWidth) {
       var cv = window.getComputedStyle(child);
-      var mls = cv['margin-left'];
+      var mls = cv.getPropertyValue('margin-left');
       var ml = Number(mls.substring(0, mls.length - 2));
-      var mrs = cv['margin-right'];
+      var mrs = cv.getPropertyValue('margin-right');
       var mr = Number(mrs.substring(0, mrs.length - 2));
       computedWidth += ml + child.offsetWidth + mr;
     }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5a74b700/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/layouts/VerticalLayout.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/layouts/VerticalLayout.js b/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/layouts/VerticalLayout.js
index 5627202..b179288 100644
--- a/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/layouts/VerticalLayout.js
+++ b/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/layouts/VerticalLayout.js
@@ -87,8 +87,8 @@ org.apache.flex.html.beads.layouts.VerticalLayout.
     child.flexjs_wrapper.dispatchEvent('sizeChanged');
   }
   if (!hasWidth && n > 0 && !isNaN(maxWidth)) {
-    var pl = scv['padding-left'];
-    var pr = scv['padding-right'];
+    var pl = scv.getPropertyValue('padding-left');
+    var pr = scv.getPropertyValue('padding-right');
     pl = parseInt(pl.substring(0, pl.length - 2), 10);
     pr = parseInt(pr.substring(0, pr.length - 2), 10);
     maxWidth += pl + pr;


[28/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Added declaration for the .Application style.

Posted by pe...@apache.org.
Added declaration for the .Application style.


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

Branch: refs/heads/core_js_to_as
Commit: 3030c5ccefb1f5d554ef09d4c51549875560e00c
Parents: 866d5e4
Author: Peter Ent <pe...@apache.org>
Authored: Wed Oct 21 17:27:09 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Wed Oct 21 17:27:09 2015 -0400

----------------------------------------------------------------------
 frameworks/projects/HTML/as/defaults.css | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3030c5cc/frameworks/projects/HTML/as/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/defaults.css b/frameworks/projects/HTML/as/defaults.css
index db0145c..aa25dc5 100644
--- a/frameworks/projects/HTML/as/defaults.css
+++ b/frameworks/projects/HTML/as/defaults.css
@@ -34,6 +34,12 @@
     box-sizing: border-box;
 }
 
+Application
+{
+	padding: 0px;
+	margin: 0px;
+}
+
 Button
 {
   background-color: #f8f8f8;


[33/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - try turning off lint during approval script

Posted by pe...@apache.org.
try turning off lint during approval script


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

Branch: refs/heads/core_js_to_as
Commit: a8fbda5634f7cc04666c9eb8bdc0a886a0cbbc79
Parents: c4c0315
Author: Alex Harui <ah...@apache.org>
Authored: Mon Nov 2 15:42:24 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Nov 2 15:42:24 2015 -0800

----------------------------------------------------------------------
 ApproveFlexJS.xml    | 1 +
 releasecandidate.xml | 5 +----
 2 files changed, 2 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a8fbda56/ApproveFlexJS.xml
----------------------------------------------------------------------
diff --git a/ApproveFlexJS.xml b/ApproveFlexJS.xml
index e9044df..842c74e 100644
--- a/ApproveFlexJS.xml
+++ b/ApproveFlexJS.xml
@@ -378,6 +378,7 @@
     </target>
 
     <target name="build" depends="ask.build,ask-font,get.dependencies,copy.downloads">
+        <property name="no.lint" value="true" />
         <ant dir="${basedir}/${package.url.name}" target="main" />
         <ant dir="${basedir}/${package.url.name}" target="examples" />
     </target>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a8fbda56/releasecandidate.xml
----------------------------------------------------------------------
diff --git a/releasecandidate.xml b/releasecandidate.xml
index 2099936..6fa4d65 100644
--- a/releasecandidate.xml
+++ b/releasecandidate.xml
@@ -483,7 +483,7 @@ The vote passes if there is:\n\
 - At least 3 +1 votes from the PMC\n\
 - More positive votes than negative votes\n\
 \n\
-Remember that this is an initial 'alpha-quality' release so I expect there\n\
+Remember that this is a 'beta-quality' release so I expect there\n\
 will be many bugs found.  IMO the goal is not to try to find and fix bugs\n\
 in the RC, but to make sure we have the packaging right, and enough\n\
 functionality that folks will have some success trying to use it.\n\
@@ -507,9 +507,6 @@ You are not required to use this script, and more testing of the packages\n\
 and build results are always encouraged.\n\
 \n\
 \n\
-You will have to install Google Closure Linter and JSHint prior to running\n\
-the script.\n\
-\n\
 Please put all discussion about this release in the DISCUSSION thread not\n\
 this VOTE thread.\n\
 \n\


[10/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Added missing interface for IRollOverModel for JavaScript.

Posted by pe...@apache.org.
Added missing interface for IRollOverModel for JavaScript.


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

Branch: refs/heads/core_js_to_as
Commit: cc526bd5e1e8d7ef381f811e49c2c7a06364d22e
Parents: e2eac34
Author: Peter Ent <pe...@apache.org>
Authored: Wed Oct 7 15:47:02 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Wed Oct 7 15:47:02 2015 -0400

----------------------------------------------------------------------
 .../src/org/apache/flex/core/IRollOverModel.js  | 58 ++++++++++++++++++++
 1 file changed, 58 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/cc526bd5/frameworks/projects/Core/js/src/org/apache/flex/core/IRollOverModel.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/org/apache/flex/core/IRollOverModel.js b/frameworks/projects/Core/js/src/org/apache/flex/core/IRollOverModel.js
new file mode 100644
index 0000000..059b1a1
--- /dev/null
+++ b/frameworks/projects/Core/js/src/org/apache/flex/core/IRollOverModel.js
@@ -0,0 +1,58 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * org.apache.flex.core.IRollOverModel
+ *
+ * @fileoverview
+ *
+ * @suppress {checkTypes}
+ */
+
+goog.provide('org.apache.flex.core.IRollOverModel');
+
+goog.require('org.apache.flex.core.IBeadModel');
+goog.require('org.apache.flex.events.IEventDispatcher');
+
+
+
+/**
+ * @interface
+ * @extends {org.apache.flex.core.IBeadModel}
+ * @extends {org.apache.flex.events.IEventDispatcher}
+ */
+org.apache.flex.core.IRollOverModel =
+function() {
+};
+
+
+Object.defineProperties(org.apache.flex.core.IRollOverModel.prototype, {
+    /** @export */
+    rollOverIndex: {
+        get: function() {},
+        set: function(value) {}
+    }
+});
+
+
+/**
+ * Metadata
+ *
+ * @type {Object.<string, Array.<Object>>}
+ */
+org.apache.flex.core.IRollOverModel.prototype.FLEXJS_CLASS_INFO = {
+  names: [{ name: 'IRollOverModel',
+             qName: 'org.apache.flex.core.IRollOverModel'}],
+  interfaces: [org.apache.flex.core.IBead, org.apache.flex.events.IEventDispatcher]
+};


[30/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - fix missing ArrayList.js

Posted by pe...@apache.org.
fix missing ArrayList.js


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

Branch: refs/heads/core_js_to_as
Commit: 8dc9a6a0eecf3892f69ab326037309ae79a18c44
Parents: d46845b
Author: Alex Harui <ah...@apache.org>
Authored: Thu Oct 29 21:31:51 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 29 21:32:11 2015 -0700

----------------------------------------------------------------------
 frameworks/projects/Collections/compile-config.xml | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8dc9a6a0/frameworks/projects/Collections/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Collections/compile-config.xml b/frameworks/projects/Collections/compile-config.xml
index a34040a..88592f7 100644
--- a/frameworks/projects/Collections/compile-config.xml
+++ b/frameworks/projects/Collections/compile-config.xml
@@ -61,6 +61,10 @@
     </compiler>
     
     <include-file>
+        <name>js/out/*</name>
+        <path>js/out/*</path>
+    </include-file>
+    <include-file>
         <name>js/src/*</name>
         <path>js/src/*</path>
     </include-file>


[21/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - don't check FLEX_HOME unless doing release packaging

Posted by pe...@apache.org.
don't check FLEX_HOME unless doing release packaging


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

Branch: refs/heads/core_js_to_as
Commit: 7c149ed9e0bd0d590ffcdf558528eccca035803b
Parents: 8b968ec
Author: Alex Harui <ah...@apache.org>
Authored: Tue Oct 13 12:32:24 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Oct 13 12:33:19 2015 -0700

----------------------------------------------------------------------
 build.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7c149ed9/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
index c6b6c4a..f5a58b7 100644
--- a/build.xml
+++ b/build.xml
@@ -184,7 +184,7 @@
     <target name="prebuild" depends="check-compile-env,thirdparty-downloads,create-description,create-config"
         description="Stuff that needs to be done before any builds." unless="airsdk.found"/>
 
-    <target name="check-compile-env" depends="check-playerglobal-home,check-air-home,check-flex-home,check-falcon-home,check-falconjx-home" unless="airsdk.found"
+    <target name="check-compile-env" depends="check-playerglobal-home,check-air-home,check-falcon-home,check-falconjx-home" unless="airsdk.found"
         description="Check for the required environment variables for compilation.">
             <echo>OS: ${os.name} / ${os.version} / ${os.arch}</echo>
             <echo>VM: ${java.vm.name} / ${java.vm.version}</echo>
@@ -524,7 +524,7 @@
         <antcall target="stage-scripts"/>
     </target>
         
-    <target name="stage-source-no-scripts" >
+    <target name="stage-source-no-scripts" depends="check-flex-home" >
         <antcall target="clean-temp"/>
         
         <copy todir="${basedir}/temp" includeEmptyDirs="false">
@@ -1268,7 +1268,7 @@
         <taskdef resource="flexTasks.tasks" classpath="${FALCON_HOME}/lib/falcon-flexTasks.jar"/>
     </target>
 
-    <target name="basictests" depends="load-task" description="run basic tests using mustella">
+    <target name="basictests" depends="check-flex-home,load-task" description="run basic tests using mustella">
 
         <property name="FLEX_HOME" value="${basedir}" />
         <mxmlc fork="true" debug="true"


[02/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Handle case where fill could be a LinearGradient or a SolidColor

Posted by pe...@apache.org.
Handle case where fill could be a LinearGradient or a SolidColor


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

Branch: refs/heads/core_js_to_as
Commit: 3c8b087281c79af445de51ec3e8c3dfac660ac19
Parents: 28c5972
Author: OmPrakash Muppirala <bi...@gmail.com>
Authored: Wed Sep 30 10:48:21 2015 +0200
Committer: OmPrakash Muppirala <bi...@gmail.com>
Committed: Wed Sep 30 10:48:47 2015 +0200

----------------------------------------------------------------------
 .../charts/supportClasses/BoxItemRenderer.as    | 22 ++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3c8b0872/frameworks/projects/Charts/asjs/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/asjs/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as b/frameworks/projects/Charts/asjs/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
index 1bec3b1..f94bf84 100644
--- a/frameworks/projects/Charts/asjs/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
+++ b/frameworks/projects/Charts/asjs/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
@@ -25,6 +25,7 @@ package org.apache.flex.charts.supportClasses
 	import org.apache.flex.core.graphics.IStroke;
 	import org.apache.flex.core.graphics.Rect;
 	import org.apache.flex.core.graphics.SolidColor;
+	import org.apache.flex.core.graphics.LinearGradient;
 	import org.apache.flex.html.supportClasses.DataItemRenderer;
 	
 	/**
@@ -230,7 +231,7 @@ package org.apache.flex.charts.supportClasses
 			}
 		}
 		
-		private var hoverFill:SolidColor;
+		private var hoverFill:IFill;
 		
 		override public function updateRenderer():void
 		{
@@ -238,9 +239,22 @@ package org.apache.flex.charts.supportClasses
 			
 			if (down||selected||hovered) {
 				if (hoverFill == null) {
-					hoverFill = new SolidColor();
-					hoverFill.color = (fill as SolidColor).color;
-					hoverFill.alpha = 0.5;
+					if(fill is SolidColor)
+					{
+						hoverFill = new SolidColor();
+						(hoverFill as SolidColor).color = (fill as SolidColor).color;
+						(hoverFill as SolidColor).alpha = 0.5;
+					}
+					else if(fill is LinearGradient)
+					{
+						hoverFill = new LinearGradient();
+						(hoverFill as LinearGradient).entries = (fill as LinearGradient).entries;
+						for (var i:int=0; i<(hoverFill as LinearGradient).entries; i++)
+						{
+							(hoverFill as LinearGradient).entries[i].alpha = 0.5;
+						}
+					}
+					
 				}
 				filledRect.fill = hoverFill;
 			}


[19/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - handle binary FlexUnit packaging

Posted by pe...@apache.org.
handle binary FlexUnit packaging


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

Branch: refs/heads/core_js_to_as
Commit: 029eececa0863c56b33d9b90eee3d214b0732ba6
Parents: 0da5b9a
Author: Alex Harui <ah...@apache.org>
Authored: Tue Oct 13 12:33:12 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Oct 13 12:33:19 2015 -0700

----------------------------------------------------------------------
 frameworks/projects/Core/as/tests/build.xml   | 26 ++++++++++++++++++----
 frameworks/projects/HTML/asjs/tests/build.xml | 24 +++++++++++++++++---
 2 files changed, 43 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/029eecec/frameworks/projects/Core/as/tests/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/tests/build.xml b/frameworks/projects/Core/as/tests/build.xml
index 34c6700..85e142e 100644
--- a/frameworks/projects/Core/as/tests/build.xml
+++ b/frameworks/projects/Core/as/tests/build.xml
@@ -52,9 +52,27 @@
         property="FLEXUNIT_HOME"
         value="${env.FLEXUNIT_HOME}"/>
     
+    <available file="${FLEXUNIT_HOME}/FlexUnit4/target"
+        type="dir"
+        property="FLEXUNIT_LIBPATH1"
+        value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4/target" />
+    <property name="FLEXUNIT_LIBPATH1" value="-library-path+=${FLEXUNIT_HOME}/flexunit" />
+        
+    <available file="${FLEXUNIT_HOME}/FlexUnit4CIListener/target"
+        type="dir"
+        property="FLEXUNIT_LIBPATH2"
+        value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4CIListener/target" />
+    <property name="FLEXUNIT_LIBPATH2" value="-define=CONFIG::dummy,false" />
+        
+    <available file="${FLEXUNIT_HOME}/FlexUnit4AntTasks/target"
+        type="dir"
+        property="FLEXUNIT_CLASSPATH"
+        value="${FLEXUNIT_HOME}/FlexUnit4AntTasks/target" />
+    <property name="FLEXUNIT_CLASSPATH" value="${FLEXUNIT_HOME}/flexunit" />
+        
     <target name="main" depends="clean,compile,test" description="Clean test of FlexJSUI.swc">
     </target>
-    
+
     <target name="clean">
         <delete failonerror="false">
             <fileset dir="${basedir}">
@@ -107,15 +125,15 @@
             <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
             <arg value="-source-path+=${FLEXJS_HOME}/frameworks/projects/Core/as/src" />
             <arg value="-library-path+=${FLEXJS_HOME}/frameworks/libs" />
-            <arg value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4/target" />
-            <arg value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4CIListener/target" />
+            <arg value="${FLEXUNIT_LIBPATH1}" />
+            <arg value="${FLEXUNIT_LIBPATH2}" />
         </mxmlc>
     </target>
 
     <target name="test">
         <taskdef resource="flexUnitTasks.tasks">
             <classpath>
-                <fileset dir="${FLEXUNIT_HOME}/FlexUnit4AntTasks/target">
+                <fileset dir="${FLEXUNIT_CLASSPATH}">
                     <include name="flexUnitTasks*.jar" />
                 </fileset>
             </classpath>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/029eecec/frameworks/projects/HTML/asjs/tests/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/tests/build.xml b/frameworks/projects/HTML/asjs/tests/build.xml
index e89d550..4a12b75 100644
--- a/frameworks/projects/HTML/asjs/tests/build.xml
+++ b/frameworks/projects/HTML/asjs/tests/build.xml
@@ -52,6 +52,24 @@
         property="FLEXUNIT_HOME"
         value="${env.FLEXUNIT_HOME}"/>
 
+    <available file="${FLEXUNIT_HOME}/FlexUnit4/target"
+        type="dir"
+        property="FLEXUNIT_LIBPATH1"
+        value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4/target" />
+        <property name="FLEXUNIT_LIBPATH1" value="-library-path+=${FLEXUNIT_HOME}/flexunit" />
+
+    <available file="${FLEXUNIT_HOME}/FlexUnit4CIListener/target"
+        type="dir"
+        property="FLEXUNIT_LIBPATH2"
+        value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4CIListener/target" />
+        <property name="FLEXUNIT_LIBPATH2" value="-define=CONFIG::dummy,false" />
+
+    <available file="${FLEXUNIT_HOME}/FlexUnit4AntTasks/target"
+        type="dir"
+        property="FLEXUNIT_CLASSPATH"
+        value="${FLEXUNIT_HOME}/FlexUnit4AntTasks/target" />
+        <property name="FLEXUNIT_CLASSPATH" value="${FLEXUNIT_HOME}/flexunit" />
+
     <target name="main" depends="clean,compile,test" description="Clean test of FlexJSUI.swc">
     </target>
     
@@ -103,15 +121,15 @@
             <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
             <arg value="-source-path+=${FLEXJS_HOME}/frameworks/projects/HTML/asjs/src" />
             <arg value="-library-path+=${FLEXJS_HOME}/frameworks/libs" />
-            <arg value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4/target" />
-            <arg value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4CIListener/target" />
+            <arg value="${FLEXUNIT_LIBPATH1}" />
+            <arg value="${FLEXUNIT_LIBPATH2}" />
         </mxmlc>
     </target>
 
     <target name="test">
         <taskdef resource="flexUnitTasks.tasks">
             <classpath>
-                <fileset dir="${FLEXUNIT_HOME}/FlexUnit4AntTasks/target">
+                <fileset dir="${FLEXUNIT_CLASSPATH}">
                     <include name="flexUnitTasks*.jar" />
                 </fileset>
             </classpath>


[14/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - MobileTrader example now fully operational.

Posted by pe...@apache.org.
MobileTrader example now fully operational.


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

Branch: refs/heads/core_js_to_as
Commit: 258e69239b4d4a839c047e05c14903b1e5e80101
Parents: 2997078
Author: Peter Ent <pe...@apache.org>
Authored: Thu Oct 8 15:25:40 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Thu Oct 8 15:25:40 2015 -0400

----------------------------------------------------------------------
 .../flexjs/MobileTrader/src/controller/AlertsViewController.as    | 1 +
 examples/flexjs/MobileTrader/src/models/ProductsModel.as          | 3 ++-
 examples/flexjs/MobileTrader/src/views/AlertsView.mxml            | 2 +-
 examples/flexjs/MobileTrader/src/views/WatchListView.mxml         | 2 +-
 4 files changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/258e6923/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as b/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as
index 254cd18..f8373ca 100644
--- a/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as
+++ b/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as
@@ -131,6 +131,7 @@ package controller
 						alert.message = "Now @"+alert.stock.last;
 					}
 				}
+				alerts.itemUpdatedAt(i);
 			}
 			
 			var newEvent:Event = new Event("alertsUpdate");

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/258e6923/examples/flexjs/MobileTrader/src/models/ProductsModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/models/ProductsModel.as b/examples/flexjs/MobileTrader/src/models/ProductsModel.as
index b6f91ad..f4b2008 100755
--- a/examples/flexjs/MobileTrader/src/models/ProductsModel.as
+++ b/examples/flexjs/MobileTrader/src/models/ProductsModel.as
@@ -108,7 +108,7 @@ package models
 			stock = new Stock(symbol);
 			
 			_watchList.addItem(stock);
-			dispatchEvent(new Event("update"));
+	//		dispatchEvent(new Event("update"));
 			
 			updateStockData(stock);
 			return stock;
@@ -156,6 +156,7 @@ package models
 				var stock:Stock = _watchList.getItemAt(i) as Stock;
 				if (stock.symbol == sym) {
 					stock.updateFromData(responseData);
+					_watchList.itemUpdatedAt(i);
 					break;
 				}
 			}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/258e6923/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/views/AlertsView.mxml b/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
index 96c9b86..3bc76bb 100755
--- a/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
+++ b/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
@@ -48,7 +48,6 @@ limitations under the License.
 			private function onAlertSet():void
 			{
 				dispatchEvent(new org.apache.flex.events.Event("alertSet"));
-				dataGrid.model.dispatchEvent(new org.apache.flex.events.Event("dataProviderChanged"));
 			}
 		]]>
 	</fx:Script>
@@ -67,6 +66,7 @@ limitations under the License.
 	
 	<js:DataGrid id="dataGrid" x="0" y="40" width="100%" height="200">
 		<js:beads>
+			<js:DataProviderChangeNotifier sourceID="dataModel" propertyName="alerts" />
 			<js:SimpleBinding
 				eventName="alertsUpdate"
 				sourceID="dataModel"

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/258e6923/examples/flexjs/MobileTrader/src/views/WatchListView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/views/WatchListView.mxml b/examples/flexjs/MobileTrader/src/views/WatchListView.mxml
index ec70e59..46c7434 100755
--- a/examples/flexjs/MobileTrader/src/views/WatchListView.mxml
+++ b/examples/flexjs/MobileTrader/src/views/WatchListView.mxml
@@ -60,7 +60,6 @@ limitations under the License.
 			private function addSymbol():void
 			{
 				dispatchEvent(new org.apache.flex.events.Event("addSymbol"));
-				dataGrid.model.dispatchEvent(new org.apache.flex.events.Event("dataProviderChanged"));
 			}
 			
 			public var selectedStockIndex:Number;
@@ -103,6 +102,7 @@ limitations under the License.
 		
 	<js:DataGrid id="dataGrid" width="100%" height="85%" change="selectRow()" className="WatchListDataGrid">
 		<js:beads>
+			<js:DataProviderChangeNotifier sourceID="dataModel" propertyName="watchList" />
 			<js:SimpleBinding
 				eventName="update"
 				sourceID="dataModel"


[39/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Merge branch 'develop' into core_js_to_as

Posted by pe...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/DataItemRenderer.as
----------------------------------------------------------------------
diff --cc frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/DataItemRenderer.as
index 9aef795,f14c736..ae2612c
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/DataItemRenderer.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/DataItemRenderer.as
@@@ -18,19 -18,11 +18,19 @@@
  ////////////////////////////////////////////////////////////////////////////////
  package org.apache.flex.html.supportClasses
  {
 -	import flash.display.Sprite;
 +	COMPILE::AS3
 +	{
- 		import flash.display.Sprite;			
++		import flash.display.Sprite;
 +	}
 +	COMPILE::JS
 +	{
- 		import org.apache.flex.core.WrappedHTMLElement;			
- 		import org.apache.flex.html.beads.controllers.ItemRendererMouseController;			
++		import org.apache.flex.core.WrappedHTMLElement;
++		import org.apache.flex.html.beads.controllers.ItemRendererMouseController;
 +	}
  
  	/**
  	 *  The DataItemRenderer class is the base class for most itemRenderers. This class
--	 *  extends org.apache.flex.html.supportClasses.UIItemRendererBase and 
++	 *  extends org.apache.flex.html.supportClasses.UIItemRendererBase and
  	 *  includes row and column index values.
  	 *
  	 *  @langversion 3.0
@@@ -52,9 -44,9 +52,9 @@@
  		{
  			super();
  		}
--		
++
  		private var _columnIndex:int;
--		
++
  		/**
  		 *  The index of the column the itemRenderer represents.
  		 *
@@@ -71,9 -63,9 +71,9 @@@
  		{
  			_columnIndex = value;
  		}
--		
++
  		private var _rowIndex:int;
--		
++
  		/**
  		 *  The index of the row the itemRenderer represents.
  		 *
@@@ -90,9 -82,9 +90,9 @@@
  		{
  			_rowIndex = value;
  		}
--		
++
  		private var _dataField:String;
--		
++
  		/**
  		 *  The name of the field within the data the itemRenderer should use.
  		 *
@@@ -109,13 -101,9 +109,13 @@@
  		{
  			_dataField = value;
  		}
--		
++
 +		COMPILE::AS3
  		private var background:Sprite;
 -		
 +
 +		COMPILE::JS
 +		private var controller:ItemRendererMouseController;
- 		
++
  		/**
  		 * @private
  		 */
@@@ -123,56 -110,22 +123,56 @@@
  		override public function addedToParent():void
  		{
  			super.addedToParent();
--			
++
  			background = new Sprite();
  			addChild(background);
  		}
--		
++
  		/**
  		 * @private
  		 */
  		override public function updateRenderer():void
  		{
 -			super.updateRenderer();
 -			
 -			background.graphics.clear();
 -			background.graphics.beginFill(useColor, 1);
 -			background.graphics.drawRect(0, 0, this.width, this.height);
 -			background.graphics.endFill();
 +			COMPILE::AS3
 +			{
 +				super.updateRenderer();
- 				
++
 +				background.graphics.clear();
 +				background.graphics.beginFill(backgroundColor, (down||selected||hovered)?1:0);
 +				background.graphics.drawRect(0, 0, width, height);
 +				background.graphics.endFill();
 +			}
 +			COMPILE::JS
 +			{
 +				if (selected)
 +					element.style.backgroundColor = '#9C9C9C';
 +				else if (hovered)
 +					element.style.backgroundColor = '#ECECEC';
 +				else
 +					element.style.backgroundColor = null;
 +			}
  		}
- 		
++
 +		/**
 +		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- 		 * 
++		 *
 +		 */
 +		COMPILE::JS
 +		override protected function createElement():WrappedHTMLElement
- 		{				
++		{
 +			element = document.createElement('div') as WrappedHTMLElement;
 +			positioner = element;
 +			positioner.style.position = 'relative';
- 			
++
 +			element.flexjs_wrapper = this;
 +			className = 'DataItemRenderer';
- 						
++
 +			controller = new ItemRendererMouseController();
 +			controller.strand = this;
- 			
++
 +			return element;
 +		}
- 		
++
 +
  	}
  }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ScrollingViewport.as
----------------------------------------------------------------------
diff --cc frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ScrollingViewport.as
index b87f975,96318c7..395fea0
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ScrollingViewport.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ScrollingViewport.as
@@@ -30,105 -28,156 +30,125 @@@ package org.apache.flex.html.supportCla
  	import org.apache.flex.core.IUIBase;
  	import org.apache.flex.core.IViewport;
  	import org.apache.flex.core.IViewportModel;
 -	import org.apache.flex.core.IViewportScroller;
 +    COMPILE::AS3
 +    {
-         import org.apache.flex.core.IViewportScroller;            
++        import org.apache.flex.core.IViewportScroller;
 +    }
  	import org.apache.flex.core.UIBase;
  	import org.apache.flex.events.Event;
 -    import org.apache.flex.geom.Size;
 +	import org.apache.flex.geom.Size;
  	import org.apache.flex.html.beads.ScrollBarView;
  	import org.apache.flex.html.beads.models.ScrollBarModel;
--	
++
+ 	/**
 -	 * The ScrollingViewport extends the Viewport class by adding horizontal and 
++	 * The ScrollingViewport extends the Viewport class by adding horizontal and
+ 	 * vertical scroll bars, if needed, to the content area of a Container. In
+ 	 * addition, the content of the Container is clipped so that items extending
+ 	 * outside the Container are hidden and reachable only by scrolling.
 -	 *  
++	 *
+ 	 *  @langversion 3.0
+ 	 *  @playerversion Flash 10.2
+ 	 *  @playerversion AIR 2.6
+ 	 *  @productversion FlexJS 0.0
+ 	 */
  	public class ScrollingViewport extends Viewport implements IBead, IViewport
--	{		
++	{
+ 		/**
+ 		 * Constructor
 -	     *  
++	     *
+ 	     *  @langversion 3.0
+ 	     *  @playerversion Flash 10.2
+ 	     *  @playerversion AIR 2.6
+ 	     *  @productversion FlexJS 0.0
+ 		 */
  		public function ScrollingViewport()
  		{
  		}
 -		
 -		private var _showsVerticalScrollBar:Boolean = true;
 -		
 -		/**
 -		 * Determines whether or not the vertical scroll bar will show if needed.
 -		 * The default is true, it will show when needed.
 -		 *  
 -		 *  @langversion 3.0
 -		 *  @playerversion Flash 10.2
 -		 *  @playerversion AIR 2.6
 -		 *  @productversion FlexJS 0.0
 -		 */
 -		public function get showsVerticalScrollBar():Boolean
 -		{
 -			return _showsVerticalScrollBar;
 -		}
 -		public function set showsVerticalScrollBar(value:Boolean):void
 -		{
 -			_showsVerticalScrollBar = value;
 -		}
 -		
 -		private var _showsHorizontalScrollBar:Boolean = true;
--		
 -		/**
 -		 * Determines whether or not the horizontal scroll bar will show if needed.
 -		 * The default is true, it will show when needed.
 -		 *  
 -		 *  @langversion 3.0
 -		 *  @playerversion Flash 10.2
 -		 *  @playerversion AIR 2.6
 -		 *  @productversion FlexJS 0.0
 -		 */
 -		public function get showsHorizontalScrollBar():Boolean
 -		{
 -			return _showsHorizontalScrollBar;
 -		}
 -		public function set showsHorizontalScrollBar(value:Boolean):void
 -		{
 -			_showsHorizontalScrollBar = value;
 -		}
 -				
++
 +        COMPILE::AS3
  		private var _verticalScroller:ScrollBar;
-         
 -		
 -		/**
 -		 * The vertical scrolling component element.
 -		 *  
 -		 *  @langversion 3.0
 -		 *  @playerversion Flash 10.2
 -		 *  @playerversion AIR 2.6
 -		 *  @productversion FlexJS 0.0
 -		 */
++
 +        COMPILE::AS3
  		public function get verticalScroller():IViewportScroller
  		{
  			return _verticalScroller;
  		}
--		
++
 +        COMPILE::AS3
  		private var _horizontalScroller:ScrollBar
-         
 -		
 -		/**
 -		 * The horizontal scrolling component element.
 -		 *  
 -		 *  @langversion 3.0
 -		 *  @playerversion Flash 10.2
 -		 *  @playerversion AIR 2.6
 -		 *  @productversion FlexJS 0.0
 -		 */
++
 +        COMPILE::AS3
  		public function get horizontalScroller():IViewportScroller
  		{
  			return _horizontalScroller;
  		}
--        
++
 +        COMPILE::AS3
          private var _verticalScrollPosition:Number = 0;
-         
 -		
 -		
 -		/**
 -		 * The position of top of the content, measured in pixels, represented by
 -		 * the vertical scroller. 
 -		 *  
 -		 *  @langversion 3.0
 -		 *  @playerversion Flash 10.2
 -		 *  @playerversion AIR 2.6
 -		 *  @productversion FlexJS 0.0
 -		 */
++
          public function get verticalScrollPosition():Number
          {
 -            return _verticalScrollPosition;
 +            COMPILE::AS3
 +            {
-                 return _verticalScrollPosition;                    
++                return _verticalScrollPosition;
 +            }
 +            COMPILE::JS
 +            {
 +                return this.contentView.positioner.scrollTop;
-             }            
++            }
          }
          public function set verticalScrollPosition(value:Number):void
          {
 -            _verticalScrollPosition = value;
 -            handleVerticalScrollChange();
 +            COMPILE::AS3
 +            {
 +                _verticalScrollPosition = value;
-                 handleVerticalScrollChange();                    
++                handleVerticalScrollChange();
 +            }
 +            COMPILE::JS
 +            {
-                 this.contentView.positioner.scrollTop = value;                
++                this.contentView.positioner.scrollTop = value;
 +            }
          }
--        
++
 +        COMPILE::AS3
          private var _horizontalScrollPosition:Number = 0;
-         
 -		
 -		/**
 -		 * The position of the left edge of the content, measured in pixels, 
 -		 * represented by the horizontal scroller.
 -		 *  
 -		 *  @langversion 3.0
 -		 *  @playerversion Flash 10.2
 -		 *  @playerversion AIR 2.6
 -		 *  @productversion FlexJS 0.0
 -		 */
++
          public function get horizontalScrollPosition():Number
          {
 -            return _horizontalScrollPosition;
 +            COMPILE::AS3
 +            {
-                 return _horizontalScrollPosition;                    
++                return _horizontalScrollPosition;
 +            }
 +            COMPILE::JS
 +            {
-                 return this.contentView.positioner.scrollLeft;                
++                return this.contentView.positioner.scrollLeft;
 +            }
          }
          public function set horizontalScrollPosition(value:Number):void
          {
 -            _horizontalScrollPosition = value;
 -            handleHorizontalScrollChange();
 +            COMPILE::AS3
 +            {
 +                _horizontalScrollPosition = value;
-                 handleHorizontalScrollChange();                    
++                handleHorizontalScrollChange();
 +            }
 +            COMPILE::JS
 +            {
-                 this.contentView.positioner.scrollLeft = value;                
++                this.contentView.positioner.scrollLeft = value;
 +            }
 +        }
- 		
++
 +        COMPILE::JS
 +        override public function set strand(value:IStrand):void
 +        {
 +            super.strand = value;
 +            contentView.element.style.overflow = 'auto';
          }
-         
 -		
++
          private var viewportWidth:Number;
          private var viewportHeight:Number;
 -		
++
          /**
--         * @copy org.apache.flex.core.IViewport 
++         * @copy org.apache.flex.core.IViewport
           */
          override public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
          {
@@@ -136,123 -185,116 +156,123 @@@
             viewportWidth = width;
             viewportHeight = height;
          }
--        
++
          /**
--         * @copy org.apache.flex.core.IViewport 
++         * @copy org.apache.flex.core.IViewport
           */
  		override public function layoutViewportAfterContentLayout():Size
  		{
 -            var hadV:Boolean = _verticalScroller != null && _verticalScroller.visible;            
 -            var hadH:Boolean = _horizontalScroller != null && _horizontalScroller.visible;
 -            var contentSize:Size;
 -            do
 +            COMPILE::AS3
              {
-                 var hadV:Boolean = _verticalScroller != null && _verticalScroller.visible;            
 -                contentSize = super.layoutViewportAfterContentLayout();
 -                if (isNaN(viewportHeight))
 -                    viewportHeight = contentSize.height;
 -                if (isNaN(viewportWidth))
 -                    viewportWidth = contentSize.width;
 -                    
 -    			var host:UIBase = UIBase(_strand);
 -    			var visibleWidth:Number;
 -                var visibleHeight:Number;
 -                var needV:Boolean = (contentSize.height > viewportHeight) && showsVerticalScrollBar;
 -                var needH:Boolean = (contentSize.width > viewportWidth) && showsHorizontalScrollBar;
 -                
 -                if (needV)
++                var hadV:Boolean = _verticalScroller != null && _verticalScroller.visible;
 +                var hadH:Boolean = _horizontalScroller != null && _horizontalScroller.visible;
 +                var contentSize:Size;
 +                do
                  {
 -                    if (_verticalScroller == null) {
 -                        _verticalScroller = createVerticalScrollBar();
 -						(host as IContentViewHost).strandChildren.addElement(_verticalScroller);
 +                    contentSize = super.layoutViewportAfterContentLayout();
 +                    if (isNaN(viewportHeight))
 +                        viewportHeight = contentSize.height;
 +                    if (isNaN(viewportWidth))
 +                        viewportWidth = contentSize.width;
-                     
++
 +                    var host:UIBase = UIBase(_strand);
 +                    var visibleWidth:Number;
 +                    var visibleHeight:Number;
 +                    var needV:Boolean = contentSize.height > viewportHeight;
 +                    var needH:Boolean = contentSize.width > viewportWidth;
-                     
++
 +                    if (needV)
 +                    {
 +                        if (_verticalScroller == null) {
 +                            _verticalScroller = createVerticalScrollBar();
 +                            (host as IContentViewHost).strandChildren.addElement(_verticalScroller);
 +                        }
                      }
 -                }
 -                if (needH)
 -                {
 -                    if (_horizontalScroller == null) {
 -                        _horizontalScroller = createHorizontalScrollBar();
 -						(host as IContentViewHost).strandChildren.addElement(_horizontalScroller);
 +                    if (needH)
 +                    {
 +                        if (_horizontalScroller == null) {
 +                            _horizontalScroller = createHorizontalScrollBar();
 +                            (host as IContentViewHost).strandChildren.addElement(_horizontalScroller);
 +                        }
                      }
-                     
 -                }
 -                
 -                if (needV)
 -                {
 -                    _verticalScroller.visible = true;
 -                    _verticalScroller.x = contentArea.x + viewportWidth - _verticalScroller.width;
 -                    _verticalScroller.y = contentArea.y;
 -                    _verticalScroller.setHeight(viewportHeight - (needH ? _horizontalScroller.height : 0), true);
 -                    visibleWidth = _verticalScroller.x;
 -                }
 -                else if (_verticalScroller)
 -                    _verticalScroller.visible = false;
 -    			
 -    			if (needH) 
 -                {
 -                    _horizontalScroller.visible = true;
 -    				_horizontalScroller.x = contentArea.x;
 -    				_horizontalScroller.y = contentArea.y + viewportHeight - _horizontalScroller.height;
 -                    _horizontalScroller.setWidth(viewportWidth - (needV ? _verticalScroller.width : 0), true);
 -                    visibleHeight = _horizontalScroller.y;
 -    			}
 -    			
 -                var needsLayout:Boolean = false;
 -                // resize content area if needed to get out from under scrollbars
 -                if (!isNaN(visibleWidth) || !isNaN(visibleHeight))
++
 +                    if (needV)
 +                    {
 +                        _verticalScroller.visible = true;
 +                        _verticalScroller.x = contentArea.x + viewportWidth - _verticalScroller.width;
 +                        _verticalScroller.y = contentArea.y;
 +                        _verticalScroller.setHeight(viewportHeight - (needH ? _horizontalScroller.height : 0), true);
 +                        visibleWidth = _verticalScroller.x;
 +                    }
 +                    else if (_verticalScroller)
 +                        _verticalScroller.visible = false;
-                     
-                     if (needH) 
++
++                    if (needH)
 +                    {
 +                        _horizontalScroller.visible = true;
 +                        _horizontalScroller.x = contentArea.x;
 +                        _horizontalScroller.y = contentArea.y + viewportHeight - _horizontalScroller.height;
 +                        _horizontalScroller.setWidth(viewportWidth - (needV ? _verticalScroller.width : 0), true);
 +                        visibleHeight = _horizontalScroller.y;
 +                    }
-                     
++
 +                    var needsLayout:Boolean = false;
 +                    // resize content area if needed to get out from under scrollbars
 +                    if (!isNaN(visibleWidth) || !isNaN(visibleHeight))
 +                    {
 +                        if (!isNaN(visibleWidth))
 +                            needsLayout = visibleWidth != contentView.width;
 +                        if (!isNaN(visibleHeight))
 +                            needsLayout = visibleHeight != contentView.height;
 +                        if (!isNaN(visibleWidth) && !isNaN(visibleHeight))
 +                            contentArea.setWidthAndHeight(visibleWidth, visibleHeight, false);
 +                        else if (!isNaN(visibleWidth))
 +                            contentArea.setWidth(visibleWidth, false);
 +                        else if (!isNaN(visibleHeight))
 +                            contentArea.setHeight(visibleHeight, false);
 +                    }
 +                    if (needsLayout)
 +                    {
 +                        var layout:IBeadLayout = host.getBeadByType(IBeadLayout) as IBeadLayout;
 +                        layout.layout();
 +                    }
 +                } while (needsLayout && (needV != hadV || needH == hadH));
 +                if (_verticalScroller)
                  {
 -                    if (!isNaN(visibleWidth))
 -                        needsLayout = visibleWidth != contentView.width;
 -                    if (!isNaN(visibleHeight))
 -                        needsLayout = visibleHeight != contentView.height;
 -                    if (!isNaN(visibleWidth) && !isNaN(visibleHeight))
 -                        contentArea.setWidthAndHeight(visibleWidth, visibleHeight, false);
 -                    else if (!isNaN(visibleWidth))
 -                        contentArea.setWidth(visibleWidth, false);
 -                    else if (!isNaN(visibleHeight))
 -                        contentArea.setHeight(visibleHeight, false);
 +                    ScrollBarModel(_verticalScroller.model).maximum = contentSize.height;
 +                    ScrollBarModel(_verticalScroller.model).pageSize = contentArea.height;
 +                    ScrollBarModel(_verticalScroller.model).pageStepSize = contentArea.height;
-                     if (contentSize.height > contentArea.height && 
++                    if (contentSize.height > contentArea.height &&
 +                        (contentSize.height - contentArea.height) < _verticalScrollPosition)
 +                        _verticalScrollPosition = contentSize.height - contentArea.height;
                  }
 -                if (needsLayout)
 +                if (_horizontalScroller)
                  {
 -                    var layout:IBeadLayout = host.getBeadByType(IBeadLayout) as IBeadLayout;
 -                    layout.layout();
 +                    ScrollBarModel(_horizontalScroller.model).maximum = contentSize.width;
 +                    ScrollBarModel(_horizontalScroller.model).pageSize = contentArea.width;
-                     ScrollBarModel(_horizontalScroller.model).pageStepSize = contentArea.width;                
-                     if (contentSize.width > contentArea.width && 
++                    ScrollBarModel(_horizontalScroller.model).pageStepSize = contentArea.width;
++                    if (contentSize.width > contentArea.width &&
 +                        (contentSize.width - contentArea.width) < _horizontalScrollPosition)
 +                        _horizontalScrollPosition = contentSize.width - contentArea.width;
                  }
-                 
 -            } while (needsLayout && (needV != hadV || needH == hadH));
 -            if (_verticalScroller)
 -            {
 -                ScrollBarModel(_verticalScroller.model).maximum = contentSize.height;
 -                ScrollBarModel(_verticalScroller.model).pageSize = contentArea.height;
 -                ScrollBarModel(_verticalScroller.model).pageStepSize = contentArea.height;
 -                if (contentSize.height > contentArea.height && 
 -                    (contentSize.height - contentArea.height) < _verticalScrollPosition)
 -                    _verticalScrollPosition = contentSize.height - contentArea.height;
++
 +                var rect:Rectangle = new Rectangle(_horizontalScrollPosition, _verticalScrollPosition,
 +                    (_verticalScroller != null && _verticalScroller.visible) ?
 +                    _verticalScroller.x : viewportWidth,
 +                    (_horizontalScroller != null && _horizontalScroller.visible) ?
 +                    _horizontalScroller.y : viewportHeight);
 +                contentArea.scrollRect = rect;
 +                return contentSize;
-                 
++
              }
 -            if (_horizontalScroller)
 +            COMPILE::JS
              {
 -                ScrollBarModel(_horizontalScroller.model).maximum = contentSize.width;
 -                ScrollBarModel(_horizontalScroller.model).pageSize = contentArea.width;
 -                ScrollBarModel(_horizontalScroller.model).pageStepSize = contentArea.width;                
 -                if (contentSize.width > contentArea.width && 
 -                    (contentSize.width - contentArea.width) < _horizontalScrollPosition)
 -                    _horizontalScrollPosition = contentSize.width - contentArea.width;
 +                return new Size(contentView.width, contentView.height);
              }
 -            
 -            var rect:Rectangle = new Rectangle(_horizontalScrollPosition, _verticalScrollPosition,
 -                        (_verticalScroller != null && _verticalScroller.visible) ?
 -                            _verticalScroller.x : viewportWidth,
 -                        (_horizontalScroller != null && _horizontalScroller.visible) ?
 -                            _horizontalScroller.y : viewportHeight);
 -            contentArea.scrollRect = rect;
 -            return contentSize;
 +
  		}
--		
 -		/**
 -		 * @private
 -		 */
++
 +		COMPILE::AS3
  		private function createVerticalScrollBar():ScrollBar
  		{
  			var vsbm:ScrollBarModel = new ScrollBarModel();
@@@ -260,17 -302,19 +280,17 @@@
  			vsbm.snapInterval = 1;
  			vsbm.stepSize = 1;
  			vsbm.value = 0;
--			
++
  			var vsb:VScrollBar;
  			vsb = new VScrollBar();
  			vsb.model = vsbm;
  			vsb.visible = false;
--			
--			vsb.addEventListener("scroll",handleVerticalScroll);			
++
++			vsb.addEventListener("scroll",handleVerticalScroll);
  			return vsb;
  		}
--		
 -		/**
 -		 * @private
 -		 */
++
 +        COMPILE::AS3
  		private function createHorizontalScrollBar():ScrollBar
  		{
  			var hsbm:ScrollBarModel = new ScrollBarModel();
@@@ -278,17 -322,19 +298,17 @@@
  			hsbm.snapInterval = 1;
  			hsbm.stepSize = 1;
  			hsbm.value = 0;
--			
++
  			var hsb:HScrollBar;
  			hsb = new HScrollBar();
  			hsb.model = hsbm;
  			hsb.visible = false;
--			
--			hsb.addEventListener("scroll",handleHorizontalScroll);			
++
++			hsb.addEventListener("scroll",handleHorizontalScroll);
  			return hsb;
  		}
--		
 -		/**
 -		 * @private
 -		 */
++
 +        COMPILE::AS3
  		private function handleVerticalScroll(event:Event):void
  		{
  			var host:UIBase = UIBase(_strand);
@@@ -296,11 -342,13 +316,11 @@@
  			var rect:Rectangle = contentArea.scrollRect;
  			rect.y = vpos;
  			contentArea.scrollRect = rect;
--			
++
  			_verticalScrollPosition = vpos;
  		}
--		
 -		/**
 -		 * @private
 -		 */
++
 +        COMPILE::AS3
  		private function handleHorizontalScroll(event:Event):void
  		{
  			var host:UIBase = UIBase(_strand);
@@@ -308,19 -356,23 +328,19 @@@
  			var rect:Rectangle = contentArea.scrollRect;
  			rect.x = hpos;
  			contentArea.scrollRect = rect;
--			
++
  			_horizontalScrollPosition = hpos;
  		}
--		
 -		/**
 -		 * @private
 -		 */
++
 +        COMPILE::AS3
  		private function handleVerticalScrollChange():void
  		{
  			if (_verticalScroller) {
  				ScrollBarModel(_verticalScroller.model).value = verticalScrollPosition;
  			}
  		}
--		
 -		/**
 -		 * @private
 -		 */
++
 +        COMPILE::AS3
  		private function handleHorizontalScrollChange():void
  		{
  			if (_horizontalScroller) {
@@@ -328,4 -380,4 +348,4 @@@
  			}
  		}
  	}
--}
++}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/Viewport.as
----------------------------------------------------------------------
diff --cc frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/Viewport.as
index 7daf6db,dc228f7..285282a
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/Viewport.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/Viewport.as
@@@ -32,27 -33,55 +32,50 @@@ package org.apache.flex.html.supportCla
      import org.apache.flex.geom.Size;
  	import org.apache.flex.html.beads.models.ScrollBarModel;
      import org.apache.flex.utils.CSSContainerUtils;
--	
++
      /**
-      * @copy org.apache.flex.core.IViewport
+      * A Viewport is the area of a Container set aside for displaying
+      * content and any scrolling controls.
 -	 *  
++	 *
+ 	 *  @langversion 3.0
+ 	 *  @playerversion Flash 10.2
+ 	 *  @playerversion AIR 2.6
+ 	 *  @productversion FlexJS 0.0
       */
  	public class Viewport implements IBead, IViewport
--	{	
++	{
+ 		/**
+ 		 * Constructor
 -	     *  
++	     *
+ 	     *  @langversion 3.0
+ 	     *  @playerversion Flash 10.2
+ 	     *  @playerversion AIR 2.6
+ 	     *  @productversion FlexJS 0.0
+ 		 */
  		public function Viewport()
  		{
  		}
--		
++
  		protected var contentArea:UIBase;
 -		
++
+ 		/**
+ 		 * Get the actual parent of the container's content.
 -	     *  
++	     *
+ 	     *  @langversion 3.0
+ 	     *  @playerversion Flash 10.2
+ 	     *  @playerversion AIR 2.6
+ 	     *  @productversion FlexJS 0.0
+ 		 */
          public function get contentView():IUIBase
          {
              return contentArea;
          }
--        
++
  		protected var _strand:IStrand;
--		
 -		/**
 -		 * @copy org.apache.flex.core.IStrand
 -	     *  
 -	     *  @langversion 3.0
 -	     *  @playerversion Flash 10.2
 -	     *  @playerversion AIR 2.6
 -	     *  @productversion FlexJS 0.0
 -		 */
++
 +        /**
 +         * @flexjsignorecoercion Class
 +         */
  		public function set strand(value:IStrand):void
  		{
  			_strand = value;
@@@ -63,18 -92,28 +86,28 @@@
                  contentArea = new c() as UIBase;
              }
  		}
--		
++
          /**
-          * @copy org.apache.flex.core.IViewport 
+          * @copy org.apache.flex.core.IViewport#setPosition()
 -	     *  
++	     *
+ 	     *  @langversion 3.0
+ 	     *  @playerversion Flash 10.2
+ 	     *  @playerversion AIR 2.6
+ 	     *  @productversion FlexJS 0.0
           */
          public function setPosition(x:Number, y:Number):void
          {
              contentArea.x = x;
              contentArea.y = y;
          }
--        
++
          /**
-          * @copy org.apache.flex.core.IViewport 
+          * @copy org.apache.flex.core.IViewport#layoutViewportBeforeContentLayout()
 -	     *  
++	     *
+ 	     *  @langversion 3.0
+ 	     *  @playerversion Flash 10.2
+ 	     *  @playerversion AIR 2.6
+ 	     *  @productversion FlexJS 0.0
           */
  		public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
  		{
@@@ -83,9 -122,14 +116,14 @@@
              if (!isNaN(height))
                  contentArea.height = height;
  		}
--		
++
          /**
-          * @copy org.apache.flex.core.IViewport 
+          * @copy org.apache.flex.core.IViewport#layoutViewportAfterContentLayout()
 -	     *  
++	     *
+ 	     *  @langversion 3.0
+ 	     *  @playerversion Flash 10.2
+ 	     *  @playerversion AIR 2.6
+ 	     *  @productversion FlexJS 0.0
           */
  		public function layoutViewportAfterContentLayout():Size
  		{
@@@ -95,7 -139,7 +133,7 @@@
              var maxWidth:Number = 0;
              var maxHeight:Number = 0;
              var num:Number = contentArea.numElements;
--            
++
              for (var i:int=0; i < num; i++) {
                  var child:IUIBase = contentArea.getElementAt(i) as IUIBase;
                  if (child == null || !child.visible) continue;
@@@ -104,10 -148,10 +142,10 @@@
                  maxWidth = Math.max(maxWidth, childXMax);
                  maxHeight = Math.max(maxHeight, childYMax);
              }
--            
++
              var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(this._strand);
              return new Size(maxWidth + padding.right, maxHeight + padding.bottom);
  		}
--		
++
  	}
--}
++}

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

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/basic-manifest.xml
----------------------------------------------------------------------
diff --cc frameworks/projects/HTML/basic-manifest.xml
index 0a7323d,77ddd5e..23dcccc
--- a/frameworks/projects/HTML/basic-manifest.xml
+++ b/frameworks/projects/HTML/basic-manifest.xml
@@@ -54,8 -54,7 +54,7 @@@
      <component id="HorizontalLayout" class="org.apache.flex.html.beads.layouts.HorizontalLayout"/>
      <component id="TileLayout" class="org.apache.flex.html.beads.layouts.TileLayout"/>
      <component id="ListView" class="org.apache.flex.html.beads.ListView"/>
-     <!-- component id="ListViewNoSelectionState" class="org.apache.flex.html.beads.ListViewNoSelectionState"/ -->
 -    <component id="MultilineTextFieldView" class="org.apache.flex.html.beads.MultilineTextFieldView"/>
 +    <!--<component id="MultilineTextFieldView" class="org.apache.flex.html.beads.MultilineTextFieldView"/>-->
      
      <component id="SimpleAlert" class="org.apache.flex.html.SimpleAlert"/>
      <component id="Alert" class="org.apache.flex.html.Alert"/>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/compile-asjs-config.xml
----------------------------------------------------------------------
diff --cc frameworks/projects/HTML/compile-asjs-config.xml
index c5061ec,eec0d6d..32f4278
--- a/frameworks/projects/HTML/compile-asjs-config.xml
+++ b/frameworks/projects/HTML/compile-asjs-config.xml
@@@ -45,24 -46,15 +45,25 @@@
              <!-- asjscompc won't 'link' these classes in, but will list their requires
                   if these swcs are on the external-library-path then their requires
                   will not be listed -->
 -            <path-element>../../libs/Binding.swc</path-element>
 -            <path-element>../../libs/Core.swc</path-element>
 -            <path-element>../../libs/Graphics.swc</path-element>
 -            <path-element>../../libs/Collections.swc</path-element>
 -            <path-element>../../libs/HTML.swc</path-element>
 +            <path-element>../../externs/Binding.swc</path-element>
 +            <path-element>../../externs/Core.swc</path-element>
 +            <path-element>../../externs/Graphics.swc</path-element>
++            <path-element>../../externs/Collections.swc</path-element>
          </library-path>
          
 +        <namespaces>
 +            <namespace>
 +                <uri>library://ns.apache.org/flexjs/basic</uri>
 +                <manifest>basic-manifest.xml</manifest>
 +            </namespace>
 +            <namespace>
 +                <uri>library://ns.apache.org/flexjs/svg</uri>
 +                <manifest>svg-manifest.xml</manifest>
 +            </namespace>
 +        </namespaces>
 +        
          <source-path>
 -            <path-element>asjs/src</path-element>
 +            <path-element>as/src</path-element>
          </source-path>
          
          <warn-no-constructor>false</warn-no-constructor>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/compile-config.xml
----------------------------------------------------------------------


[23/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - fix up falcon from binary package

Posted by pe...@apache.org.
fix up falcon from binary package


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

Branch: refs/heads/core_js_to_as
Commit: ad4955f3d890943a366e8f6d726a505a58dfa0ba
Parents: 9f70730
Author: Alex Harui <ah...@apache.org>
Authored: Thu Oct 15 10:04:02 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 15 10:04:02 2015 -0700

----------------------------------------------------------------------
 ApproveFlexJS.xml | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad4955f3/ApproveFlexJS.xml
----------------------------------------------------------------------
diff --git a/ApproveFlexJS.xml b/ApproveFlexJS.xml
index 2e1c29d..e2f7032 100644
--- a/ApproveFlexJS.xml
+++ b/ApproveFlexJS.xml
@@ -379,6 +379,7 @@
 
     <target name="build" depends="ask.build,get.dependencies,copy.downloads">
         <ant dir="${basedir}/${package.url.name}" target="main" />
+        <ant dir="${basedir}/${package.url.name}" target="examples" />
     </target>
 
     <target name="copy.downloads" if="${do.copy.downloads}" description="instead of actually downloading all of the dependencies, you can save lots of time by just copying from some other folder in some other SDK.">
@@ -417,14 +418,21 @@
              dest="${basedir}/${binary.jx.kit}.zip" verbose="true" skipexisting="true"/>
         <unzip src="${basedir}/${binary.jx.kit}.zip" dest="${basedir}/falconjx" />
         <ant dir="${basedir}/falconjx/compiler" antfile="downloads.xml" />
+        <ant dir="${basedir}/falconjx/compiler.jx" antfile="downloads.xml" />
         <!-- Copy compiler external dependencies -->
         <copy todir="${basedir}/falconjx/compiler/generated/dist/sdk/lib/external" overwrite="true" includeEmptyDirs="false">
             <fileset dir="${basedir}/falconjx/compiler/lib">
                 <include name="**"/>
             </fileset>
         </copy>
+        <!-- Copy compiler.jx external dependencies -->
+        <copy todir="${basedir}/falconjx/js/lib" overwrite="true" includeEmptyDirs="false">
+            <fileset dir="${basedir}/falconjx/compiler.jx/lib">
+                <include name="**"/>
+            </fileset>
+        </copy>
         <property name="FALCON_HOME" value="${basedir}/falconjx/compiler/generated/dist/sdk" />
-        <property name="FALCONJX_HOME" value="${basedir}/falconjx/compiler.jx" />
+        <property name="FALCONJX_HOME" value="${basedir}/falconjx/js" />
     </target>
     <target name="get.falcon.rc" if="falcon.rc">
         <property name="kit.jx.prefix" value="apache-flex-falconjx-0.5.0"/>
@@ -433,14 +441,21 @@
         dest="${basedir}/${binary.jx.kit}.zip" verbose="true" skipexisting="true"/>
         <unzip src="${basedir}/${binary.jx.kit}.zip" dest="${basedir}/falconjx" />
         <ant dir="${basedir}/falconjx/compiler" antfile="downloads.xml" />
+        <ant dir="${basedir}/falconjx/compiler.jx" antfile="downloads.xml" />
         <!-- Copy compiler external dependencies -->
         <copy todir="${basedir}/falconjx/compiler/generated/dist/sdk/lib/external" overwrite="true" includeEmptyDirs="false">
             <fileset dir="${basedir}/falconjx/compiler/lib">
                 <include name="**"/>
             </fileset>
         </copy>
+        <!-- Copy compiler.jx external dependencies -->
+        <copy todir="${basedir}/falconjx/js/lib" overwrite="true" includeEmptyDirs="false">
+            <fileset dir="${basedir}/falconjx/compiler.jx/lib">
+                <include name="**"/>
+            </fileset>
+        </copy>
         <property name="FALCON_HOME" value="${basedir}/falconjx/compiler/generated/dist/sdk" />
-        <property name="FALCONJX_HOME" value="${basedir}/falconjx/compiler.jx" />
+        <property name="FALCONJX_HOME" value="${basedir}/falconjx/js" />
     </target>
     <target name="get.flexunit.if.needed" unless="FLEXUNIT_HOME" >
         <property name="binary.flexunit.kit" value="apache-flex-flexunit-4.2.0-4.12.0-bin"/>


[20/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - some Ant versions don't auto create folders

Posted by pe...@apache.org.
some Ant versions don't auto create folders


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

Branch: refs/heads/core_js_to_as
Commit: 0da5b9aeb3b558b94b0423cae4101e6ae03ee625
Parents: 7c149ed
Author: Alex Harui <ah...@apache.org>
Authored: Tue Oct 13 12:32:52 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Oct 13 12:33:19 2015 -0700

----------------------------------------------------------------------
 frameworks/projects/Collections/build.xml | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/0da5b9ae/frameworks/projects/Collections/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Collections/build.xml b/frameworks/projects/Collections/build.xml
index d6c1e77..84f94da 100644
--- a/frameworks/projects/Collections/build.xml
+++ b/frameworks/projects/Collections/build.xml
@@ -73,6 +73,9 @@
         <echo message="Compiling libs/Collections.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        
+        <!-- make JS output folder now so include-file doesn't error -->
+        <mkdir dir="${basedir}/js/out" />
 
         <!-- Load the <compc> task. We can't do this at the <project> level -->
         <!-- because targets that run before flexTasks.jar gets built would fail. -->


[22/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - handle location of js.swc when running approval script

Posted by pe...@apache.org.
handle location of js.swc when running approval script


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

Branch: refs/heads/core_js_to_as
Commit: 9f707309d428a2796d6925240e263fc88f64aca9
Parents: 029eece
Author: Alex Harui <ah...@apache.org>
Authored: Thu Oct 15 10:03:38 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 15 10:03:38 2015 -0700

----------------------------------------------------------------------
 examples/native/ButtonExample/build.xml | 5 +++++
 examples/native/USStatesMap/build.xml   | 5 +++++
 2 files changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9f707309/examples/native/ButtonExample/build.xml
----------------------------------------------------------------------
diff --git a/examples/native/ButtonExample/build.xml b/examples/native/ButtonExample/build.xml
index 7c4b49d..2d99e0f 100644
--- a/examples/native/ButtonExample/build.xml
+++ b/examples/native/ButtonExample/build.xml
@@ -67,6 +67,11 @@
         property="JS.SWC"
         value="${FALCONJX_HOME}/../externs/js/out/bin/js.swc" />
         
+    <available file="${FALCONJX_HOME}/libs/js.swc"
+        type="file"
+        property="JS.SWC"
+        value="${FALCONJX_HOME}/libs/js.swc" />
+        
     <path id="lib.path">
         <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
     </path>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9f707309/examples/native/USStatesMap/build.xml
----------------------------------------------------------------------
diff --git a/examples/native/USStatesMap/build.xml b/examples/native/USStatesMap/build.xml
index 000251e..e2724f5 100644
--- a/examples/native/USStatesMap/build.xml
+++ b/examples/native/USStatesMap/build.xml
@@ -67,6 +67,11 @@
         property="JS.SWC"
         value="${FALCONJX_HOME}/../externs/js/out/bin/js.swc" />
         
+    <available file="${FALCONJX_HOME}/libs/js.swc"
+        type="file"
+        property="JS.SWC"
+        value="${FALCONJX_HOME}/libs/js.swc" />
+        
     <path id="lib.path">
         <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
     </path>


[40/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Merge branch 'develop' into core_js_to_as

Posted by pe...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Core/as/src/org/apache/flex/core/Application.as
----------------------------------------------------------------------
diff --cc frameworks/projects/Core/as/src/org/apache/flex/core/Application.as
index 97a65db,f3c6205..202806a
--- a/frameworks/projects/Core/as/src/org/apache/flex/core/Application.as
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/Application.as
@@@ -65,11 -63,12 +65,12 @@@ package org.apache.flex.cor
       *  @productversion FlexJS 0.0
       */
      [Event(name="preinitialize", type="org.apache.flex.events.Event")]
 -    
 +
      /**
       *  Dispatched at startup after the initial view has been
-      *  put on the display list.
+      *  put on the display list. This event is sent before
+      *  applicationComplete is dispatched.
 -     *  
 +     *
       *  @langversion 3.0
       *  @playerversion Flash 10.2
       *  @playerversion AIR 2.6
@@@ -91,10 -91,11 +92,11 @@@
       *  The Application class is the main class and entry point for a FlexJS
       *  application.  This Application class is different than the
       *  Flex SDK's mx:Application or spark:Application in that it does not contain
-      *  user interface elements.  Those UI elements go in the views.  This
-      *  Application class expects there to be a main model, a controller, and 
+      *  user interface elements.  Those UI elements go in the views (ViewBase).  This
 -     *  Application class expects there to be a main model, a controller, and 
++     *  Application class expects there to be a main model, a controller, and
       *  an initial view.
--     *  
++     *
+      *  @see ViewBase
       *  @langversion 3.0
       *  @playerversion Flash 10.2
       *  @playerversion AIR 2.6
@@@ -104,7 -105,7 +106,7 @@@
      {
          /**
           *  Constructor.
--         *  
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
@@@ -113,50 -114,57 +115,50 @@@
          public function Application()
          {
              super();
-             
 -			if (stage)
 -			{
 -				stage.align = StageAlign.TOP_LEFT;
 -				stage.scaleMode = StageScaleMode.NO_SCALE;
 -                // should be opt-in
 -				//stage.quality = StageQuality.HIGH_16X16_LINEAR;                
 -			}
 -			
 -            loaderInfo.addEventListener(flash.events.Event.INIT, initHandler);
++
 +            COMPILE::AS3 {
 +    			if (stage)
 +    			{
 +    				stage.align = StageAlign.TOP_LEFT;
 +    				stage.scaleMode = StageScaleMode.NO_SCALE;
 +                    // should be opt-in
-     				//stage.quality = StageQuality.HIGH_16X16_LINEAR;                
++    				//stage.quality = StageQuality.HIGH_16X16_LINEAR;
 +    			}
-     			
++
 +                loaderInfo.addEventListener(flash.events.Event.INIT, initHandler);
 +            }
          }
 -        
 -        /**
 -         *  The document property is used to provide
 -         *  a property lookup context for non-display objects.
 -         *  For Application, it points to itself.
 -         *
 -         *  @langversion 3.0
 -         *  @playerversion Flash 10.2
 -         *  @playerversion AIR 2.6
 -         *  @productversion FlexJS 0.0
 -         */
 -        public var document:Object = this;
--        
++
 +        COMPILE::AS3
          private function initHandler(event:flash.events.Event):void
          {
  			if (model is IBead) addBead(model as IBead);
  			if (controller is IBead) addBead(controller as IBead);
--			
++
              MouseEventConverter.setupAllConverters(stage);
--                
++
              for each (var bead:IBead in beads)
                  addBead(bead);
--                
++
              dispatchEvent(new org.apache.flex.events.Event("beadsAdded"));
  
              if (dispatchEvent(new org.apache.flex.events.Event("preinitialize", false, true)))
                  initialize();
              else
                  addEventListener(flash.events.Event.ENTER_FRAME, enterFrameHandler);
--            
++
          }
--        
++
 +        COMPILE::AS3
          private function enterFrameHandler(event:flash.events.Event):void
          {
              if (dispatchEvent(new org.apache.flex.events.Event("preinitialize", false, true)))
              {
                  removeEventListener(flash.events.Event.ENTER_FRAME, enterFrameHandler);
                  initialize();
--            }    
++            }
          }
--        
++
          /**
           *  This method gets called when all preinitialize handlers
           *  no longer call preventDefault();
@@@ -166,12 -174,11 +168,12 @@@
           *  @playerversion AIR 2.6
           *  @productversion FlexJS 0.0
           */
 +        COMPILE::AS3
          protected function initialize():void
          {
--            
++
              MXMLDataInterpreter.generateMXMLInstances(this, null, MXMLDescriptor);
--            
++
              dispatchEvent(new org.apache.flex.events.Event("initialize"));
  
              if (initialView)
@@@ -209,7 -216,7 +211,7 @@@
           *  determine the default values and other values
           *  for the application.  The most common choice
           *  is org.apache.flex.core.SimpleCSSValuesImpl.
--         * 
++         *
           *  @see org.apache.flex.core.SimpleCSSValuesImpl
           *
           *  @langversion 3.0
@@@ -225,7 -232,7 +227,7 @@@
  
          /**
           *  The initial view.
--         * 
++         *
           *  @see org.apache.flex.core.ViewBase
           *
           *  @langversion 3.0
@@@ -236,50 -243,22 +238,50 @@@
          [Bindable("__NoChangeEvent__")]
          public var initialView:ViewBase;
  
 -        [Bindable("__NoChangeEvent__")]
          /**
           *  The data model (for the initial view).
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
           *  @productversion FlexJS 0.0
           */
          [Bindable("__NoChangeEvent__")]
 +        COMPILE::AS3
          public var model:Object;
-         
+ 
 +        COMPILE::JS
 +        private var _model:Object;
-         
++
 +        /**
 +         *  The data model (for the initial view).
-          * 
++         *
 +         *  @langversion 3.0
 +         *  @playerversion Flash 10.2
 +         *  @playerversion AIR 2.6
 +         *  @productversion FlexJS 0.0
 +         */
 +        [Bindable("__NoChangeEvent__")]
 +        COMPILE::JS
 +        override public function get model():Object
 +        {
 +            return _model;
 +        }
-         
++
 +        /**
 +         *  @private
 +         */
 +        [Bindable("__NoChangeEvent__")]
 +        COMPILE::JS
 +        override public function set model(value:Object):void
 +        {
 +            _model = value;
 +        }
 +
          /**
           *  The controller.  The controller typically watches
           *  the UI for events and updates the model accordingly.
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
@@@ -291,9 -270,9 +293,9 @@@
           *  An array of data that describes the MXML attributes
           *  and tags in an MXML document.  This data is usually
           *  decoded by an MXMLDataInterpreter
--         * 
++         *
           *  @see org.apache.flex.utils.MXMLDataInterpreter
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
@@@ -308,16 -287,16 +310,16 @@@
           *  An method called by the compiler's generated
           *  code to kick off the setting of MXML attribute
           *  values and instantiation of child tags.
--         * 
++         *
           *  The call has to be made in the generated code
           *  in order to ensure that the constructors have
           *  completed first.
--         * 
++         *
           *  @param data The encoded data representing the
           *  MXML attributes.
--         * 
++         *
           *  @see org.apache.flex.utils.MXMLDataInterpreter
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
@@@ -327,25 -306,24 +329,25 @@@
          {
  			MXMLDataInterpreter.generateMXMLProperties(this, data);
          }
--        
++
          /**
           *  The array property that is used to add additional
           *  beads to an MXML tag.  From ActionScript, just
           *  call addBead directly.
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
           *  @productversion FlexJS 0.0
           */
          public var beads:Array;
--        
++
 +        COMPILE::AS3
          private var _beads:Vector.<IBead>;
--        
++
          /**
           *  @copy org.apache.flex.core.IStrand#addBead()
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
@@@ -359,10 -336,10 +361,10 @@@
              _beads.push(bead);
              bead.strand = this;
          }
--        
++
          /**
           *  @copy org.apache.flex.core.IStrand#getBeadByType()
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
@@@ -378,17 -354,16 +380,17 @@@
              }
              return null;
          }
--        
++
          /**
           *  @copy org.apache.flex.core.IStrand#removeBead()
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
           *  @productversion FlexJS 0.0
           */
 -        public function removeBead(value:IBead):IBead	
 +        COMPILE::AS3
-         public function removeBead(value:IBead):IBead	
++        public function removeBead(value:IBead):IBead
          {
              var n:int = _beads.length;
              for (var i:int = 0; i < n; i++)
@@@ -402,10 -377,33 +404,10 @@@
              }
              return null;
          }
 -        
 -        private var _info:Object;
 -        
 -        /**
 -         *  An Object containing information generated
 -         *  by the compiler that is useful at startup time.
 -         * 
 -         *  @langversion 3.0
 -         *  @playerversion Flash 10.2
 -         *  @playerversion AIR 2.6
 -         *  @productversion FlexJS 0.0
 -         */
 -        public function info():Object
 -        {
 -            if (!_info)
 -            {
 -                var mainClassName:String = getQualifiedClassName(this);
 -                var initClassName:String = "_" + mainClassName + "_FlexInit";
 -                var c:Class = ApplicationDomain.currentDomain.getDefinition(initClassName) as Class;
 -                _info = c.info();
 -            }
 -            return _info;
 -        }
--        
++
          /**
           *  @copy org.apache.flex.core.IParent#addElement()
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
@@@ -413,24 -411,18 +415,24 @@@
           */
          public function addElement(c:Object, dispatchEvent:Boolean = true):void
          {
 -            if (c is IUIBase)
 -            {
 -                addChild(IUIBase(c).element as DisplayObject);
 -                IUIBase(c).addedToParent();
 +            COMPILE::AS3 {
 +                if (c is IUIBase)
 +                {
 +                    addChild(IUIBase(c).element as DisplayObject);
 +                    IUIBase(c).addedToParent();
 +                }
 +                else
 +                    addChild(c as DisplayObject);
 +            }
 +            COMPILE::JS {
 +                this.element.appendChild(c.element);
 +                c.addedToParent();
              }
 -            else
 -                addChild(c as DisplayObject);
          }
--        
++
          /**
           *  @copy org.apache.flex.core.IParent#addElementAt()
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
@@@ -463,7 -441,7 +465,7 @@@
  
          /**
           *  @copy org.apache.flex.core.IParent#getElementAt()
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
@@@ -471,18 -449,12 +473,18 @@@
           */
          public function getElementAt(index:int):Object
          {
 -            return getChildAt(index);
 +            COMPILE::AS3 {
 +                return getChildAt(index);
 +            }
 +            COMPILE::JS {
 +                var children:NodeList = internalChildren();
 +                return children[index].flexjs_wrapper;
 +            }
          }
--        
++
          /**
           *  @copy org.apache.flex.core.IParent#getElementIndex()
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
@@@ -490,27 -462,15 +492,27 @@@
           */
          public function getElementIndex(c:Object):int
          {
 -            if (c is IUIBase)
 -                return getChildIndex(IUIBase(c).element as DisplayObject);
 +            COMPILE::AS3 {
 +                if (c is IUIBase)
 +                    return getChildIndex(IUIBase(c).element as DisplayObject);
-     
+ 
 -            return getChildIndex(c as DisplayObject);
 +                return getChildIndex(c as DisplayObject);
 +            }
 +            COMPILE::JS {
 +                var children:NodeList = internalChildren();
 +                var n:int = children.length;
 +                for (var i:int = 0; i < n; i++)
 +                {
 +                    if (children[i] == c.element)
 +                        return i;
 +                }
 +                return -1;
 +            }
          }
--        
++
          /**
           *  @copy org.apache.flex.core.IParent#removeElement()
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
@@@ -518,22 -478,17 +520,22 @@@
           */
          public function removeElement(c:Object, dispatchEvent:Boolean = true):void
          {
 -            if (c is IUIBase)
 -            {
 -                removeChild(IUIBase(c).element as DisplayObject);
 +            COMPILE::AS3 {
 +                if (c is IUIBase)
 +                {
 +                    removeChild(IUIBase(c).element as DisplayObject);
 +                }
 +                else
 +                    removeChild(c as DisplayObject);
 +            }
 +            COMPILE::JS {
 +                element.removeChild(c.element);
              }
 -            else
 -                removeChild(c as DisplayObject);
          }
--        
++
          /**
           *  @copy org.apache.flex.core.IParent#numElements
--         * 
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
@@@ -541,48 -496,7 +543,48 @@@
           */
          public function get numElements():int
          {
 -            return numChildren;
 +            COMPILE::AS3 {
 +                return numChildren;
 +            }
 +            COMPILE::JS {
 +                var children:NodeList = internalChildren();
 +                return children.length;
 +            }
          }
-         
++
 +        /**
 +         * @return {Object} The array of children.
 +         */
 +        COMPILE::JS
 +        protected function internalChildren():NodeList
 +        {
 +            return element.childNodes;
 +        };
-         
-         
++
++
 +
 +        /**
-          * @flexjsignorecoercion org.apache.flex.core.IBead 
++         * @flexjsignorecoercion org.apache.flex.core.IBead
 +         */
 +        COMPILE::JS
-         public function start():void 
++        public function start():void
 +        {
 +            element = document.getElementsByTagName('body')[0];
 +            element.flexjs_wrapper = this;
 +            element.className = 'Application';
-             
++
 +            MXMLDataInterpreter.generateMXMLInstances(this, null, MXMLDescriptor);
-             
++
 +            dispatchEvent('initialize');
-             
++
 +            if (model is IBead) addBead(model as IBead);
 +            if (controller is IBead) addBead(controller as IBead);
-             
++
 +            initialView.applicationModel = model;
 +            addElement(initialView);
-             
++
 +            dispatchEvent('viewChanged');
 +        };
 +
      }
 -}
 +}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Core/as/src/org/apache/flex/core/CSSTextField.as
----------------------------------------------------------------------
diff --cc frameworks/projects/Core/as/src/org/apache/flex/core/CSSTextField.as
index ce90950,41ff87c..99ae97e
--- a/frameworks/projects/Core/as/src/org/apache/flex/core/CSSTextField.as
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/CSSTextField.as
@@@ -18,18 -18,18 +18,20 @@@
  ////////////////////////////////////////////////////////////////////////////////
  package org.apache.flex.core
  {
--    import flash.text.TextField;
--    import flash.text.TextFieldAutoSize;
--    import flash.text.TextFormat;
--    
++	COMPILE::AS3 {
++		import flash.text.TextField;
++		import flash.text.TextFieldAutoSize;
++		import flash.text.TextFormat;
++	}
++
      import org.apache.flex.core.ValuesManager;
      import org.apache.flex.events.Event;
      import org.apache.flex.utils.CSSUtils;
--		
++
      /**
       *  The CSSTextField class implements CSS text styles in a TextField.
       *  Not every CSS text style is currently supported.
--     *  
++     *
       *  @langversion 3.0
       *  @playerversion Flash 10.2
       *  @playerversion AIR 2.6
@@@ -40,7 -39,7 +42,7 @@@
  	{
          /**
           *  Constructor.
--         *  
++         *
           *  @langversion 3.0
           *  @playerversion Flash 10.2
           *  @playerversion AIR 2.6
@@@ -50,7 -49,7 +52,7 @@@
  		{
  			super();
  		}
--		
++
          /**
           *  @private
           *  The styleParent property is set if the CSSTextField
@@@ -63,7 -62,7 +65,7 @@@
           *  @productversion FlexJS 0.0
           */
  		public var styleParent:Object;
--		
++
          /**
           *  @private
           *  The CSS pseudo-state for lookups.
@@@ -74,7 -73,7 +76,7 @@@
           *  @productversion FlexJS 0.0
           */
          public var styleState:String;
--        
++
          /**
           *  @private
           *  The parentDrawsBackground property is set if the CSSTextField
@@@ -86,7 -85,7 +88,7 @@@
           *  @productversion FlexJS 0.0
           */
          public var parentDrawsBackground:Boolean;
--        
++
          /**
           *  @private
           *  The parentHandlesPadding property is set if the CSSTextField
@@@ -98,7 -97,7 +100,7 @@@
           *  @productversion FlexJS 0.0
           */
          public var parentHandlesPadding:Boolean;
--        
++
          /**
           *  @private
           */
@@@ -108,7 -107,7 +110,7 @@@
  			if (styleParent)
  				sp = styleParent;
  			sp.addEventListener("classNameChanged", updateStyles);
--            
++
  			var tf: TextFormat = new TextFormat();
  			tf.font = ValuesManager.valuesImpl.getValue(sp, "fontFamily", styleState) as String;
  			tf.size = ValuesManager.valuesImpl.getValue(sp, "fontSize", styleState);
@@@ -131,7 -130,7 +133,7 @@@
              else if (align == "right")
  			{
                  tf.align = "right";
--				autoSize = TextFieldAutoSize.NONE;	
++				autoSize = TextFieldAutoSize.NONE;
  			}
              if (!parentDrawsBackground)
              {
@@@ -145,12 -144,12 +147,17 @@@
  			defaultTextFormat = tf;
  			super.text = value;
  		}
--        
++
          private function updateStyles(event:Event):void
          {
              // force styles to be re-calculated
              this.text = text;
          }
--        
++
++	}
++
++	COMPILE::JS
++	public class CSSTextField extends TextField
++	{
  	}
 -}
 +}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Core/as/src/org/apache/flex/core/IDataGridModel.as
----------------------------------------------------------------------
diff --cc frameworks/projects/Core/as/src/org/apache/flex/core/IDataGridModel.as
index e0948da,0000000..5ac0584
mode 100644,000000..100644
--- a/frameworks/projects/Core/as/src/org/apache/flex/core/IDataGridModel.as
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/IDataGridModel.as
@@@ -1,44 -1,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.core
 +{
 +    /**
 +     *  The IDataGridModel interface describes the minimum set of properties
 +     *  available to an DataGrid control.  More sophisticated DataGrid controls
 +     *  could have models that extend IDataGridModel.
 +     *  
 +     *  @langversion 3.0
 +     *  @playerversion Flash 10.2
 +     *  @playerversion AIR 2.6
 +     *  @productversion FlexJS 0.0
 +     */
 +	public interface IDataGridModel extends ISelectionModel
 +	{		
 +        /**
 +         *  The set of DataGridColumns.
 +         *
 +         *  @langversion 3.0
 +         *  @playerversion Flash 10.2
 +         *  @playerversion AIR 2.6
 +         *  @productversion FlexJS 0.0
 +         */
 +		function get columns():Array;
 +		function set columns(value:Array):void;
 +	}
- }
++}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Core/as/src/org/apache/flex/core/IListPresentationModel.as
----------------------------------------------------------------------
diff --cc frameworks/projects/Core/as/src/org/apache/flex/core/IListPresentationModel.as
index 9b3a35e,8166c59..445c3b4
--- a/frameworks/projects/Core/as/src/org/apache/flex/core/IListPresentationModel.as
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/IListPresentationModel.as
@@@ -39,5 -39,16 +39,16 @@@ package org.apache.flex.cor
  		 */
  		function get rowHeight():Number;
  		function set rowHeight(value:Number):void;
+ 		
+ 		/**
+ 		 * The distance each row should be separated from the row above.
+ 		 * 
+ 		 *  @langversion 3.0
+ 		 *  @playerversion Flash 10.2
+ 		 *  @playerversion AIR 2.6
+ 		 *  @productversion FlexJS 0.0
+ 		 */
+ 		function get separatorThickness():Number;
+ 		function set separatorThickness(value:Number):void;
  	}
 -}
 +}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Core/as/src/org/apache/flex/core/IViewport.as
----------------------------------------------------------------------
diff --cc frameworks/projects/Core/as/src/org/apache/flex/core/IViewport.as
index e87a1d6,d84addc..a274f52
--- a/frameworks/projects/Core/as/src/org/apache/flex/core/IViewport.as
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/IViewport.as
@@@ -19,42 -19,65 +19,62 @@@
  package org.apache.flex.core
  {
      import org.apache.flex.geom.Size;
- 	
 -    
 -    /**
 -     * A Viewport is the area of a Container set aside for displaying
 -     * content and any scrolling controls.
 -	 *  
 -	 *  @langversion 3.0
 -	 *  @playerversion Flash 10.2
 -	 *  @playerversion AIR 2.6
 -	 *  @productversion FlexJS 0.0
 -     */
 -	public interface IViewport extends IBead
++
 +	/**
 +	 * A Viewport is a window onto an area of content. A viewport is given space
 +	 * in which to operate by a View bead. Viewports can control their area which
 +	 * is specified by the IViewportModel, adding scrollbars or whatever scrolling
 +	 * mechanism they want.
 +	 */
 +    public interface IViewport extends IBead
  	{
          /**
           * Get the actual parent of the container's content.
 -	     *  
++	     *
+ 	     *  @langversion 3.0
+ 	     *  @playerversion Flash 10.2
+ 	     *  @playerversion AIR 2.6
+ 	     *  @productversion FlexJS 0.0
           */
          function get contentView():IUIBase;
--        
++
  		/**
  		 * Sets the upper left position of the viewport
           * @param x The left position.
           * @param y The top position.
 -	     *  
++	     *
+ 	     *  @langversion 3.0
+ 	     *  @playerversion Flash 10.2
+ 	     *  @playerversion AIR 2.6
+ 	     *  @productversion FlexJS 0.0
  		 */
  		function setPosition(x:Number, y:Number):void;
--		
++
  		/**
  		 * Size the content area based on any visible scrolling controls and
           * the given width and height.  If width and/or height is NaN
           * then that dimension is being sized to content.
 -	     *  
++	     *
+ 	     *  @langversion 3.0
+ 	     *  @playerversion Flash 10.2
+ 	     *  @playerversion AIR 2.6
+ 	     *  @productversion FlexJS 0.0
  		 */
  		function layoutViewportBeforeContentLayout(width:Number, height:Number):void;
--		
++
          /**
           * This method is invoked after layout is complete.  If width and/or height is
           * sized to content, the viewport should determine that size and set the
           * content area size appropriately, and display any scrolling controls
           * before returning the resulting size of the viewport (which means the
           * area used up by both content area and scrolling controls).
 -	     *  
++	     *
+ 	     *  @langversion 3.0
+ 	     *  @playerversion Flash 10.2
+ 	     *  @playerversion AIR 2.6
+ 	     *  @productversion FlexJS 0.0
           */
          function layoutViewportAfterContentLayout():Size;
--        
++
  	}
 -}
 +}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Core/as/src/org/apache/flex/core/ItemRendererClassFactory.as
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Core/as/tests/build.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/Core/asjs/src/CoreASJSClasses.as
----------------------------------------------------------------------
diff --cc frameworks/projects/Core/asjs/src/CoreASJSClasses.as
index 0c5e1a8,e385ade..1eeb7bd
--- a/frameworks/projects/Core/asjs/src/CoreASJSClasses.as
+++ b/frameworks/projects/Core/asjs/src/CoreASJSClasses.as
@@@ -26,8 -27,7 +26,7 @@@ packag
   */
  internal class CoreASJSClasses
  {
-     /*import org.apache.flex.core.IDataGridLayout; IDataGridLayout;
--    import org.apache.flex.core.IDataGridModel; IDataGridModel;
++    /*import org.apache.flex.core.IDataGridModel; IDataGridModel;
      import org.apache.flex.core.IDataGridPresentationModel; IDataGridPresentationModel;
      import org.apache.flex.core.IDateChooserModel; IDateChooserModel;
      import org.apache.flex.core.ParentDocumentBead; ParentDocumentBead;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/as/src/HTMLClasses.as
----------------------------------------------------------------------
diff --cc frameworks/projects/HTML/as/src/HTMLClasses.as
index 5e90559,5bd520c..b863088
--- a/frameworks/projects/HTML/as/src/HTMLClasses.as
+++ b/frameworks/projects/HTML/as/src/HTMLClasses.as
@@@ -140,30 -101,17 +140,30 @@@ internal class HTMLClasse
  	import org.apache.flex.html.beads.layouts.TileLayout; TileLayout;
      import org.apache.flex.html.beads.TextItemRendererFactoryForArrayData; TextItemRendererFactoryForArrayData;
  	import org.apache.flex.html.beads.DataItemRendererFactoryForArrayData; DataItemRendererFactoryForArrayData;
++	import org.apache.flex.html.beads.DataItemRendererFactoryForArrayList; DataItemRendererFactoryForArrayList;
  	import org.apache.flex.html.supportClasses.DataGroup; DataGroup;
  	import org.apache.flex.html.supportClasses.Viewport; Viewport;
  	import org.apache.flex.html.supportClasses.ScrollingViewport; ScrollingViewport;
 -	import org.apache.flex.events.CustomEvent; CustomEvent;
 -	import org.apache.flex.events.Event; Event;
 -	import org.apache.flex.events.MouseEvent; MouseEvent;
 -	import org.apache.flex.events.ValueEvent; ValueEvent;
 -	import org.apache.flex.utils.EffectTimer; EffectTimer;
 -	import org.apache.flex.utils.Timer; Timer;
 -	import org.apache.flex.utils.UIUtils; UIUtils;
 -	import org.apache.flex.events.utils.MouseUtils; MouseUtils;
 +
 +	import org.apache.flex.html.beads.DataGridColumnView; DataGridColumnView;
 +	import org.apache.flex.html.beads.DataGridView; DataGridView;
 +	import org.apache.flex.html.beads.DateChooserView; DateChooserView;
 +	import org.apache.flex.html.beads.DateFieldView; DateFieldView;
- 	import org.apache.flex.html.beads.layouts.DataGridLayout; DataGridLayout;
 +    import org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout; FlexibleFirstChildHorizontalLayout;
 +	import org.apache.flex.html.beads.models.DataGridModel; DataGridModel;
 +	import org.apache.flex.html.beads.models.DateChooserModel; DateChooserModel;
 +	import org.apache.flex.html.beads.models.DataGridPresentationModel; DataGridPresentationModel;
 +	import org.apache.flex.html.beads.controllers.DateChooserMouseController; DateChooserMouseController;
 +	import org.apache.flex.html.beads.controllers.DateFieldMouseController; DateFieldMouseController;
 +	import org.apache.flex.html.supportClasses.DataGridColumn; DataGridColumn;
 +	import org.apache.flex.html.supportClasses.DateChooserButton; DateChooserButton;
 +	import org.apache.flex.html.supportClasses.GraphicsItemRenderer; GraphicsItemRenderer;
 +
 +    import org.apache.flex.html.MXMLBeadViewBase; MXMLBeadViewBase;
 +    import org.apache.flex.html.beads.TitleBarView; TitleBarView;
 +    import org.apache.flex.html.beads.TitleBarMeasurementBead; TitleBarMeasurementBead;
 +
 +
  }
  
  }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/as/src/org/apache/flex/html/Container.as
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/as/src/org/apache/flex/html/DataGrid.as
----------------------------------------------------------------------
diff --cc frameworks/projects/HTML/as/src/org/apache/flex/html/DataGrid.as
index 4aa38d2,0000000..8cba078
mode 100644,000000..100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/DataGrid.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/DataGrid.as
@@@ -1,144 -1,0 +1,164 @@@
 +////////////////////////////////////////////////////////////////////////////////
 +//
 +//  Licensed to the Apache Software Foundation (ASF) under one or more
 +//  contributor license agreements.  See the NOTICE file distributed with
 +//  this work for additional information regarding copyright ownership.
 +//  The ASF licenses this file to You under the Apache License, Version 2.0
 +//  (the "License"); you may not use this file except in compliance with
 +//  the License.  You may obtain a copy of the License at
 +//
 +//      http://www.apache.org/licenses/LICENSE-2.0
 +//
 +//  Unless required by applicable law or agreed to in writing, software
 +//  distributed under the License is distributed on an "AS IS" BASIS,
 +//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +//  See the License for the specific language governing permissions and
 +//  limitations under the License.
 +//
 +////////////////////////////////////////////////////////////////////////////////
 +package org.apache.flex.html
 +{
 +	import org.apache.flex.core.IBead;
 +	import org.apache.flex.core.IDataGridModel;
 +	import org.apache.flex.core.IDataGridPresentationModel;
 +	import org.apache.flex.core.UIBase;
 +	import org.apache.flex.html.beads.models.DataGridPresentationModel;
 +	
 +	[Event(name="change", type="org.apache.flex.events.Event")]
 +	
 +	/**
 +	 *  The DataGrid class displays a collection of data using columns and rows. Each
 +	 *  column represents a specific field in the data set; each row represents a specific
 +	 *  datum. The DataGrid is a composite component built with a org.apache.flex.html.ButtonBar 
 +	 *  for the column headers and a org.apache.flex.html.List for each column. The DataGrid's 
 +	 *  view bead (usually org.apache.flex.html.beads.DataGridView) constructs these parts while 
 +	 *  itemRenderer factories contruct the elements to display the data in each cell.
 +	 *  
 +	 *  @langversion 3.0
 +	 *  @playerversion Flash 10.2
 +	 *  @playerversion AIR 2.6
 +	 *  @productversion FlexJS 0.0
 +	 */
 +	public class DataGrid extends UIBase
 +	{
 +		/**
 +		 *  constructor.
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		public function DataGrid()
 +		{
 +			super();
 +		}
 +		
 +		/**
 +		 *  The array of org.apache.flex.html.supportClasses.DataGridColumns used to 
 +		 *  describe each column.
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		public function get columns():Array
 +		{
 +			return IDataGridModel(model).columns;
 +		}
 +		public function set columns(value:Array):void
 +		{
 +			IDataGridModel(model).columns = value;
 +		}
 +		
 +		/**
 +		 *  The object used to provide data to the org.apache.flex.html.DataGrid.
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		public function get dataProvider():Object
 +		{
 +			return IDataGridModel(model).dataProvider;
 +		}
 +		public function set dataProvider(value:Object):void
 +		{
 +			IDataGridModel(model).dataProvider = value;
 +		}
 +		
 +		/**
 +		 *  The currently selected row.
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		public function get selectedIndex():int
 +		{
 +			return IDataGridModel(model).selectedIndex;
 +		}
 +		
 +		/**
 +		 *  The DataGrid's presentation model
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		public function get presentationModel():IDataGridPresentationModel
 +		{
 +			var beadMod:IBead = getBeadByType(IDataGridPresentationModel);
 +			var presModel:IDataGridPresentationModel;
 +			
 +			if (beadMod == null) {
 +				presModel = new DataGridPresentationModel();
 +				addBead(presModel);
 +			} else {
 +				presModel = beadMod as IDataGridPresentationModel;
 +			}
 +			return presModel;
 +		}
 +				
 +		/**
 +		 *  The default height of each cell in every column
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		public function get rowHeight():Number
 +		{
 +			return presentationModel.rowHeight;
 +		}
 +		public function set rowHeight(value:Number):void
 +		{
 +			presentationModel.rowHeight = value;
 +		}
++		
++		/**
++		 * @private
++		 * The DataGrid needs to know whenever its size is being changed so the columns can be
++		 * be aligned properly, so the noEvent value must always be false.
++		 */
++		override public function setWidth(value:Number, noEvent:Boolean=false):void
++		{
++			super.setWidth(value,false);
++		}
++		
++		/**
++		 * @private
++		 * The DataGrid needs to know whenever its size is being changed so the columns can be
++		 * be aligned properly, so the noEvent value must always be false.
++		 */
++		override public function setHeight(value:Number, noEvent:Boolean=false):void
++		{
++			super.setHeight(value,false);
++		}
 +	}
 +}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ButtonBarView.as
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataGridLinesBead.as
----------------------------------------------------------------------
diff --cc frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataGridLinesBead.as
index 0000000,0000000..b4e5b1d
new file mode 100644
--- /dev/null
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataGridLinesBead.as
@@@ -1,0 -1,0 +1,199 @@@
++////////////////////////////////////////////////////////////////////////////////
++//
++//  Licensed to the Apache Software Foundation (ASF) under one or more
++//  contributor license agreements.  See the NOTICE file distributed with
++//  this work for additional information regarding copyright ownership.
++//  The ASF licenses this file to You under the Apache License, Version 2.0
++//  (the "License"); you may not use this file except in compliance with
++//  the License.  You may obtain a copy of the License at
++//
++//      http://www.apache.org/licenses/LICENSE-2.0
++//
++//  Unless required by applicable law or agreed to in writing, software
++//  distributed under the License is distributed on an "AS IS" BASIS,
++//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++//  See the License for the specific language governing permissions and
++//  limitations under the License.
++//
++////////////////////////////////////////////////////////////////////////////////
++package org.apache.flex.html.beads
++{
++	import org.apache.flex.collections.ArrayList;
++	import org.apache.flex.core.IBead;
++	import org.apache.flex.core.IBeadModel;
++	import org.apache.flex.core.IDataGridModel;
++	import org.apache.flex.core.ILayoutHost;
++	import org.apache.flex.core.IParentIUIBase;
++	import org.apache.flex.core.IStrand;
++	import org.apache.flex.core.UIBase;
++	import org.apache.flex.core.graphics.GraphicsContainer;
++	import org.apache.flex.core.graphics.IStroke;
++	import org.apache.flex.core.graphics.SolidColor;
++	import org.apache.flex.core.graphics.SolidColorStroke;
++	import org.apache.flex.events.Event;
++	import org.apache.flex.events.IEventDispatcher;
++	import org.apache.flex.html.beads.models.DataGridPresentationModel;
++	import org.apache.flex.html.supportClasses.DataGridColumn;
++	
++	/**
++	 * The DataGridLinesBead is an add on bead for the DataGrid. This bead
++	 * adds horizontal and vertical grid lines to a DataGrid. The size and
++	 * color of the lines is specified by the stroke property (defaults to
++	 * a thin dark line). 
++	 *  
++	 *  @langversion 3.0
++	 *  @playerversion Flash 10.2
++	 *  @playerversion AIR 2.6
++	 *  @productversion FlexJS 0.0
++	 */
++	public class DataGridLinesBead implements IBead
++	{
++		/**
++		 * Constructor. 
++	     *  
++	     *  @langversion 3.0
++	     *  @playerversion Flash 10.2
++	     *  @playerversion AIR 2.6
++	     *  @productversion FlexJS 0.0
++		 */
++		public function DataGridLinesBead()
++		{
++			// Set default separator line stroke.
++			var lineStroke:SolidColorStroke = new SolidColorStroke();
++			lineStroke.color = 0x333333;
++			lineStroke.alpha = 1.0;
++			lineStroke.weight = 1;
++			stroke = lineStroke;
++		}
++		
++		private var _strand:IStrand;
++		
++		/**
++		 * @copy org.apache.flex.core.UIBase#strand
++	     *  
++	     *  @langversion 3.0
++	     *  @playerversion Flash 10.2
++	     *  @playerversion AIR 2.6
++	     *  @productversion FlexJS 0.0
++		 */
++		public function set strand(value:IStrand):void
++		{
++			_strand = value;
++			
++			_overlay = new GraphicsContainer();
++			
++			IEventDispatcher(_strand).addEventListener("beadsAdded", handleBeadsAdded);
++		}
++		
++		private var _stroke:IStroke;
++		
++		/**
++		 * Describes the line style used to separate the rows and columns.
++	     *  
++	     *  @langversion 3.0
++	     *  @playerversion Flash 10.2
++	     *  @playerversion AIR 2.6
++	     *  @productversion FlexJS 0.0
++		 */
++		public function get stroke():IStroke
++		{
++			return _stroke;
++		}
++		public function set stroke(value:IStroke):void
++		{
++			_stroke = value;
++		}
++		
++		private var _overlay:GraphicsContainer;
++		private var _area:UIBase;
++		
++		/**
++		 * Invoked when all of the beads have been added to the DataGrid. This
++		 * function seeks the Container that parents the lists that are the DataGrid's
++		 * columns. An overlay GraphicContainer is added to this Container so that the
++		 * grid lines will scroll with the rows.
++	     *  
++	     *  @langversion 3.0
++	     *  @playerversion Flash 10.2
++	     *  @playerversion AIR 2.6
++	     *  @productversion FlexJS 0.0
++		 */
++		private function handleBeadsAdded(event:Event):void
++		{
++			var host:UIBase = _strand as UIBase;
++			var n:int = host.numElements;
++			for (var i:int=0; i < n; i++) {
++				var child:UIBase = host.getElementAt(i) as UIBase;
++				if (child.id == "dataGridListArea") {
++					_area = child;
++					_area.addElement(_overlay);
++					break;
++				}
++			}
++			
++			// Now set up listeners to handle changes in the size of the DataGrid.
++			IEventDispatcher(_strand).addEventListener("sizeChanged", drawLines);
++			IEventDispatcher(_strand).addEventListener("widthChanged", drawLines);
++			IEventDispatcher(_strand).addEventListener("heightChanged", drawLines);
++			
++			// Also set up a listener on the model to know when the dataProvider has
++			// changed which might affect the number of rows/columns and thus the
++			// grid lines.
++			var model:IBeadModel = _strand.getBeadByType(IBeadModel) as IBeadModel;
++			IEventDispatcher(model).addEventListener("dataProviderChanged", drawLines);
++		}
++		
++		/**
++		 * This event handler is invoked whenever something happens to the DataGrid. This
++		 * function draws the lines either using a default stroke or the one specified by
++		 * the stroke property.
++	     *  
++	     *  @langversion 3.0
++	     *  @playerversion Flash 10.2
++	     *  @playerversion AIR 2.6
++	     *  @productversion FlexJS 0.0
++		 */
++		private function drawLines(event:Event):void
++		{
++			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
++			var presentationModel:DataGridPresentationModel = _strand.getBeadByType(DataGridPresentationModel) as DataGridPresentationModel;
++			var layoutParent:ILayoutHost = _area.getBeadByType(ILayoutHost) as ILayoutHost;
++			var contentView:IParentIUIBase = layoutParent.contentView as IParentIUIBase;
++			
++			var columns:Array = sharedModel.columns;			
++			var arrayList:ArrayList = sharedModel.dataProvider as ArrayList;
++			var rowHeight:Number = presentationModel.rowHeight;
++			
++			var totalHeight:Number = arrayList.length * rowHeight;
++			var columnWidth:Number = _area.width / columns.length;
++			
++			// translate the stroke to a fill since rectangles are used for the grid
++			// lines and not lines.
++			var lineFill:SolidColor = new SolidColor();
++			var weight:Number = 1;
++			lineFill.color = (stroke as SolidColorStroke).color;
++			lineFill.alpha = (stroke as SolidColorStroke).alpha;
++			weight = (stroke as SolidColorStroke).weight;
++			_overlay.fill = lineFill;
++			
++			columnWidth = (columns[0] as DataGridColumn).columnWidth;
++			var xpos:Number = isNaN(columnWidth) ? _area.width / columns.length : columnWidth;
++			
++			_overlay.removeAllElements();
++			
++			// draw the verticals
++			for (var i:int=1; i < columns.length; i++) {
++				_overlay.drawRect(xpos, 0, weight, totalHeight);
++				columnWidth = (columns[i] as DataGridColumn).columnWidth;
++				xpos += isNaN(columnWidth) ? _area.width / columns.length : columnWidth;
++			}
++			
++			var n:int = arrayList.length;
++			
++			// draw the horizontals
++			for (i=1; i < n+1; i++) {
++				_overlay.drawRect(0, i*rowHeight, _area.width, weight);
++			}
++		}
++	}
++}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataGridView.as
----------------------------------------------------------------------
diff --cc frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataGridView.as
index d578a6e,0000000..d1fbe61
mode 100644,000000..100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataGridView.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataGridView.as
@@@ -1,251 -1,0 +1,318 @@@
 +////////////////////////////////////////////////////////////////////////////////
 +//
 +//  Licensed to the Apache Software Foundation (ASF) under one or more
 +//  contributor license agreements.  See the NOTICE file distributed with
 +//  this work for additional information regarding copyright ownership.
 +//  The ASF licenses this file to You under the Apache License, Version 2.0
 +//  (the "License"); you may not use this file except in compliance with
 +//  the License.  You may obtain a copy of the License at
 +//
 +//      http://www.apache.org/licenses/LICENSE-2.0
 +//
 +//  Unless required by applicable law or agreed to in writing, software
 +//  distributed under the License is distributed on an "AS IS" BASIS,
 +//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +//  See the License for the specific language governing permissions and
 +//  limitations under the License.
 +//
 +////////////////////////////////////////////////////////////////////////////////
 +package org.apache.flex.html.beads
- {	
-     import org.apache.flex.core.BeadViewBase;
-     import org.apache.flex.core.IBead;
-     import org.apache.flex.core.IBeadModel;
-     import org.apache.flex.core.IDataGridLayout;
-     import org.apache.flex.core.IDataGridModel;
-     import org.apache.flex.core.ISelectionModel;
-     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.ButtonBar;
-     import org.apache.flex.html.Container;
-     import org.apache.flex.html.List;
-     import org.apache.flex.html.beads.layouts.ButtonBarLayout;
-     import org.apache.flex.html.beads.layouts.DataGridLayout;
-     import org.apache.flex.html.beads.models.ArraySelectionModel;
-     import org.apache.flex.html.beads.models.DataGridPresentationModel;
-     import org.apache.flex.html.supportClasses.DataGridColumn;
++{
++	import org.apache.flex.core.IBead;
++	import org.apache.flex.core.IBeadModel;
++	import org.apache.flex.core.IBeadView;
++	import org.apache.flex.core.IDataGridModel;
++	import org.apache.flex.core.ISelectableItemRenderer;
++	import org.apache.flex.core.ISelectionModel;
++	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;
++	import org.apache.flex.html.ButtonBar;
++	import org.apache.flex.html.Container;
++	import org.apache.flex.html.List;
++	import org.apache.flex.html.beads.layouts.ButtonBarLayout;
++	import org.apache.flex.html.beads.layouts.VerticalLayout;
++	import org.apache.flex.html.beads.models.ArraySelectionModel;
++	import org.apache.flex.html.beads.models.DataGridPresentationModel;
++	import org.apache.flex.html.supportClasses.DataGridColumn;
++	import org.apache.flex.html.supportClasses.ScrollingViewport;
 +	import org.apache.flex.html.supportClasses.Viewport;
- 	
++
 +	/**
- 	 *  The DataGridView class is the visual bead for the org.apache.flex.html.DataGrid. 
- 	 *  This class constructs the items that make the DataGrid: Lists for each column and a 
- 	 *  org.apache.flex.html.ButtonBar for the column headers.  
- 	 *  
++	 *  The DataGridView class is the visual bead for the org.apache.flex.html.DataGrid.
++	 *  This class constructs the items that make the DataGrid: Lists for each column and a
++	 *  org.apache.flex.html.ButtonBar for the column headers.
++	 *
 +	 *  @langversion 3.0
 +	 *  @playerversion Flash 10.2
 +	 *  @playerversion AIR 2.6
 +	 *  @productversion FlexJS 0.0
 +	 */
- 	public class DataGridView extends BeadViewBase implements IDataGridView
++	public class DataGridView implements IBeadView
 +	{
 +		/**
 +		 *  constructor.
 +		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
 +		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;
++		private var _header:ButtonBar;
++		private var _listArea:Container;
++		private var _lists:Array;
++
 +		/**
- 		 *  The array of org.apache.flex.html.supportClasses.DataGridColumn instances.
- 		 *
- 		 *  @langversion 3.0
- 		 *  @playerversion Flash 10.2
- 		 *  @playerversion AIR 2.6
- 		 *  @productversion FlexJS 0.0
++		 * @private
 +		 */
- 		public function getColumnLists():Array
++		public function get host():IUIBase
 +		{
- 			return columns;
++			return _strand as IUIBase;
 +		}
- 		
- 		private var _strand:IStrand;
- 		
++
 +		/**
 +		 *  @copy org.apache.flex.core.IBead#strand
- 		 *  
++		 *
 +		 *  @langversion 3.0
 +		 *  @playerversion Flash 10.2
 +		 *  @playerversion AIR 2.6
 +		 *  @productversion FlexJS 0.0
 +		 */
- 		override public function set strand(value:IStrand):void
++		public function set strand(value:IStrand):void
 +		{
 +			_strand = value;
- 			super.strand = value;
- 			
- 			IEventDispatcher(_strand).addEventListener("sizeChanged", onSizeChanged);
- 			IEventDispatcher(_strand).addEventListener("widthChanged", onSizeChanged);
- 			IEventDispatcher(_strand).addEventListener("heightChanged", onSizeChanged);
- 			
++
++			var host:UIBase = value as UIBase;
++			host.addEventListener("widthChanged", handleSizeChanges);
++			host.addEventListener("heightChanged", handleSizeChanges);
++
++			_header = new ButtonBar();
++			_header.id = "dataGridHeader";
++
++			var scrollPort:ScrollingViewport = new ScrollingViewport();
++//			scrollPort.showsHorizontalScrollBar = false;
++
++			_listArea = new Container();
++			_listArea.id = "dataGridListArea";
++			_listArea.className = "DataGridListArea";
++			_listArea.addBead(scrollPort);
++
++			finishSetup(null);
++		}
++
++		/**
++		 * @private
++		 */
++		private function finishSetup(event:Event):void
++		{
++			var host:UIBase = _strand as UIBase;
++
 +			// see if there is a presentation model already in place. if not, add one.
- 			var modBead:IBead = _strand.getBeadByType(DataGridPresentationModel);
- 			var presentationModel:DataGridPresentationModel;
- 			if (modBead == null) {
++			var presentationModel:DataGridPresentationModel = _strand.getBeadByType(DataGridPresentationModel) as DataGridPresentationModel;
++			if (presentationModel == null) {
 +				presentationModel = new DataGridPresentationModel();
 +				_strand.addBead(presentationModel);
 +			}
- 			else {
- 				presentationModel = modBead as DataGridPresentationModel;
- 			}
- 			
++
 +			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
- 			IEventDispatcher(sharedModel).addEventListener("dataProviderChanged",onDataProviderChanged);
- 			
- 			// create an array of columnLabels for use by the ButtonBar/DataGrid header.
++			IEventDispatcher(sharedModel).addEventListener("dataProviderChanged",handleDataProviderChanged);
++
 +			var columnLabels:Array = new Array();
++			var buttonWidths:Array = new Array();
++
 +			for(var i:int=0; i < sharedModel.columns.length; i++) {
 +				var dgc:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
 +				columnLabels.push(dgc.label);
++				if (!isNaN(dgc.columnWidth)) buttonWidths.push(dgc.columnWidth);
 +			}
++
 +			var bblayout:ButtonBarLayout = new ButtonBarLayout();
- 			
- 			buttonBarModel = new ArraySelectionModel();
++			if (buttonWidths.length == sharedModel.columns.length) {
++				bblayout.buttonWidths = buttonWidths;
++			}
++
++			var buttonBarModel:ArraySelectionModel = new ArraySelectionModel();
 +			buttonBarModel.dataProvider = columnLabels;
- 			
- 			buttonBar = new ButtonBar();
- 			buttonBar.addBead(buttonBarModel);
- 			buttonBar.addBead(bblayout);
- 			buttonBar.addBead(new Viewport());
- 			buttonBar.height = 25;
- 			buttonBar.width = UIBase(_strand).width;
- 			UIBase(_strand).addElement(buttonBar);
- 			
- 			// Create a List for each column, storing a reference to each List in
- 			// the columns property.
- 			columns = new Array();
- 			for(i=0; i < sharedModel.columns.length; i++) 
- 			{
- 				// Each list shares the same dataProvider but needs its own model to
- 				// keep track of its own data.
- 				var listModel:ISelectionModel = new ArraySelectionModel();
- 				listModel.dataProvider = sharedModel.dataProvider;
- 				
- 				var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
- 				
- 				var list:List = new List();
- 				list.addBead(listModel); 
- 				list.itemRenderer = dataGridColumn.itemRenderer;
- 				list.labelField = dataGridColumn.dataField;
- 				list.addBead(presentationModel);
- 				
- 				var colWidth:Number = dataGridColumn.columnWidth;
- 				if (!isNaN(colWidth)) list.width = colWidth;
 +
- 				UIBase(_strand).addElement(list);
- 				columns.push(list);
- 				list.addEventListener('change',columnListChangeHandler);
- 				list.addEventListener('rollover',columnListRollOverHandler);
- 				list.addEventListener('layoutComplete',forwardEvent);
++			_header.addBead(buttonBarModel);
++			_header.addBead(bblayout);
++			_header.addBead(new Viewport());
++			host.addElement(_header);
++
++			host.addElement(_listArea);
++
++			// do we know what the size is? If not, wait to be sized
++
++			if (host.isHeightSizedToContent() || host.isWidthSizedToContent()) {
++				host.addEventListener("sizeChanged", handleSizeChanges);
++			}
++
++				// else size now
++			else {
++				handleDataProviderChanged(event);
 +			}
- 			
- 			// TODO: allow a developer to specify their own DataGridLayout
- 			// possibly by seeing if a bead already exists
- 			
- 			onSizeChanged(null);
- 			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
 +		}
- 		
- 		private function onSizeChanged(event:Event):void
++
++		/**
++		 * @private
++		 */
++		private function handleSizeChanges(event:Event):void
 +		{
- 			var bead:IBead = _strand.getBeadByType(IDataGridLayout);
- 			var layout:IDataGridLayout;
- 			if (bead == null) {
- 				// NOTE: the following line will not cross-compile correctly into JavaScript
- 				// so it has been commented and the class hard-coded.
- 				//layout = new ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout")) as IDataGridLayout;
- 				layout = new DataGridLayout();
- 				_strand.addBead(layout);
- 			} else {
- 				layout = bead as IDataGridLayout;
++			var useWidth:Number = _listArea.width;
++			var useHeight:Number = _listArea.height;
++
++			if (host.width > 0) {
++				useWidth = host.width;
++			}
++
++			_header.x = 0;
++			_header.y = 0;
++			_header.width = useWidth;
++			_header.height = 25;
++
++			if (host.height > 0) {
++				useHeight = host.height - _header.height;
++			}
++
++			_listArea.x = 0;
++			_listArea.y = 26;
++			_listArea.width = useWidth;
++			_listArea.height = useHeight;
++
++			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
++
++			if (_lists != null && _lists.length > 0) {
++				var xpos:Number = 0;
++				var listWidth:Number = host.width / _lists.length;
++				for (var i:int=0; i < _lists.length; i++) {
++					var list:List = _lists[i] as List;
++					list.x = xpos;
++					list.y = 0;
++
++					var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
++					var colWidth:Number = dataGridColumn.columnWidth;
++					if (!isNaN(colWidth)) list.width = colWidth;
++					else list.width = listWidth;
++
++					xpos += list.width;
++				}
 +			}
- 			layout.header = buttonBar;
- 			layout.columns = columns;
- 			layout.layout();
 +		}
- 		
++
 +		/**
 +		 * @private
- 		 * When the dataProvider is changed for the DataGrid, this updates each List (column)
- 		 * with the new (or changed) dataProvider.
 +		 */
- 		private function onDataProviderChanged(event:Event):void
++		private function handleDataProviderChanged(event:Event):void
 +		{
 +			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
- 			
- 			for (var i:int=0; i < columns.length; i++)
++
++			if (_lists == null || _lists.length == 0) {
++				createLists();
++			}
++
++			for (var i:int=0; i < _lists.length; i++)
 +			{
- 				var list:List = columns[i] as List;
++				var list:List = _lists[i] as List;
 +				var listModel:ISelectionModel = list.getBeadByType(IBeadModel) as ISelectionModel;
 +				listModel.dataProvider = sharedModel.dataProvider;
 +			}
++
++			handleSizeChanges(event);
 +		}
- 		
++
 +		/**
 +		 * @private
 +		 */
- 		private function columnListChangeHandler(event:Event):void
++		private function handleColumnListChange(event:Event):void
 +		{
 +			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
 +			var list:List = event.target as List;
 +			sharedModel.selectedIndex = list.selectedIndex;
- 			
- 			for(var i:int=0; i < columns.length; i++) {
- 				if (list != columns[i]) {
- 					var otherList:List = columns[i] as List;
++
++			for(var i:int=0; i < _lists.length; i++) {
++				if (list != _lists[i]) {
++					var otherList:List = _lists[i] as List;
 +					otherList.selectedIndex = list.selectedIndex;
 +				}
 +			}
- 			
++
 +			IEventDispatcher(_strand).dispatchEvent(new Event('change'));
 +		}
- 		
++
 +		/**
 +		 * @private
 +		 */
- 		private function columnListRollOverHandler(event:Event):void
++		private function handleColumnListRollOver(event:Event):void
 +		{
- 			var list:List = event.target as List;
++			var itemRenderer:ISelectableItemRenderer = event.target as ISelectableItemRenderer;
++			var list:List = event.currentTarget as List;
 +			if (list == null) return;
- 			for(var i:int=0; i < columns.length; i++) {
- 				if (list != columns[i]) {
- 					var otherList:List = columns[i] as List;
- 					otherList.rollOverIndex = list.rollOverIndex;
++			for(var i:int=0; i < _lists.length; i++) {
++				if (list != _lists[i]) {
++					var otherList:List = _lists[i] as List;
++					otherList.rollOverIndex = itemRenderer.index;
 +				}
 +			}
- 			
++
++			IEventDispatcher(_strand).dispatchEvent(new Event('rollOver'));
++		}
++
++		/**
++		 * @private
++		 */
++		private function handleColumnListRollOut(event:Event):void
++		{
++			for(var i:int=0; i < _lists.length; i++) {
++				var otherList:List = _lists[i] as List;
++				otherList.rollOverIndex = -1;
++			}
++
 +			IEventDispatcher(_strand).dispatchEvent(new Event('rollOver'));
 +		}
- 		
++
 +		/**
 +		 * @private
 +		 */
- 		private function forwardEvent(event:Event):void
++		private function createLists():void
 +		{
- 			IEventDispatcher(_strand).dispatchEvent(event);
++			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
++			var presentationModel:DataGridPresentationModel = _strand.getBeadByType(DataGridPresentationModel) as DataGridPresentationModel;
++			var listWidth:Number = host.width / sharedModel.columns.length;
++
++			_lists = new Array();
++
++			for (var i:int=0; i < sharedModel.columns.length; i++) {
++				var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
++
++				var list:List = new List();
++				list.id = "dataGridColumn"+String(i);
++				list.className = "DataGridColumn";
++				list.addBead(sharedModel);
++				list.itemRenderer = dataGridColumn.itemRenderer;
++				list.labelField = dataGridColumn.dataField;
++				list.addEventListener('change',handleColumnListChange);
++				list.addEventListener('rollover',handleColumnListRollOver);
++				list.addEventListener('rollout',handleColumnListRollOut);
++				list.addBead(presentationModel);
++
++				var colWidth:Number = dataGridColumn.columnWidth;
++				if (!isNaN(colWidth)) list.width = colWidth;
++				else list.width = listWidth;
++
++				_listArea.addElement(list);
++				_lists.push(list);
++			}
++
++			_listArea.dispatchEvent(new Event("layoutNeeded"));
 +		}
- 		 
 +	}
 +}
++

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
----------------------------------------------------------------------
diff --cc frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
index 0000000,0000000..9895394
new file mode 100644
--- /dev/null
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
@@@ -1,0 -1,0 +1,174 @@@
++////////////////////////////////////////////////////////////////////////////////
++//
++//  Licensed to the Apache Software Foundation (ASF) under one or more
++//  contributor license agreements.  See the NOTICE file distributed with
++//  this work for additional information regarding copyright ownership.
++//  The ASF licenses this file to You under the Apache License, Version 2.0
++//  (the "License"); you may not use this file except in compliance with
++//  the License.  You may obtain a copy of the License at
++//
++//      http://www.apache.org/licenses/LICENSE-2.0
++//
++//  Unless required by applicable law or agreed to in writing, software
++//  distributed under the License is distributed on an "AS IS" BASIS,
++//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++//  See the License for the specific language governing permissions and
++//  limitations under the License.
++//
++////////////////////////////////////////////////////////////////////////////////
++package org.apache.flex.html.beads
++{
++	import org.apache.flex.collections.ArrayList;
++	import org.apache.flex.core.IBead;
++	import org.apache.flex.core.IDataProviderItemRendererMapper;
++	import org.apache.flex.core.IItemRendererClassFactory;
++	import org.apache.flex.core.IItemRendererParent;
++	import org.apache.flex.core.IListPresentationModel;
++	import org.apache.flex.core.ISelectableItemRenderer;
++	import org.apache.flex.core.ISelectionModel;
++	import org.apache.flex.core.IStrand;
++	import org.apache.flex.core.IUIBase;
++	import org.apache.flex.core.SimpleCSSStyles;
++	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.List;
++	
++    /**
++     *  The DataItemRendererFactoryForArrayList class uses an ArrayList
++	 *  and creates an item renderer for every
++     *  item in the collection.  Other implementations of
++     *  IDataProviderItemRendererMapper map different data 
++     *  structures or manage a virtual set of renderers.
++     *  
++     *  @langversion 3.0
++     *  @playerversion Flash 10.2
++     *  @playerversion AIR 2.6
++     *  @productversion FlexJS 0.0
++     */
++	public class DataItemRendererFactoryForArrayList implements IBead, IDataProviderItemRendererMapper
++	{
++        /**
++         *  Constructor.
++         *  
++         *  @langversion 3.0
++         *  @playerversion Flash 10.2
++         *  @playerversion AIR 2.6
++         *  @productversion FlexJS 0.0
++         */
++		public function DataItemRendererFactoryForArrayList()
++		{
++		}
++		
++		private var selectionModel:ISelectionModel;
++		
++		private var labelField:String;
++		
++		private var _strand:IStrand;
++		
++        /**
++         *  @copy org.apache.flex.core.IBead#strand
++         *  
++         *  @langversion 3.0
++         *  @playerversion Flash 10.2
++         *  @playerversion AIR 2.6
++         *  @productversion FlexJS 0.0
++         */
++		public function set strand(value:IStrand):void
++		{
++			_strand = value;
++			IEventDispatcher(_strand).addEventListener("beadsAdded", finishSetup);
++			IEventDispatcher(_strand).addEventListener("initComplete", finishSetup);
++		}
++		
++		private function finishSetup(event:Event):void
++		{
++			selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
++			var listView:IListView = _strand.getBeadByType(IListView) as IListView;
++			dataGroup = listView.dataGroup;
++			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
++			
++			labelField = (listView.host as List).labelField;
++			
++			if (!itemRendererFactory)
++			{
++				_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
++				if (_itemRendererFactory == null) {
++					_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
++					_strand.addBead(_itemRendererFactory);
++				}
++			}
++			
++			dataProviderChangeHandler(null);
++		}
++		
++		private var _itemRendererFactory:IItemRendererClassFactory;
++		
++        /**
++         *  The org.apache.flex.core.IItemRendererClassFactory used 
++         *  to generate instances of item renderers.
++         *  
++         *  @langversion 3.0
++         *  @playerversion Flash 10.2
++         *  @playerversion AIR 2.6
++         *  @productversion FlexJS 0.0
++         */
++		public function get itemRendererFactory():IItemRendererClassFactory
++		{
++			return _itemRendererFactory;
++		}
++		
++        /**
++         *  @private
++         */
++		public function set itemRendererFactory(value:IItemRendererClassFactory):void
++		{
++			_itemRendererFactory = value;
++		}
++		
++        /**
++         *  The org.apache.flex.core.IItemRendererParent that will
++         *  parent the item renderers.
++         *  
++         *  @langversion 3.0
++         *  @playerversion Flash 10.2
++         *  @playerversion AIR 2.6
++         *  @productversion FlexJS 0.0
++         */
++		protected var dataGroup:IItemRendererParent;
++		
++		private function dataProviderChangeHandler(event:Event):void
++		{
++			var dp:ArrayList = selectionModel.dataProvider as ArrayList;
++			if (!dp)
++				return;
++			
++			dataGroup.removeAllElements();
++			
++			var listView:IListView = _strand.getBeadByType(IListView) as IListView;
++			var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
++			
++			var n:int = dp.length; 
++			for (var i:int = 0; i < n; i++)
++			{				
++				var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
++				ir.index = i;
++				ir.labelField = labelField;
++				if (presentationModel) {
++					UIBase(ir).height = presentationModel.rowHeight;
++					
++					// ensure that the IR spans the width of its column
++					var style:SimpleCSSStyles = new SimpleCSSStyles();
++					style.right = 0;
++					style.left = 0;
++					UIBase(ir).style = style;
++				}
++				dataGroup.addElement(ir);
++				ir.data = dp.getItemAt(i);
++			}
++			
++			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
++		}
++	}
++}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataProviderChangeNotifier.as
----------------------------------------------------------------------
diff --cc frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataProviderChangeNotifier.as
index 0000000,0000000..8905fb9
new file mode 100644
--- /dev/null
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataProviderChangeNotifier.as
@@@ -1,0 -1,0 +1,154 @@@
++////////////////////////////////////////////////////////////////////////////////
++//
++//  Licensed to the Apache Software Foundation (ASF) under one or more
++//  contributor license agreements.  See the NOTICE file distributed with
++//  this work for additional information regarding copyright ownership.
++//  The ASF licenses this file to You under the Apache License, Version 2.0
++//  (the "License"); you may not use this file except in compliance with
++//  the License.  You may obtain a copy of the License at
++//
++//      http://www.apache.org/licenses/LICENSE-2.0
++//
++//  Unless required by applicable law or agreed to in writing, software
++//  distributed under the License is distributed on an "AS IS" BASIS,
++//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++//  See the License for the specific language governing permissions and
++//  limitations under the License.
++//
++////////////////////////////////////////////////////////////////////////////////
++package org.apache.flex.html.beads
++{
++	import org.apache.flex.core.IBead;
++	import org.apache.flex.core.IDocument;
++	import org.apache.flex.core.ISelectionModel;
++	import org.apache.flex.core.IStrand;
++	import org.apache.flex.events.Event;
++	import org.apache.flex.collections.ArrayList;
++	
++	/**
++	 *  The DataProviderChangeNotifier notifies listeners when a selection model's
++	 *  ArrayList dataProvider has changed.
++	 *  
++	 *  @langversion 3.0
++	 *  @playerversion Flash 10.2
++	 *  @playerversion AIR 2.6
++	 *  @productversion FlexJS 0.0
++	 */
++	public class DataProviderChangeNotifier implements IBead, IDocument
++	{
++		/**
++		 *  constructor.
++		 *  
++		 *  @langversion 3.0
++		 *  @playerversion Flash 10.2
++		 *  @playerversion AIR 2.6
++		 *  @productversion FlexJS 0.0
++		 */
++		public function DataProviderChangeNotifier()
++		{
++		}
++		
++		protected var _dataProvider:ArrayList;
++		
++		private var _strand:IStrand;
++		
++		/**
++		 *  @copy org.apache.flex.core.IBead#strand
++		 *  
++		 *  @langversion 3.0
++		 *  @playerversion Flash 10.2
++		 *  @playerversion AIR 2.6
++		 *  @productversion FlexJS 0.0
++		 */
++		public function set strand(value:IStrand):void
++		{
++			_strand = value;
++			
++			if (_dataProvider == null) {
++				var object:Object = document[sourceID];
++				_dataProvider = object[propertyName] as ArrayList;
++			}
++			
++			_dataProvider.addEventListener("itemAdded", handleItemAdded);
++			_dataProvider.addEventListener("itemRemoved", handleItemRemoved);
++			_dataProvider.addEventListener("itemUpdated", handleItemUpdated);
++
++		}
++		
++		protected var document:Object;
++		
++		/**
++		 * @private
++		 */
++		public function setDocument(document:Object, id:String = null):void
++		{
++			this.document = document;
++		}
++		
++		private var _sourceID:String;
++		
++		/**
++		 *  The ID of the object holding the ArrayList, usually a model.
++		 *  
++		 *  @langversion 3.0
++		 *  @playerversion Flash 10.2
++		 *  @playerversion AIR 2.6
++		 *  @productversion FlexJS 0.0
++		 */
++		public function get sourceID():String
++		{
++			return _sourceID;
++		}
++		public function set sourceID(value:String):void
++		{
++			_sourceID = value;
++		}
++		
++		private var _propertyName:String;
++		
++		/**
++		 *  The property in the sourceID that is the ArrayList.
++		 *  
++		 *  @langversion 3.0
++		 *  @playerversion Flash 10.2
++		 *  @playerversion AIR 2.6
++		 *  @productversion FlexJS 0.0
++		 */
++		public function get propertyName():String
++		{
++			return _propertyName;
++		}
++		
++		public function set propertyName(value:String):void
++		{
++			_propertyName = value;
++		}
++		
++		/**
++		 * @private
++		 */
++		private function handleItemAdded(event:Event):void
++		{
++			var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
++			selectionModel.dispatchEvent(new Event("dataProviderChanged"));
++		}
++		
++		/**
++		 * @private
++		 */
++		private function handleItemRemoved(event:Event):void
++		{
++			var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
++			selectionModel.dispatchEvent(new Event("dataProviderChanged"));
++		}
++		
++		/**
++		 * @private
++		 */
++		private function handleItemUpdated(event:Event):void
++		{
++			var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
++			selectionModel.dispatchEvent(new Event("dataProviderChanged"));
++		}
++	}
++}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d384b50d/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
----------------------------------------------------------------------
diff --cc frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
index ed6ffb8,0b67de8..952cca9
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
@@@ -127,19 -91,9 +127,20 @@@ COMPILE::JS 
  			{
                  target.hovered = false;
                  target.down = false;
+ 				target.dispatchEvent(new Event("rollout",true));
  			}
  		}
 +		
 +		COMPILE::JS
 +		protected function handleMouseOut(event:BrowserEvent):void
 +		{
 +			var target:ISelectableItemRenderer = event.target as ISelectableItemRenderer;
 +			if (target)
 +			{
 +				target.hovered = false;
 +				target.down = false;
 +			}
 +		}
  
  		/**
  		 * @private

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

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

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


[36/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - fix rc script

Posted by pe...@apache.org.
fix rc script


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

Branch: refs/heads/core_js_to_as
Commit: 5abf5baec5c7dbe580fdf67a74d1d860991c1422
Parents: f2eedac
Author: Alex Harui <ah...@apache.org>
Authored: Mon Nov 2 18:14:01 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Nov 2 18:14:01 2015 -0800

----------------------------------------------------------------------
 ApproveFlexJS.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5abf5bae/ApproveFlexJS.xml
----------------------------------------------------------------------
diff --git a/ApproveFlexJS.xml b/ApproveFlexJS.xml
index 842c74e..8575e73 100644
--- a/ApproveFlexJS.xml
+++ b/ApproveFlexJS.xml
@@ -470,9 +470,9 @@
     <target name="get.falcon.rc" if="falcon.rc">
         <property name="kit.jx.prefix" value="apache-flex-falconjx-0.5.0"/>
         <property name="binary.jx.kit" value="${kit.jx.prefix}-bin"/>
-        <get src="https://dist.apache.org/repos/dist/dev/flex/falcon/0.5.0/rc1/binaries/{binary.jx.kit}.zip"
+        <get src="https://dist.apache.org/repos/dist/dev/flex/falcon/0.5.0/rc1/binaries/${binary.jx.kit}.zip"
         dest="${basedir}/${binary.jx.kit}.zip" verbose="true" skipexisting="true"/>
-        <get src="https://dist.apache.org/repos/dist/dev/flex/falcon/0.5.0/rc1/binaries/{binary.jx.kit}.zip.md5"
+        <get src="https://dist.apache.org/repos/dist/dev/flex/falcon/0.5.0/rc1/binaries/${binary.jx.kit}.zip.md5"
         dest="${basedir}/${binary.jx.kit}.zip.md5" verbose="true" skipexisting="true"/>
         <checksum file="${basedir}/${binary.jx.kit}.zip" algorithm="md5" verifyproperty="falcon.md5.ok" />
         <condition property="FalconMD5Invalid">


[38/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - switch nightly to 0.6.0

Posted by pe...@apache.org.
switch nightly to 0.6.0


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

Branch: refs/heads/core_js_to_as
Commit: 70f0da10a7c77239ca40cbd715dbaa3672cc8950
Parents: 88d8c37
Author: Alex Harui <ah...@apache.org>
Authored: Mon Nov 16 15:15:24 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Nov 16 15:15:24 2015 -0800

----------------------------------------------------------------------
 ApproveFlexJS.xml                                        |  8 ++++----
 build.properties                                         |  2 +-
 .../CordovaCameraExample/CordovaCameraExample-app.xml    |  2 +-
 examples/flexjs/DesktopMap/DesktopMap-app.xml            |  2 +-
 examples/flexjs/MapSearch/MapSearch-app.xml              |  2 +-
 examples/flexjs/pom.xml                                  |  4 ++--
 installer.xml                                            |  4 ++--
 maven.xml                                                |  2 +-
 nightly.properties                                       |  6 +-----
 releasecandidate.xml                                     | 11 ++++++++++-
 10 files changed, 24 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/70f0da10/ApproveFlexJS.xml
----------------------------------------------------------------------
diff --git a/ApproveFlexJS.xml b/ApproveFlexJS.xml
index 8575e73..cdf3d85 100644
--- a/ApproveFlexJS.xml
+++ b/ApproveFlexJS.xml
@@ -436,7 +436,7 @@
     </target>
     <target name="get.falcon.if.needed" depends="get.falcon.nightly,get.falcon.rc" unless="FALCON_HOME" />
     <target name="get.falcon.nightly" if="falcon.nightly">
-        <property name="kit.jx.prefix" value="apache-flex-falconjx-0.5.0"/>
+        <property name="kit.jx.prefix" value="apache-flex-falconjx-0.6.0"/>
         <property name="binary.jx.kit" value="${kit.jx.prefix}-bin"/>
         <get src="http://apacheflexbuild.cloudapp.net:8080/job/flex-falcon/lastSuccessfulBuild/artifact/out/${binary.jx.kit}.zip"
              dest="${basedir}/${binary.jx.kit}.zip" verbose="true" skipexisting="true"/>
@@ -468,11 +468,11 @@
         <property name="FALCONJX_HOME" value="${basedir}/falconjx/js" />
     </target>
     <target name="get.falcon.rc" if="falcon.rc">
-        <property name="kit.jx.prefix" value="apache-flex-falconjx-0.5.0"/>
+        <property name="kit.jx.prefix" value="apache-flex-falconjx-0.6.0"/>
         <property name="binary.jx.kit" value="${kit.jx.prefix}-bin"/>
-        <get src="https://dist.apache.org/repos/dist/dev/flex/falcon/0.5.0/rc1/binaries/${binary.jx.kit}.zip"
+        <get src="https://dist.apache.org/repos/dist/dev/flex/falcon/0.6.0/rc1/binaries/${binary.jx.kit}.zip"
         dest="${basedir}/${binary.jx.kit}.zip" verbose="true" skipexisting="true"/>
-        <get src="https://dist.apache.org/repos/dist/dev/flex/falcon/0.5.0/rc1/binaries/${binary.jx.kit}.zip.md5"
+        <get src="https://dist.apache.org/repos/dist/dev/flex/falcon/0.6.0/rc1/binaries/${binary.jx.kit}.zip.md5"
         dest="${basedir}/${binary.jx.kit}.zip.md5" verbose="true" skipexisting="true"/>
         <checksum file="${basedir}/${binary.jx.kit}.zip" algorithm="md5" verifyproperty="falcon.md5.ok" />
         <condition property="FalconMD5Invalid">

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/70f0da10/build.properties
----------------------------------------------------------------------
diff --git a/build.properties b/build.properties
index ad5a887..1742c34 100644
--- a/build.properties
+++ b/build.properties
@@ -21,7 +21,7 @@
 release.name = Apache Flex (FlexJS)
 # this is the version that appears in the flex-sdk-description <description> tag
 # and on the package name.  This is the publicly known version of FlexJS
-release.version = 0.5.0
+release.version = 0.6.0
 
 # fb.release.version must start with 4 in order for FB to accept it.
 # intellij seems to want it to be at least 4.6 in order to not use certain

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/70f0da10/examples/flexjs/CordovaCameraExample/CordovaCameraExample-app.xml
----------------------------------------------------------------------
diff --git a/examples/flexjs/CordovaCameraExample/CordovaCameraExample-app.xml b/examples/flexjs/CordovaCameraExample/CordovaCameraExample-app.xml
index e3bc1ff..c882034 100644
--- a/examples/flexjs/CordovaCameraExample/CordovaCameraExample-app.xml
+++ b/examples/flexjs/CordovaCameraExample/CordovaCameraExample-app.xml
@@ -45,7 +45,7 @@
 	<!-- A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade.
 	Values can also be 1-part or 2-part. It is not necessary to have a 3-part value.
 	An updated version of application must have a versionNumber value higher than the previous version. Required for namespace >= 2.5 . -->
-	<versionNumber>0.5.0</versionNumber>
+	<versionNumber>0.6.0</versionNumber>
 
 	<!-- A string value (such as "v1", "2.5", or "Alpha 1") that represents the version of the application, as it should be shown to users. Optional. -->
 	<!-- <versionLabel></versionLabel> -->

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/70f0da10/examples/flexjs/DesktopMap/DesktopMap-app.xml
----------------------------------------------------------------------
diff --git a/examples/flexjs/DesktopMap/DesktopMap-app.xml b/examples/flexjs/DesktopMap/DesktopMap-app.xml
index 4b6c86b..9c10a05 100644
--- a/examples/flexjs/DesktopMap/DesktopMap-app.xml
+++ b/examples/flexjs/DesktopMap/DesktopMap-app.xml
@@ -45,7 +45,7 @@
 	<!-- A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade.
 	Values can also be 1-part or 2-part. It is not necessary to have a 3-part value.
 	An updated version of application must have a versionNumber value higher than the previous version. Required for namespace >= 2.5 . -->
-	<versionNumber>0.5.0</versionNumber>
+	<versionNumber>0.6.0</versionNumber>
 
 	<!-- A string value (such as "v1", "2.5", or "Alpha 1") that represents the version of the application, as it should be shown to users. Optional. -->
 	<!-- <versionLabel></versionLabel> -->

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/70f0da10/examples/flexjs/MapSearch/MapSearch-app.xml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MapSearch/MapSearch-app.xml b/examples/flexjs/MapSearch/MapSearch-app.xml
index c2f3dc8..35715a7 100644
--- a/examples/flexjs/MapSearch/MapSearch-app.xml
+++ b/examples/flexjs/MapSearch/MapSearch-app.xml
@@ -45,7 +45,7 @@
 	<!-- A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade.
 	Values can also be 1-part or 2-part. It is not necessary to have a 3-part value.
 	An updated version of application must have a versionNumber value higher than the previous version. Required for namespace >= 2.5 . -->
-	<versionNumber>0.5.0</versionNumber>
+	<versionNumber>0.6.0</versionNumber>
 
 	<!-- A string value (such as "v1", "2.5", or "Alpha 1") that represents the version of the application, as it should be shown to users. Optional. -->
 	<!-- <versionLabel></versionLabel> -->

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/70f0da10/examples/flexjs/pom.xml
----------------------------------------------------------------------
diff --git a/examples/flexjs/pom.xml b/examples/flexjs/pom.xml
index 77bb498..4681cba 100644
--- a/examples/flexjs/pom.xml
+++ b/examples/flexjs/pom.xml
@@ -82,7 +82,7 @@
                         <dependency>
                             <groupId>org.apache.flex.compiler</groupId>
                             <artifactId>falcon-jx-compiler</artifactId>
-                            <version>0.5.0-SNAPSHOT</version>
+                            <version>0.6.0-SNAPSHOT</version>
                         </dependency>
                     </dependencies>
                 </plugin>
@@ -94,7 +94,7 @@
         <dependency>
             <groupId>org.apache.flex.flexjs</groupId>
             <artifactId>framework</artifactId>
-            <version>0.5.0-SNAPSHOT</version>
+            <version>0.6.0-SNAPSHOT</version>
             <type>pom</type>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/70f0da10/installer.xml
----------------------------------------------------------------------
diff --git a/installer.xml b/installer.xml
index 0906ced..c50c7ea 100644
--- a/installer.xml
+++ b/installer.xml
@@ -57,8 +57,8 @@
     
     <property name="air.sdk.version" value="14.0"/>
     <property name="flash.sdk.version" value="14.0"/>
-    <property name="flexjs.version" value="0.5.0"/>
-    <property name="falcon.version" value="0.5.0"/>
+    <property name="flexjs.version" value="0.6.0"/>
+    <property name="falcon.version" value="0.6.0"/>
     
     <property name="swfobject.url.server" value="https://github.com" />
     <property name="swfobject.url.folder" value="swfobject/swfobject/archive" />

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/70f0da10/maven.xml
----------------------------------------------------------------------
diff --git a/maven.xml b/maven.xml
index 2be15e9..e335d2a 100644
--- a/maven.xml
+++ b/maven.xml
@@ -19,7 +19,7 @@
 -->
 <project default="install" basedir=".">
 
-    <property name="version" value="0.5.0"/>
+    <property name="version" value="0.6.0"/>
 
     <!-- Set type to RELEASE in order to deploy to the release repo -->
     <property name="type" value="SNAPSHOT"/>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/70f0da10/nightly.properties
----------------------------------------------------------------------
diff --git a/nightly.properties b/nightly.properties
index 39f79ed..cc6601a 100644
--- a/nightly.properties
+++ b/nightly.properties
@@ -20,14 +20,10 @@
 # flags
 nightly = true
 # path to falconjx nightly
-#falcon.server.url = http://people.apache.org
-#falcon.md5.server.url = http://people.apache.org
-#falcon.folder = ~aharui/nightly/falcon
-#falcon.version = 0.5.0
 falcon.server.url = http://apacheflexbuild.cloudapp.net:8080
 falcon.md5.server.url = http://apacheflexbuild.cloudapp.net:8080
 falcon.folder = job/flex-falcon/lastSuccessfulBuild/artifact/out
-falcon.version = 0.5.0
+falcon.version = 0.6.0
 #need this until Installer 3.2 comes out
 jburg.server=http://downloads.sourceforge.net
 jburg.folder=project/jburg

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/70f0da10/releasecandidate.xml
----------------------------------------------------------------------
diff --git a/releasecandidate.xml b/releasecandidate.xml
index a789267..a6e50fb 100644
--- a/releasecandidate.xml
+++ b/releasecandidate.xml
@@ -338,7 +338,16 @@
 			<arg value="update" />
 			<arg value="trunk/content/installer/sdk-installer-config-4.0.xml" />
 		</exec>
-		<property name="latest.release" value="${config.products.ApacheFlexJS.latestVersion}" />	
+        <exec executable="${svn}" dir="${site}" failonerror="true" >
+            <arg value="update" />
+            <arg value="trunk/content/download-flexjs.cmsPage" />
+        </exec>
+        <exec executable="${svn}" dir="${site}" failonerror="true" >
+            <arg value="update" />
+            <arg value="trunk/templates" />
+        </exec>
+        <xmlproperty file="${site}/trunk/content/installer/sdk-installer-config-4.0.xml" semanticAttributes="true" collapseAttributes="true"/>
+		<property name="latest.release" value="${config.products.ApacheFlexJS.latestVersion}" />
         <replaceregexp byline="true" flags="g">
             <regexp pattern="ApacheFlexJS(.*)latestVersion=&quot;${latest.release}&quot;(.*)"/>
             <substitution expression="ApacheFlexJS\1latestVersion=&quot;${release.version}&quot;\2"/>


[07/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - ASDoc changes.

Posted by pe...@apache.org.
ASDoc changes.


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

Branch: refs/heads/core_js_to_as
Commit: e494d4bda7a6953fc112cfece2edccac5ae075cb
Parents: bf6d772
Author: Peter Ent <pe...@apache.org>
Authored: Mon Oct 5 12:01:05 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Mon Oct 5 12:01:05 2015 -0400

----------------------------------------------------------------------
 .../src/org/apache/flex/binding/ChainBinding.as |  4 +---
 .../flex/binding/ApplicationDataBinding.as      |  6 ++++-
 .../apache/flex/binding/ContainerDataBinding.as |  4 +++-
 .../as/src/org/apache/flex/core/Application.as  |  6 +++--
 .../as/src/org/apache/flex/core/IViewport.as    | 25 ++++++++++++++++++++
 .../as/src/org/apache/flex/html/Container.as    | 16 +++++++++----
 .../HTML/as/src/org/apache/flex/html/Panel.as   |  7 ++++--
 7 files changed, 54 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e494d4bd/frameworks/projects/Binding/as/src/org/apache/flex/binding/ChainBinding.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Binding/as/src/org/apache/flex/binding/ChainBinding.as b/frameworks/projects/Binding/as/src/org/apache/flex/binding/ChainBinding.as
index 207246a..076a231 100644
--- a/frameworks/projects/Binding/as/src/org/apache/flex/binding/ChainBinding.as
+++ b/frameworks/projects/Binding/as/src/org/apache/flex/binding/ChainBinding.as
@@ -27,9 +27,7 @@ package org.apache.flex.binding
 	import org.apache.flex.events.ValueChangeEvent;
 
     /**
-     *  The SimpleBinding class is lightweight data-binding class that
-     *  is optimized for simple assignments of one object's property to
-     *  another object's property.
+     *  The ChainBinding class is used to track changes of nested properties.
      *  
      *  @langversion 3.0
      *  @playerversion Flash 10.2

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e494d4bd/frameworks/projects/Binding/asjs/src/org/apache/flex/binding/ApplicationDataBinding.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Binding/asjs/src/org/apache/flex/binding/ApplicationDataBinding.as b/frameworks/projects/Binding/asjs/src/org/apache/flex/binding/ApplicationDataBinding.as
index 4038645..8d794b9 100644
--- a/frameworks/projects/Binding/asjs/src/org/apache/flex/binding/ApplicationDataBinding.as
+++ b/frameworks/projects/Binding/asjs/src/org/apache/flex/binding/ApplicationDataBinding.as
@@ -31,7 +31,11 @@ package org.apache.flex.binding
     
     /**
      *  The ApplicationDataBinding class implements databinding for
-     *  Application instances.  Different classes can have
+     *  Application instances. When you want to use databinding within
+     *  the MXML file that has Application as its root tag, include
+     *  the ApplicationDataBinding tag as well.
+     *
+     *  Different classes can have
      *  different databinding implementation that optimize for
      *  the different lifecycles.  For example, an item renderer
      *  databinding implementation can wait to execute databindings

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e494d4bd/frameworks/projects/Binding/asjs/src/org/apache/flex/binding/ContainerDataBinding.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Binding/asjs/src/org/apache/flex/binding/ContainerDataBinding.as b/frameworks/projects/Binding/asjs/src/org/apache/flex/binding/ContainerDataBinding.as
index d138d60..42c5178 100644
--- a/frameworks/projects/Binding/asjs/src/org/apache/flex/binding/ContainerDataBinding.as
+++ b/frameworks/projects/Binding/asjs/src/org/apache/flex/binding/ContainerDataBinding.as
@@ -32,7 +32,9 @@ package org.apache.flex.binding
     
     /**
      *  The ContainerDataBinding class implements databinding for
-     *  Container instances.  Different classes can have
+     *  Container instances.  Place a ContainerDataBinding tag into
+     *  the MXML file that has Container as its root tag.
+     *  Different classes can have
      *  different databinding implementation that optimize for
      *  the different lifecycles.  For example, an item renderer
      *  databinding implementation can wait to execute databindings

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e494d4bd/frameworks/projects/Core/as/src/org/apache/flex/core/Application.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/Application.as b/frameworks/projects/Core/as/src/org/apache/flex/core/Application.as
index fbcf83b..f3c6205 100644
--- a/frameworks/projects/Core/as/src/org/apache/flex/core/Application.as
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/Application.as
@@ -66,7 +66,8 @@ package org.apache.flex.core
     
     /**
      *  Dispatched at startup after the initial view has been
-     *  put on the display list.
+     *  put on the display list. This event is sent before
+     *  applicationComplete is dispatched.
      *  
      *  @langversion 3.0
      *  @playerversion Flash 10.2
@@ -90,10 +91,11 @@ package org.apache.flex.core
      *  The Application class is the main class and entry point for a FlexJS
      *  application.  This Application class is different than the
      *  Flex SDK's mx:Application or spark:Application in that it does not contain
-     *  user interface elements.  Those UI elements go in the views.  This
+     *  user interface elements.  Those UI elements go in the views (ViewBase).  This
      *  Application class expects there to be a main model, a controller, and 
      *  an initial view.
      *  
+     *  @see ViewBase
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e494d4bd/frameworks/projects/Core/as/src/org/apache/flex/core/IViewport.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/IViewport.as b/frameworks/projects/Core/as/src/org/apache/flex/core/IViewport.as
index b66b74d..d84addc 100644
--- a/frameworks/projects/Core/as/src/org/apache/flex/core/IViewport.as
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/IViewport.as
@@ -23,11 +23,21 @@ package org.apache.flex.core
     /**
      * A Viewport is the area of a Container set aside for displaying
      * content and any scrolling controls.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
      */
 	public interface IViewport extends IBead
 	{
         /**
          * Get the actual parent of the container's content.
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
          */
         function get contentView():IUIBase;
         
@@ -35,6 +45,11 @@ package org.apache.flex.core
 		 * Sets the upper left position of the viewport
          * @param x The left position.
          * @param y The top position.
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
 		 */
 		function setPosition(x:Number, y:Number):void;
 		
@@ -42,6 +57,11 @@ package org.apache.flex.core
 		 * Size the content area based on any visible scrolling controls and
          * the given width and height.  If width and/or height is NaN
          * then that dimension is being sized to content.
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
 		 */
 		function layoutViewportBeforeContentLayout(width:Number, height:Number):void;
 		
@@ -51,6 +71,11 @@ package org.apache.flex.core
          * content area size appropriately, and display any scrolling controls
          * before returning the resulting size of the viewport (which means the
          * area used up by both content area and scrolling controls).
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
          */
         function layoutViewportAfterContentLayout():Size;
         

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e494d4bd/frameworks/projects/HTML/as/src/org/apache/flex/html/Container.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/Container.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/Container.as
index fb9b867..ce6957c 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/Container.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/Container.as
@@ -30,12 +30,16 @@ package org.apache.flex.html
 	[DefaultProperty("mxmlContent")]
     
     /**
-     *  The Container class implements a basic container of
+     *  The Container class implements a basic container for
      *  other controls and containers.  The position and size
-     *  of the children are determined by a layout or by
-     *  absolute positioning and sizing.  This Container does
-     *  not have a built-in scrollbar or clipping of content
-     *  exceeds its boundaries.
+     *  of the children are determined by a layout while the size of
+     *  a Container can either be determined by its children or by
+     *  specifying an exact size in pixels or as a percentage of the
+     *  parent element.
+     *
+     *  This Container does not have a built-in scroll bar or clipping of
+     *  its content should the content exceed the Container's boundaries. To
+     *  have scroll bars and clipping, add the ScrollingView bead.  
      * 
      *  While the container is relatively lightweight, it should
      *  generally not be used as the base class for other controls,
@@ -53,6 +57,8 @@ package org.apache.flex.html
      *  control and not a Container because the Alert does not
      *  support an arbitrary set of children.
      *  
+     *  @see org.apache.flex.html.beads.layout
+     *  @see org.apache.flex.html.supportClasses.ScrollingViewport
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e494d4bd/frameworks/projects/HTML/as/src/org/apache/flex/html/Panel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/Panel.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/Panel.as
index a1fc87e..6219d9d 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/Panel.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/Panel.as
@@ -25,8 +25,8 @@ package org.apache.flex.html
 	/**
 	 *  The Panel class is a Container component capable of parenting other
 	 *  components. The Panel has a TitleBar.  If you want to a Panel with
-     *  a ControlBar, use org.apache.flex.hmlt.PanelWithControlBar which
-     *  will instantiate, by default, an org.apache.flex.html.ControlBar. 
+     *  a ControlBar, use PanelWithControlBar which
+     *  will instantiate, by default, an ControlBar. 
 	 *  The Panel uses the following bead types:
 	 * 
 	 *  org.apache.flex.core.IBeadModel: the data model for the Panel that includes the title and whether
@@ -35,6 +35,9 @@ package org.apache.flex.html
 	 *  org.apache.flex.core.IBorderBead: if present, draws a border around the Panel.
 	 *  org.apache.flex.core.IBackgroundBead: if present, provides a colored background for the Panel.
 	 *  
+	 *  @see PanelWithControlBar
+	 *  @see ControlBar
+	 *  @see TitleBar
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6


[08/41] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Changed DataGrid so that all of the columns (lists) scroll together. Fixed roll out bug in DataGrid.

Posted by pe...@apache.org.
Changed DataGrid so that all of the columns (lists) scroll together. Fixed roll out bug in DataGrid.


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

Branch: refs/heads/core_js_to_as
Commit: 657ce8bddff41e840eed3dd556d8db11cf8b52d8
Parents: e494d4b
Author: Peter Ent <pe...@apache.org>
Authored: Mon Oct 5 12:03:42 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Mon Oct 5 12:03:42 2015 -0400

----------------------------------------------------------------------
 .../apache/flex/core/IListPresentationModel.as  |  11 +
 frameworks/projects/Core/asjs/defaults.css      |   1 -
 .../projects/Core/asjs/src/CoreASJSClasses.as   |   1 -
 .../src/org/apache/flex/core/IDataGridLayout.as |  55 ----
 .../apache/flex/core/IListPresentationModel.js  |   5 +
 frameworks/projects/Flat/as/defaults.css        |   1 -
 frameworks/projects/Flat/flat-manifest.xml      |   1 -
 frameworks/projects/HTML/as/defaults.css        |   5 +-
 .../DataItemRendererFactoryForArrayData.as      |  11 +-
 .../controllers/ItemRendererMouseController.as  |   1 +
 .../html/beads/models/ListPresentationModel.as  |  21 ++
 .../html/supportClasses/DataItemRenderer.as     |   2 +-
 .../html/supportClasses/ScrollingViewport.as    | 122 +++++++-
 .../html/supportClasses/UIItemRendererBase.as   |   9 +-
 .../apache/flex/html/supportClasses/Viewport.as |  54 +++-
 .../projects/HTML/asjs/src/HTMLASJSClasses.as   |   1 -
 .../org/apache/flex/html/beads/DataGridView.as  | 302 +++++++++++--------
 .../org/apache/flex/html/beads/IDataGridView.as |  36 ---
 .../flex/html/beads/layouts/DataGridLayout.as   | 157 ----------
 .../beads/models/DataGridPresentationModel.as   |   2 +
 frameworks/projects/HTML/basic-manifest.xml     |   1 -
 .../DataItemRendererFactoryForArrayData.js      |   5 +-
 .../html/beads/models/ListPresentationModel.js  |  19 ++
 23 files changed, 435 insertions(+), 388 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/Core/as/src/org/apache/flex/core/IListPresentationModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/IListPresentationModel.as b/frameworks/projects/Core/as/src/org/apache/flex/core/IListPresentationModel.as
index 0e523aa..8166c59 100644
--- a/frameworks/projects/Core/as/src/org/apache/flex/core/IListPresentationModel.as
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/IListPresentationModel.as
@@ -39,5 +39,16 @@ package org.apache.flex.core
 		 */
 		function get rowHeight():Number;
 		function set rowHeight(value:Number):void;
+		
+		/**
+		 * The distance each row should be separated from the row above.
+		 * 
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		function get separatorThickness():Number;
+		function set separatorThickness(value:Number):void;
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/Core/asjs/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/asjs/defaults.css b/frameworks/projects/Core/asjs/defaults.css
index 1cbc544..cb9a50f 100644
--- a/frameworks/projects/Core/asjs/defaults.css
+++ b/frameworks/projects/Core/asjs/defaults.css
@@ -65,7 +65,6 @@ DataGrid
     IDataGridPresentationModel: ClassReference("org.apache.flex.html.beads.models.DataGridPresentationModel");
     IBeadView: ClassReference("org.apache.flex.html.beads.DataGridView");
     IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataGridModel");
-    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.DataGridLayout");
     IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
     IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/Core/asjs/src/CoreASJSClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/asjs/src/CoreASJSClasses.as b/frameworks/projects/Core/asjs/src/CoreASJSClasses.as
index ef6790d..e385ade 100644
--- a/frameworks/projects/Core/asjs/src/CoreASJSClasses.as
+++ b/frameworks/projects/Core/asjs/src/CoreASJSClasses.as
@@ -27,7 +27,6 @@ package
  */
 internal class CoreASJSClasses
 {
-    import org.apache.flex.core.IDataGridLayout; IDataGridLayout;
     import org.apache.flex.core.IDataGridModel; IDataGridModel;
     import org.apache.flex.core.IDataGridPresentationModel; IDataGridPresentationModel;
     import org.apache.flex.core.IDateChooserModel; IDateChooserModel;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/Core/asjs/src/org/apache/flex/core/IDataGridLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/asjs/src/org/apache/flex/core/IDataGridLayout.as b/frameworks/projects/Core/asjs/src/org/apache/flex/core/IDataGridLayout.as
deleted file mode 100644
index d50bc27..0000000
--- a/frameworks/projects/Core/asjs/src/org/apache/flex/core/IDataGridLayout.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.core
-{
-	/**
-	 *  The IDataGridLayout interface provides the features necessary to lay
-	 *  out the components of a DataGrid: the size and position of its column
-	 *  headers and the size and position of each column.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public interface IDataGridLayout extends IBeadLayout
-	{
-		/**
-		 *  The component used as the column header.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		function get header():IUIBase;
-		function set header(value:IUIBase):void;
-		
-		/**
-		 *  The set of components used for the columns of the DataGrid.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		function get columns():Array;
-		function set columns(value:Array):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/Core/js/src/org/apache/flex/core/IListPresentationModel.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/js/src/org/apache/flex/core/IListPresentationModel.js b/frameworks/projects/Core/js/src/org/apache/flex/core/IListPresentationModel.js
index 5b8be2e..4c78c74 100644
--- a/frameworks/projects/Core/js/src/org/apache/flex/core/IListPresentationModel.js
+++ b/frameworks/projects/Core/js/src/org/apache/flex/core/IListPresentationModel.js
@@ -41,6 +41,11 @@ Object.defineProperties(org.apache.flex.core.IListPresentationModel.prototype, {
     rowHeight: {
         set: function(value) {},
         get: function() {}
+    },
+    /** @export */
+    separatorThickness: {
+        set: function(value) {},
+        get: function() {}
     }
 });
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/Flat/as/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/Flat/as/defaults.css b/frameworks/projects/Flat/as/defaults.css
index 32ca37d..53a91f1 100644
--- a/frameworks/projects/Flat/as/defaults.css
+++ b/frameworks/projects/Flat/as/defaults.css
@@ -193,7 +193,6 @@ DataGrid
     IDataGridPresentationModel: ClassReference("org.apache.flex.html.beads.models.DataGridPresentationModel");
     IBeadView: ClassReference("org.apache.flex.html.beads.DataGridView");
     IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataGridModel");
-    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.DataGridLayout");
     IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
     IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/Flat/flat-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Flat/flat-manifest.xml b/frameworks/projects/Flat/flat-manifest.xml
index 355a76a..ac05bf7 100644
--- a/frameworks/projects/Flat/flat-manifest.xml
+++ b/frameworks/projects/Flat/flat-manifest.xml
@@ -82,7 +82,6 @@
 
     <component id="DataGrid" class="org.apache.flex.html.DataGrid" lookupOnly="true" />
     <component id="DataGridColumn" class="org.apache.flex.html.supportClasses.DataGridColumn" lookupOnly="true" />
-    <component id="DataGridLayout" class="org.apache.flex.html.beads.layouts.DataGridLayout"  lookupOnly="true" />
 
     <component id="DateChooser" class="org.apache.flex.html.DateChooser" lookupOnly="true" />
     <component id="DateField" class="org.apache.flex.html.DateField" lookupOnly="true" />

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/as/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/defaults.css b/frameworks/projects/HTML/as/defaults.css
index da3cb48..f3c15b9 100644
--- a/frameworks/projects/HTML/as/defaults.css
+++ b/frameworks/projects/HTML/as/defaults.css
@@ -104,7 +104,6 @@ DataGrid
     IDataGridPresentationModel: ClassReference("org.apache.flex.html.beads.models.DataGridPresentationModel");
     IBeadView: ClassReference("org.apache.flex.html.beads.DataGridView");
     IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataGridModel");
-    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.DataGridLayout");
     IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
     IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
 
@@ -114,6 +113,10 @@ DataGrid
 	border-width: 1px;
 }
 
+.DataGridListArea {
+	background-color: #999999;
+}
+
 DateChooser {
     IBeadView:   ClassReference("org.apache.flex.html.beads.DateChooserView");
     IBeadModel:  ClassReference("org.apache.flex.html.beads.models.DateChooserModel");

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
index 0889efa..609bfbc 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
@@ -27,6 +27,8 @@ package org.apache.flex.html.beads
 	import org.apache.flex.core.ISelectionModel;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
+	import org.apache.flex.core.SimpleCSSStyles;
+	import org.apache.flex.core.UIBase;
 	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
@@ -139,11 +141,16 @@ package org.apache.flex.html.beads
 			
 			var n:int = dp.length; 
 			for (var i:int = 0; i < n; i++)
-			{
+			{				
 				var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
 				ir.index = i;
 				ir.labelField = labelField;
-				if (presentationModel) IUIBase(ir).height = presentationModel.rowHeight;
+				if (presentationModel) {
+					var style:SimpleCSSStyles = new SimpleCSSStyles();
+					style.marginBottom = presentationModel.separatorThickness;
+					UIBase(ir).style = style;
+					UIBase(ir).height = presentationModel.rowHeight;
+				}
 				dataGroup.addElement(ir);
 				ir.data = dp[i];
 			}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
index 517cc5a..0b67de8 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
@@ -91,6 +91,7 @@ package org.apache.flex.html.beads.controllers
 			{
                 target.hovered = false;
                 target.down = false;
+				target.dispatchEvent(new Event("rollout",true));
 			}
 		}
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/models/ListPresentationModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/models/ListPresentationModel.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/models/ListPresentationModel.as
index a97819f..897d8d6 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/models/ListPresentationModel.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/models/ListPresentationModel.as
@@ -68,6 +68,27 @@ package org.apache.flex.html.beads.models
 			dispatchEvent(new Event("rowHeightChanged"));
 		}
 		
+		private var _separatorThickness:Number = 0;
+		
+		/**
+		 *  The distance between rows.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get separatorThickness():Number
+		{
+			return _separatorThickness;
+		}
+		
+		public function set separatorThickness(value:Number):void
+		{
+			_separatorThickness = value;
+			dispatchEvent(new Event("separatorThicknessChanged"));
+		}
+		
 		private var _strand:IStrand;
 		
 		/**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/DataItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/DataItemRenderer.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/DataItemRenderer.as
index bf3f284..f14c736 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/DataItemRenderer.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/DataItemRenderer.as
@@ -123,7 +123,7 @@ package org.apache.flex.html.supportClasses
 			super.updateRenderer();
 			
 			background.graphics.clear();
-			background.graphics.beginFill(backgroundColor, (down||selected||hovered)?1:0);
+			background.graphics.beginFill(useColor, 1);
 			background.graphics.drawRect(0, 0, this.width, this.height);
 			background.graphics.endFill();
 		}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ScrollingViewport.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ScrollingViewport.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ScrollingViewport.as
index 2de82b1..96318c7 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ScrollingViewport.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/ScrollingViewport.as
@@ -35,25 +35,113 @@ package org.apache.flex.html.supportClasses
 	import org.apache.flex.html.beads.ScrollBarView;
 	import org.apache.flex.html.beads.models.ScrollBarModel;
 	
+	/**
+	 * The ScrollingViewport extends the Viewport class by adding horizontal and 
+	 * vertical scroll bars, if needed, to the content area of a Container. In
+	 * addition, the content of the Container is clipped so that items extending
+	 * outside the Container are hidden and reachable only by scrolling.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
 	public class ScrollingViewport extends Viewport implements IBead, IViewport
 	{		
+		/**
+		 * Constructor
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
+		 */
 		public function ScrollingViewport()
 		{
 		}
+		
+		private var _showsVerticalScrollBar:Boolean = true;
+		
+		/**
+		 * Determines whether or not the vertical scroll bar will show if needed.
+		 * The default is true, it will show when needed.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get showsVerticalScrollBar():Boolean
+		{
+			return _showsVerticalScrollBar;
+		}
+		public function set showsVerticalScrollBar(value:Boolean):void
+		{
+			_showsVerticalScrollBar = value;
+		}
+		
+		private var _showsHorizontalScrollBar:Boolean = true;
+		
+		/**
+		 * Determines whether or not the horizontal scroll bar will show if needed.
+		 * The default is true, it will show when needed.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get showsHorizontalScrollBar():Boolean
+		{
+			return _showsHorizontalScrollBar;
+		}
+		public function set showsHorizontalScrollBar(value:Boolean):void
+		{
+			_showsHorizontalScrollBar = value;
+		}
 				
 		private var _verticalScroller:ScrollBar;
+		
+		/**
+		 * The vertical scrolling component element.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
 		public function get verticalScroller():IViewportScroller
 		{
 			return _verticalScroller;
 		}
 		
 		private var _horizontalScroller:ScrollBar
+		
+		/**
+		 * The horizontal scrolling component element.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
 		public function get horizontalScroller():IViewportScroller
 		{
 			return _horizontalScroller;
 		}
         
         private var _verticalScrollPosition:Number = 0;
+		
+		
+		/**
+		 * The position of top of the content, measured in pixels, represented by
+		 * the vertical scroller. 
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
         public function get verticalScrollPosition():Number
         {
             return _verticalScrollPosition;
@@ -65,6 +153,16 @@ package org.apache.flex.html.supportClasses
         }
         
         private var _horizontalScrollPosition:Number = 0;
+		
+		/**
+		 * The position of the left edge of the content, measured in pixels, 
+		 * represented by the horizontal scroller.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
         public function get horizontalScrollPosition():Number
         {
             return _horizontalScrollPosition;
@@ -77,6 +175,7 @@ package org.apache.flex.html.supportClasses
 		
         private var viewportWidth:Number;
         private var viewportHeight:Number;
+		
         /**
          * @copy org.apache.flex.core.IViewport 
          */
@@ -106,8 +205,8 @@ package org.apache.flex.html.supportClasses
     			var host:UIBase = UIBase(_strand);
     			var visibleWidth:Number;
                 var visibleHeight:Number;
-                var needV:Boolean = contentSize.height > viewportHeight;
-                var needH:Boolean = contentSize.width > viewportWidth;
+                var needV:Boolean = (contentSize.height > viewportHeight) && showsVerticalScrollBar;
+                var needH:Boolean = (contentSize.width > viewportWidth) && showsHorizontalScrollBar;
                 
                 if (needV)
                 {
@@ -193,7 +292,9 @@ package org.apache.flex.html.supportClasses
             return contentSize;
 		}
 		
-		
+		/**
+		 * @private
+		 */
 		private function createVerticalScrollBar():ScrollBar
 		{
 			var vsbm:ScrollBarModel = new ScrollBarModel();
@@ -211,6 +312,9 @@ package org.apache.flex.html.supportClasses
 			return vsb;
 		}
 		
+		/**
+		 * @private
+		 */
 		private function createHorizontalScrollBar():ScrollBar
 		{
 			var hsbm:ScrollBarModel = new ScrollBarModel();
@@ -228,6 +332,9 @@ package org.apache.flex.html.supportClasses
 			return hsb;
 		}
 		
+		/**
+		 * @private
+		 */
 		private function handleVerticalScroll(event:Event):void
 		{
 			var host:UIBase = UIBase(_strand);
@@ -239,6 +346,9 @@ package org.apache.flex.html.supportClasses
 			_verticalScrollPosition = vpos;
 		}
 		
+		/**
+		 * @private
+		 */
 		private function handleHorizontalScroll(event:Event):void
 		{
 			var host:UIBase = UIBase(_strand);
@@ -250,6 +360,9 @@ package org.apache.flex.html.supportClasses
 			_horizontalScrollPosition = hpos;
 		}
 		
+		/**
+		 * @private
+		 */
 		private function handleVerticalScrollChange():void
 		{
 			if (_verticalScroller) {
@@ -257,6 +370,9 @@ package org.apache.flex.html.supportClasses
 			}
 		}
 		
+		/**
+		 * @private
+		 */
 		private function handleHorizontalScrollChange():void
 		{
 			if (_horizontalScroller) {

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/UIItemRendererBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/UIItemRendererBase.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/UIItemRendererBase.as
index d33a3aa..90c66fa 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/UIItemRendererBase.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/UIItemRendererBase.as
@@ -124,6 +124,7 @@ package org.apache.flex.html.supportClasses
 		public var highlightColor:uint = 0xCEDBEF;
 		public var selectedColor:uint = 0xA8C6EE;
 		public var downColor:uint = 0x808080;
+		protected var useColor:uint = backgroundColor;
 		
 		private var _data:Object;
 		
@@ -247,11 +248,13 @@ package org.apache.flex.html.supportClasses
 		public function updateRenderer():void
 		{
 			if (down)
-				backgroundColor = downColor;
+				useColor = downColor;
 			else if (hovered)
-				backgroundColor = highlightColor;
+				useColor = highlightColor;
 			else if (selected)
-				backgroundColor = selectedColor;
+				useColor = selectedColor;
+			else
+				useColor = backgroundColor;
 		}
 		
 		/**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/Viewport.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/Viewport.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/Viewport.as
index d731fa6..dc228f7 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/Viewport.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/supportClasses/Viewport.as
@@ -35,15 +35,38 @@ package org.apache.flex.html.supportClasses
     import org.apache.flex.utils.CSSContainerUtils;
 	
     /**
-     * @copy org.apache.flex.core.IViewport
+     * A Viewport is the area of a Container set aside for displaying
+     * content and any scrolling controls.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
      */
 	public class Viewport implements IBead, IViewport
 	{	
+		/**
+		 * Constructor
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
+		 */
 		public function Viewport()
 		{
 		}
 		
 		protected var contentArea:UIBase;
+		
+		/**
+		 * Get the actual parent of the container's content.
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
+		 */
         public function get contentView():IUIBase
         {
             return contentArea;
@@ -51,6 +74,14 @@ package org.apache.flex.html.supportClasses
         
 		protected var _strand:IStrand;
 		
+		/**
+		 * @copy org.apache.flex.core.IStrand
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
+		 */
 		public function set strand(value:IStrand):void
 		{
 			_strand = value;
@@ -63,7 +94,12 @@ package org.apache.flex.html.supportClasses
 		}
 		
         /**
-         * @copy org.apache.flex.core.IViewport 
+         * @copy org.apache.flex.core.IViewport#setPosition()
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
          */
         public function setPosition(x:Number, y:Number):void
         {
@@ -72,7 +108,12 @@ package org.apache.flex.html.supportClasses
         }
         
         /**
-         * @copy org.apache.flex.core.IViewport 
+         * @copy org.apache.flex.core.IViewport#layoutViewportBeforeContentLayout()
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
          */
 		public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
 		{
@@ -83,7 +124,12 @@ package org.apache.flex.html.supportClasses
 		}
 		
         /**
-         * @copy org.apache.flex.core.IViewport 
+         * @copy org.apache.flex.core.IViewport#layoutViewportAfterContentLayout()
+	     *  
+	     *  @langversion 3.0
+	     *  @playerversion Flash 10.2
+	     *  @playerversion AIR 2.6
+	     *  @productversion FlexJS 0.0
          */
 		public function layoutViewportAfterContentLayout():Size
 		{

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as b/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
index 4e7b67f..73547db 100644
--- a/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
+++ b/frameworks/projects/HTML/asjs/src/HTMLASJSClasses.as
@@ -31,7 +31,6 @@ internal class HTMLASJSClasses
 	import org.apache.flex.html.beads.DataGridView; DataGridView;
 	import org.apache.flex.html.beads.DateChooserView; DateChooserView;
 	import org.apache.flex.html.beads.DateFieldView; DateFieldView;
-	import org.apache.flex.html.beads.layouts.DataGridLayout; DataGridLayout;
     import org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout; FlexibleFirstChildHorizontalLayout;
 	import org.apache.flex.html.beads.models.DataGridModel; DataGridModel;
 	import org.apache.flex.html.beads.models.DateChooserModel; DateChooserModel;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
index d578a6e..150294c 100644
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
+++ b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
@@ -18,24 +18,26 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {	
-    import org.apache.flex.core.BeadViewBase;
-    import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IBeadModel;
-    import org.apache.flex.core.IDataGridLayout;
-    import org.apache.flex.core.IDataGridModel;
-    import org.apache.flex.core.ISelectionModel;
-    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.ButtonBar;
-    import org.apache.flex.html.Container;
-    import org.apache.flex.html.List;
-    import org.apache.flex.html.beads.layouts.ButtonBarLayout;
-    import org.apache.flex.html.beads.layouts.DataGridLayout;
-    import org.apache.flex.html.beads.models.ArraySelectionModel;
-    import org.apache.flex.html.beads.models.DataGridPresentationModel;
-    import org.apache.flex.html.supportClasses.DataGridColumn;
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IDataGridModel;
+	import org.apache.flex.core.ISelectableItemRenderer;
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IUIBase;
+	import org.apache.flex.core.SimpleCSSStyles;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.ButtonBar;
+	import org.apache.flex.html.Container;
+	import org.apache.flex.html.List;
+	import org.apache.flex.html.beads.layouts.ButtonBarLayout;
+	import org.apache.flex.html.beads.layouts.VerticalLayout;
+	import org.apache.flex.html.beads.models.ArraySelectionModel;
+	import org.apache.flex.html.beads.models.DataGridPresentationModel;
+	import org.apache.flex.html.supportClasses.DataGridColumn;
+	import org.apache.flex.html.supportClasses.ScrollingViewport;
 	import org.apache.flex.html.supportClasses.Viewport;
 	
 	/**
@@ -48,7 +50,7 @@ package org.apache.flex.html.beads
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class DataGridView extends BeadViewBase implements IDataGridView
+	public class DataGridView implements IBeadView
 	{
 		/**
 		 *  constructor.
@@ -62,27 +64,19 @@ package org.apache.flex.html.beads
 		{
 		}
 		
-		//private var background:Shape;
-		private var buttonBar:ButtonBar;
-		private var buttonBarModel:ArraySelectionModel;
-		private var columnContainer:Container;
-		private var columns:Array;
+		private var _strand:IStrand;
+		private var _header:ButtonBar;
+		private var _listArea:Container;
+		private var _lists:Array;
 		
 		/**
-		 *  The array of org.apache.flex.html.supportClasses.DataGridColumn instances.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
+		 * @private
 		 */
-		public function getColumnLists():Array
+		public function get host():IUIBase
 		{
-			return columns;
+			return _strand as IUIBase;
 		}
 		
-		private var _strand:IStrand;
-		
 		/**
 		 *  @copy org.apache.flex.core.IBead#strand
 		 *  
@@ -91,130 +85,146 @@ package org.apache.flex.html.beads
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		override public function set strand(value:IStrand):void
+		public function set strand(value:IStrand):void
 		{
 			_strand = value;
-			super.strand = value;
 			
-			IEventDispatcher(_strand).addEventListener("sizeChanged", onSizeChanged);
-			IEventDispatcher(_strand).addEventListener("widthChanged", onSizeChanged);
-			IEventDispatcher(_strand).addEventListener("heightChanged", onSizeChanged);
+			var host:UIBase = value as UIBase;
+			
+			_header = new ButtonBar();
+			_header.id = "dataGridHeader";
+			
+			var scrollPort:ScrollingViewport = new ScrollingViewport();
+			scrollPort.showsHorizontalScrollBar = false;
+			
+			_listArea = new Container();
+			_listArea.id = "dataGridListArea";
+			_listArea.className = "DataGridListArea";
+			_listArea.addBead(scrollPort);
+			
+			// place a border around the list area
+			var style:SimpleCSSStyles = new SimpleCSSStyles();
+			style.borderWidth = 1;
+			style.borderColor = 0x333333;
+			style.borderStyle = "solid";
+			_listArea.style = style;
+			
+			finishSetup(null);
+		}
+		
+		/**
+		 * @private
+		 */
+		private function finishSetup(event:Event):void
+		{
+			var host:UIBase = _strand as UIBase;
 			
 			// see if there is a presentation model already in place. if not, add one.
-			var modBead:IBead = _strand.getBeadByType(DataGridPresentationModel);
-			var presentationModel:DataGridPresentationModel;
-			if (modBead == null) {
+			var presentationModel:DataGridPresentationModel = _strand.getBeadByType(DataGridPresentationModel) as DataGridPresentationModel;
+			if (presentationModel == null) {
 				presentationModel = new DataGridPresentationModel();
 				_strand.addBead(presentationModel);
 			}
-			else {
-				presentationModel = modBead as DataGridPresentationModel;
-			}
 			
 			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
-			IEventDispatcher(sharedModel).addEventListener("dataProviderChanged",onDataProviderChanged);
+			IEventDispatcher(sharedModel).addEventListener("dataProviderChanged",handleDataProviderChanged);
 			
-			// create an array of columnLabels for use by the ButtonBar/DataGrid header.
 			var columnLabels:Array = new Array();
+			var buttonWidths:Array = new Array();
+			
 			for(var i:int=0; i < sharedModel.columns.length; i++) {
 				var dgc:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
 				columnLabels.push(dgc.label);
+				if (!isNaN(dgc.columnWidth)) buttonWidths.push(dgc.columnWidth);
 			}
+			
 			var bblayout:ButtonBarLayout = new ButtonBarLayout();
+			if (buttonWidths.length == sharedModel.columns.length) {
+				bblayout.buttonWidths = buttonWidths;
+			}
 			
-			buttonBarModel = new ArraySelectionModel();
+			var buttonBarModel:ArraySelectionModel = new ArraySelectionModel();
 			buttonBarModel.dataProvider = columnLabels;
 			
-			buttonBar = new ButtonBar();
-			buttonBar.addBead(buttonBarModel);
-			buttonBar.addBead(bblayout);
-			buttonBar.addBead(new Viewport());
-			buttonBar.height = 25;
-			buttonBar.width = UIBase(_strand).width;
-			UIBase(_strand).addElement(buttonBar);
-			
-			// Create a List for each column, storing a reference to each List in
-			// the columns property.
-			columns = new Array();
-			for(i=0; i < sharedModel.columns.length; i++) 
-			{
-				// Each list shares the same dataProvider but needs its own model to
-				// keep track of its own data.
-				var listModel:ISelectionModel = new ArraySelectionModel();
-				listModel.dataProvider = sharedModel.dataProvider;
-				
-				var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
-				
-				var list:List = new List();
-				list.addBead(listModel); 
-				list.itemRenderer = dataGridColumn.itemRenderer;
-				list.labelField = dataGridColumn.dataField;
-				list.addBead(presentationModel);
-				
-				var colWidth:Number = dataGridColumn.columnWidth;
-				if (!isNaN(colWidth)) list.width = colWidth;
-
-				UIBase(_strand).addElement(list);
-				columns.push(list);
-				list.addEventListener('change',columnListChangeHandler);
-				list.addEventListener('rollover',columnListRollOverHandler);
-				list.addEventListener('layoutComplete',forwardEvent);
-			}
+			_header.addBead(buttonBarModel);
+			_header.addBead(bblayout);
+			_header.addBead(new Viewport());
+			host.addElement(_header);
+			
+			host.addElement(_listArea);
 			
-			// TODO: allow a developer to specify their own DataGridLayout
-			// possibly by seeing if a bead already exists
+			// do we know what the size is? If not, wait to be sized
 			
-			onSizeChanged(null);
-			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
+			if (host.isHeightSizedToContent() || host.isWidthSizedToContent()) {
+				host.addEventListener("sizeChanged", handleSizeChanges);
+			}
+				
+				// else size now
+			else {
+				handleDataProviderChanged(event);
+			}
 		}
 		
-		private function onSizeChanged(event:Event):void
+		/**
+		 * @private
+		 */
+		private function handleSizeChanges(event:Event):void
 		{
-			var bead:IBead = _strand.getBeadByType(IDataGridLayout);
-			var layout:IDataGridLayout;
-			if (bead == null) {
-				// NOTE: the following line will not cross-compile correctly into JavaScript
-				// so it has been commented and the class hard-coded.
-				//layout = new ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout")) as IDataGridLayout;
-				layout = new DataGridLayout();
-				_strand.addBead(layout);
-			} else {
-				layout = bead as IDataGridLayout;
+			_header.x = 0;
+			_header.y = 0;
+			_header.width = host.width;
+			_header.height = 25;
+			
+			_listArea.x = 0;
+			_listArea.y = 26;
+			_listArea.width = host.width;
+			_listArea.height = host.height - _header.height;
+			
+			if (_lists != null) {
+				var xpos:Number = 0;
+				for (var i:int=0; i < _lists.length; i++) {
+					var list:List = _lists[i] as List;
+					list.x = xpos;
+					list.y = 0;
+					
+					xpos += list.width + 1;
+				}
 			}
-			layout.header = buttonBar;
-			layout.columns = columns;
-			layout.layout();
 		}
 		
 		/**
 		 * @private
-		 * When the dataProvider is changed for the DataGrid, this updates each List (column)
-		 * with the new (or changed) dataProvider.
 		 */
-		private function onDataProviderChanged(event:Event):void
+		private function handleDataProviderChanged(event:Event):void
 		{
 			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
 			
-			for (var i:int=0; i < columns.length; i++)
+			if (_lists == null || _lists.length == 0) {
+				createLists();
+			}
+			
+			for (var i:int=0; i < _lists.length; i++)
 			{
-				var list:List = columns[i] as List;
+				var list:List = _lists[i] as List;
 				var listModel:ISelectionModel = list.getBeadByType(IBeadModel) as ISelectionModel;
 				listModel.dataProvider = sharedModel.dataProvider;
 			}
+			
+			handleSizeChanges(event);
 		}
 		
 		/**
 		 * @private
 		 */
-		private function columnListChangeHandler(event:Event):void
+		private function handleColumnListChange(event:Event):void
 		{
 			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
 			var list:List = event.target as List;
 			sharedModel.selectedIndex = list.selectedIndex;
 			
-			for(var i:int=0; i < columns.length; i++) {
-				if (list != columns[i]) {
-					var otherList:List = columns[i] as List;
+			for(var i:int=0; i < _lists.length; i++) {
+				if (list != _lists[i]) {
+					var otherList:List = _lists[i] as List;
 					otherList.selectedIndex = list.selectedIndex;
 				}
 			}
@@ -225,14 +235,15 @@ package org.apache.flex.html.beads
 		/**
 		 * @private
 		 */
-		private function columnListRollOverHandler(event:Event):void
+		private function handleColumnListRollOver(event:Event):void
 		{
-			var list:List = event.target as List;
+			var itemRenderer:ISelectableItemRenderer = event.target as ISelectableItemRenderer;
+			var list:List = event.currentTarget as List;
 			if (list == null) return;
-			for(var i:int=0; i < columns.length; i++) {
-				if (list != columns[i]) {
-					var otherList:List = columns[i] as List;
-					otherList.rollOverIndex = list.rollOverIndex;
+			for(var i:int=0; i < _lists.length; i++) {
+				if (list != _lists[i]) {
+					var otherList:List = _lists[i] as List;
+					otherList.rollOverIndex = itemRenderer.index;
 				}
 			}
 			
@@ -242,10 +253,63 @@ package org.apache.flex.html.beads
 		/**
 		 * @private
 		 */
-		private function forwardEvent(event:Event):void
+		private function handleColumnListRollOut(event:Event):void
+		{
+			for(var i:int=0; i < _lists.length; i++) {
+				var otherList:List = _lists[i] as List;
+				otherList.rollOverIndex = -1;
+			}
+			
+			IEventDispatcher(_strand).dispatchEvent(new Event('rollOver'));
+		}
+		
+		/**
+		 * @private
+		 */
+		private function createLists():void
 		{
-			IEventDispatcher(_strand).dispatchEvent(event);
+			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
+			var presentationModel:DataGridPresentationModel = _strand.getBeadByType(DataGridPresentationModel) as DataGridPresentationModel;
+			var listWidth:Number = host.width / sharedModel.columns.length;
+			
+			_lists = new Array();
+			
+			for (var i:int=0; i < sharedModel.columns.length; i++) {
+				
+				var listModel:ISelectionModel = new ArraySelectionModel();
+				listModel.dataProvider = sharedModel.dataProvider;
+				
+				var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
+				
+				var list:List = new List();
+				list.id = "dataGridColumn"+String(i);
+				list.className = "DataGridColumn";
+				list.addBead(listModel); 
+				list.addBead(new Viewport()); // do not want lists to scroll independently
+				list.addBead(new VerticalLayout());
+				list.itemRenderer = dataGridColumn.itemRenderer;
+				list.labelField = dataGridColumn.dataField;
+				list.addEventListener('change',handleColumnListChange);
+				list.addEventListener('rollover',handleColumnListRollOver);
+				list.addEventListener('rollout',handleColumnListRollOut);
+				list.addBead(presentationModel);
+				
+				// do not want lists to have their own sizes
+				var style:SimpleCSSStyles = new SimpleCSSStyles();
+				style.borderWidth = 0;
+				style.backgroundColor = 0xFFFFFF;
+				list.style = style;
+				
+				var colWidth:Number = dataGridColumn.columnWidth;
+				if (!isNaN(colWidth)) list.width = colWidth - 1;
+				else list.width = listWidth - 1;
+				
+				_listArea.addElement(list);	
+				_lists.push(list);
+			}
+			
+			_listArea.dispatchEvent(new Event("layoutNeeded"));
 		}
-		 
 	}
 }
+

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/IDataGridView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/IDataGridView.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/IDataGridView.as
deleted file mode 100644
index 8f04d11..0000000
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/IDataGridView.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.beads
-{
-	import org.apache.flex.core.IBeadView;
-	
-	/**
-	 *  The IDataGridView interface marks as a component as being the bead that
-	 *  can create the visual pieces for a org.apache.flex.html.DataGrid. 
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public interface IDataGridView extends IBeadView
-	{
-		
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/layouts/DataGridLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/layouts/DataGridLayout.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/layouts/DataGridLayout.as
deleted file mode 100644
index f6849ce..0000000
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/layouts/DataGridLayout.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.beads.layouts
-{	
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IDataGridLayout;
-	import org.apache.flex.core.IDataGridModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.ButtonBar;
-	import org.apache.flex.html.supportClasses.DataGridColumn;
-	
-	/**
-	 * DataGridLayout is a class that handles the size and positioning of the
-	 * elements of a DataGrid. This includes the ButtonBar used for the column
-	 * headers and the Lists that are the columns.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DataGridLayout implements IBeadLayout, IDataGridLayout
-	{
-		/**
-		 *  constructor
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DataGridLayout()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _header:UIBase;
-		
-		/**
-		 * The element that is the header for the DataGrid
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get header():IUIBase
-		{
-			return _header;
-		}
-		public function set header(value:IUIBase):void
-		{
-			_header = UIBase(value);
-		}
-		
-		private var _columns:Array;
-		
-		/**
-		 * The array of column elements.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get columns():Array
-		{
-			return _columns;
-		}
-		public function set columns(value:Array):void
-		{
-			_columns = value;
-		}
-		
-        /**
-         * @copy org.apache.flex.core.IBeadLayout#layout
-         */
-		public function layout():Boolean
-		{						
-			var sw:Number = UIBase(_strand).width;
-			var sh:Number = UIBase(_strand).height;
-			
-			var columnHeight:Number = Math.floor(sh - header.height);
-			var columnWidth:Number  = Math.floor(sw / columns.length);
-			
-			var xpos:Number = 0;
-			var ypos:Number = Math.floor(header.height);
-			
-			// TODO: change the layout so that the model's DataGridColumn.columnWidth
-			// isn't used blindly, but is considered in the overall width. In other words,
-			// right now the width could exceed the strand's width.
-			var model:IDataGridModel = _strand.getBeadByType(IDataGridModel) as IDataGridModel;
-			
-			var buttonWidths:Array = new Array();
-			
-			for(var i:int=0; i < columns.length; i++) {
-				var column:UIBase = columns[i] as UIBase;
-				column.x = xpos;
-				column.y = ypos;
-				column.height = columnHeight;
-				
-				var dgc:DataGridColumn = model.columns[i];
-				if (!isNaN(dgc.columnWidth)) column.width = dgc.columnWidth;
-				else column.width  = columnWidth;
-				
-				xpos += column.width;
-				
-				buttonWidths.push(column.width);
-			}
-			
-			var bar:ButtonBar = header as ButtonBar;
-			var barLayout:ButtonBarLayout = bar.getBeadByType(ButtonBarLayout) as ButtonBarLayout;
-			barLayout.buttonWidths = buttonWidths;
-			
-			header.x = 0;
-			header.y = 0;
-			header.width = sw;
-			header.dispatchEvent(new Event("layoutNeeded"));
-			
-			return true;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/models/DataGridPresentationModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/models/DataGridPresentationModel.as b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/models/DataGridPresentationModel.as
index 2959aad..0a00edb 100644
--- a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/models/DataGridPresentationModel.as
+++ b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/models/DataGridPresentationModel.as
@@ -44,6 +44,8 @@ package org.apache.flex.html.beads.models
 		public function DataGridPresentationModel()
 		{
 			super();
+			
+			separatorThickness = 1;
 		}
 		
 		private var _columnLabels:Array;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/basic-manifest.xml b/frameworks/projects/HTML/basic-manifest.xml
index 5ddd403..71a4049 100644
--- a/frameworks/projects/HTML/basic-manifest.xml
+++ b/frameworks/projects/HTML/basic-manifest.xml
@@ -81,7 +81,6 @@
 
     <component id="DataGrid" class="org.apache.flex.html.DataGrid"/>
     <component id="DataGridColumn" class="org.apache.flex.html.supportClasses.DataGridColumn"/>
-    <component id="DataGridLayout" class="org.apache.flex.html.beads.layouts.DataGridLayout" />
 
     <component id="DateChooser" class="org.apache.flex.html.DateChooser"/>
     <component id="DateField" class="org.apache.flex.html.DateField"/>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.js b/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.js
index 73fe84e..4971449 100644
--- a/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.js
+++ b/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.js
@@ -129,7 +129,10 @@ org.apache.flex.html.beads.DataItemRendererFactoryForArrayData.
     ir.index = i;
     ir.labelField = this.model.labelField;
     ir.data = dp[i];
-    if (presModel) ir.height = presModel.rowHeight;
+    if (presModel) {
+      ir.element.style['margin-bottom'] = presModel.separatorThickness;
+      ir.height = presModel.rowHeight;
+    }
   }
 
   var newEvent = new org.apache.flex.events.Event('itemsCreated');

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/657ce8bd/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/models/ListPresentationModel.js
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/models/ListPresentationModel.js b/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/models/ListPresentationModel.js
index 9b9bfeb..91d4371 100644
--- a/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/models/ListPresentationModel.js
+++ b/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/models/ListPresentationModel.js
@@ -42,6 +42,13 @@ org.apache.flex.html.beads.models.ListPresentationModel.prototype.rowHeight_ = 3
 
 
 /**
+ * @private
+ * @type {number}
+ */
+org.apache.flex.html.beads.models.ListPresentationModel.prototype.separatorThickness_ = 0;
+
+
+/**
  * Metadata
  *
  * @type {Object.<string, Array.<Object>>}
@@ -71,5 +78,17 @@ Object.defineProperties(org.apache.flex.html.beads.models.ListPresentationModel.
             this.rowHeight_ = value;
             this.dispatchEvent('rowHeightChanged');
         }
+    },
+    /** @export */
+    separatorThickness: {
+        /** @this {org.apache.flex.html.beads.models.ListPresentationModel} */
+        get: function() {
+            return this.separatorThickness_;
+        },
+        /** @this {org.apache.flex.html.beads.models.ListPresentationModel} */
+        set: function(value) {
+            this.separatorThickness_ = value;
+            this.dispatchEvent('separatorThicknessChanged');
+        }
     }
 });