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/18 20:55:17 UTC

[1/2] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Port of Mobile project.

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


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/StackedViewManagerView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/StackedViewManagerView.as b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/StackedViewManagerView.as
deleted file mode 100644
index fd1a58b..0000000
--- a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/StackedViewManagerView.as
+++ /dev/null
@@ -1,127 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.mobile.beads
-{	
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IViewportModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.html.beads.ContainerView;
-	import org.apache.flex.html.beads.layouts.HorizontalLayout;
-	import org.apache.flex.mobile.chrome.NavigationBar;
-	import org.apache.flex.mobile.chrome.ToolBar;
-	import org.apache.flex.mobile.models.ViewManagerModel;
-
-	/**
-	 * The StackedViewManagerView creates the visual elements of the StackedViewManager. This
-	 * includes a NavigationBar, ToolBar, and contentArea.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class StackedViewManagerView extends ViewManagerView
-	{
-		/**
-		 * Constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function StackedViewManagerView()
-		{
-			super();
-		}
-		
-		private var _toolBar:ToolBar;
-
-		override public function set strand(value:IStrand):void
-		{
-			var model:ViewManagerModel = value.getBeadByType(IBeadModel) as ViewManagerModel;
-			
-			if (model.toolBarItems)
-			{
-				_toolBar = new ToolBar();
-				_toolBar.controls = model.toolBarItems;
-				_toolBar.addBead(new HorizontalLayout());
-				UIBase(value).addElement(_toolBar,false);
-			}
-			
-			super.strand = value;
-		}
-		override public function get strand():IStrand
-		{
-			return super.strand;
-		}
-		
-		/**
-		 * @private
-		 */
-		override protected function layoutChromeElements():void
-		{
-			var host:UIBase = strand as UIBase;
-			var contentAreaY:Number = 0;
-			var contentAreaHeight:Number = host.height;
-			var toolbarHeight:Number = _toolBar == null ? 0 : _toolBar.height;
-			
-			var model:ViewManagerModel = strand.getBeadByType(IBeadModel) as ViewManagerModel;
-			
-			if (navigationBar)
-			{
-				navigationBar.x = 0;
-				navigationBar.y = 0;
-				navigationBar.width = host.width;
-				
-				contentAreaHeight -= navigationBar.height;
-				contentAreaY = navigationBar.height;
-				
-				model.navigationBar = navigationBar;
-			}
-			
-			if (_toolBar)
-			{
-				_toolBar.x = 0;
-				_toolBar.y = host.height - toolbarHeight;
-				_toolBar.width = host.width;
-				
-				contentAreaHeight -= toolbarHeight;
-				
-				model.toolBar = _toolBar;
-			}
-			
-			if (contentAreaY < 0) contentAreaY = 0;
-			if (contentAreaHeight < 0) contentAreaHeight = 0;
-			
-			model.contentX = 0;
-			model.contentY = contentAreaY;
-			model.contentWidth = host.width;
-			model.contentHeight = contentAreaHeight;
-			
-			sizeViewsToFitContentArea();
-			
-			// notify the views that the content size has changed
-			IEventDispatcher(strand).dispatchEvent( new Event("contentSizeChanged") );
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/TabbedViewManagerView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/TabbedViewManagerView.as b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/TabbedViewManagerView.as
deleted file mode 100644
index be20d2c..0000000
--- a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/TabbedViewManagerView.as
+++ /dev/null
@@ -1,139 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.mobile.beads
-{
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IViewportModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.html.beads.ContainerView;
-	import org.apache.flex.html.beads.layouts.HorizontalLayout;
-	import org.apache.flex.mobile.chrome.NavigationBar;
-	import org.apache.flex.mobile.chrome.TabBar;
-	import org.apache.flex.mobile.models.ViewManagerModel;
-	
-	/**
-	 * The TabbedViewManagerView constructs the visual elements of the TabbedViewManager. The
-	 * elements may be a navigation bar, a tab bar, and the contentArea.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class TabbedViewManagerView extends ViewManagerView
-	{
-		/**
-		 * Constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function TabbedViewManagerView()
-		{
-			super();
-		}
-		
-		private var _tabBar:TabBar;
-		
-		private var _strand:IStrand;
-		override public function get strand():IStrand
-		{
-			return _strand;
-		}
-		override public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			var model:ViewManagerModel = value.getBeadByType(IBeadModel) as ViewManagerModel;
-			
-			// TabbedViewManager always has a TabBar
-			_tabBar = new TabBar();
-			_tabBar.dataProvider = model.views;
-			_tabBar.labelField = "title";
-			_tabBar.addEventListener("change",handleButtonBarChange);
-			UIBase(_strand).addElement(_tabBar, false);
-			
-			super.strand = value;
-		}
-		
-		/**
-		 * @private
-		 */		
-		private function handleButtonBarChange(event:Event):void
-		{
-			var newIndex:Number = _tabBar.selectedIndex;
-			var model:ViewManagerModel = strand.getBeadByType(IBeadModel) as ViewManagerModel;
-			
-			// doing this will trigger the selectedIndexChanged event which will
-			// tell the strand to switch views
-			model.selectedIndex = newIndex;
-		}
-		
-		/**
-		 * @private
-		 */
-		override protected function layoutChromeElements():void
-		{
-			var host:UIBase = _strand as UIBase;
-			var contentAreaY:Number = 0;
-			var contentAreaHeight:Number = host.height;
-			
-			var model:ViewManagerModel = strand.getBeadByType(IBeadModel) as ViewManagerModel;
-			
-			if (navigationBar)
-			{
-				navigationBar.x = 0;
-				navigationBar.y = 0;
-				navigationBar.width = host.width;
-				
-				contentAreaHeight -= navigationBar.height;
-				contentAreaY = navigationBar.height;
-				
-				model.navigationBar = navigationBar;
-			}
-			
-			if (_tabBar)
-			{
-				_tabBar.x = 0;
-				_tabBar.y = host.height - _tabBar.height;
-				_tabBar.width = host.width;
-				_tabBar.dispatchEvent(new Event("layoutNeeded"));
-				
-				contentAreaHeight -= _tabBar.height;
-				
-				model.tabBar = _tabBar;
-			}
-			
-			model.contentX = 0;
-			model.contentY = contentAreaY;
-			model.contentWidth = host.width;
-			model.contentHeight = contentAreaHeight;
-			
-			sizeViewsToFitContentArea();
-			
-			// notify the views that the content size has changed
-			IEventDispatcher(strand).dispatchEvent( new Event("contentSizeChanged") );
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/ViewManagerView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/ViewManagerView.as b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/ViewManagerView.as
deleted file mode 100644
index 59baf94..0000000
--- a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/beads/ViewManagerView.as
+++ /dev/null
@@ -1,165 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.mobile.beads
-{
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.IViewportModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.html.Container;
-	import org.apache.flex.html.beads.layouts.HorizontalLayout;
-	import org.apache.flex.mobile.IView;
-	import org.apache.flex.mobile.chrome.NavigationBar;
-	import org.apache.flex.mobile.models.ViewManagerModel;
-	
-	/**
-	 * The ViewManagerView creates the visual elements of the StackedViewManager. This
-	 * includes a NavigationBar, ToolBar, and contentArea.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ViewManagerView implements IBeadView
-	{
-		/**
-		 * Constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ViewManagerView()
-		{
-			super();
-		}
-		
-		public function get host():IUIBase
-		{
-			return _strand as IUIBase;
-		}
-		public function set host(value:IUIBase):void
-		{
-			// not implemented; getter only.
-		}
-		
-		private var _navigationBar:NavigationBar;
-		public function get navigationBar():NavigationBar
-		{
-			return _navigationBar;
-		}
-		public function set navigationBar(value:NavigationBar):void
-		{
-			// not implemented; getter only.
-		}
-		
-		private var _strand:IStrand;
-		public function get strand():IStrand
-		{
-			return _strand;
-		}
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			UIBase(_strand).addEventListener("sizeChanged", sizeChangedHandler);
-			UIBase(_strand).addEventListener("widthChanged", sizeChangedHandler);
-			UIBase(_strand).addEventListener("heightChanged", sizeChangedHandler);
-			
-			var model:ViewManagerModel = value.getBeadByType(IBeadModel) as ViewManagerModel;
-			model.addEventListener("selectedIndexChanged", viewsChangedHandler);
-
-			if (model.navigationBarItems)
-			{
-				_navigationBar = new NavigationBar();
-				_navigationBar.controls = model.navigationBarItems;
-				_navigationBar.addBead(new HorizontalLayout());
-				UIBase(_strand).addElement(_navigationBar, false);
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		protected function viewsChangedHandler(event:Event):void
-		{
-			layoutChromeElements();
-		}
-		
-		/**
-		 * @private
-		 */
-		protected function sizeChangedHandler(event:Event):void
-		{
-			layoutChromeElements();
-		}
-		
-		/**
-		 * @private
-		 */
-		protected function layoutChromeElements():void
-		{
-			var host:UIBase = _strand as UIBase;
-			var contentAreaY:Number = 0;
-			var contentAreaHeight:Number = host.height;
-			
-			var model:ViewManagerModel = _strand.getBeadByType(IBeadModel) as ViewManagerModel;
-			
-			if (_navigationBar)
-			{
-				_navigationBar.x = 0;
-				_navigationBar.y = 0;
-				_navigationBar.width = host.width;
-				
-				contentAreaHeight -= _navigationBar.height;
-				contentAreaY = _navigationBar.height;
-				
-				model.navigationBar = _navigationBar;
-			}
-			
-			model.contentX = 0;
-			model.contentY = contentAreaY;
-			model.contentWidth = host.width;
-			model.contentHeight = contentAreaHeight;
-			
-			sizeViewsToFitContentArea();
-		}
-		
-		protected function sizeViewsToFitContentArea():void
-		{
-			var model:ViewManagerModel = _strand.getBeadByType(IBeadModel) as ViewManagerModel;
-			
-			var n:int = ViewManagerModel(model).views.length;
-			if (n > 0) {
-				for (var i:int = 0; i < n; i++)
-				{
-					var view:IView = ViewManagerModel(model).views[i] as IView;
-					UIBase(view).x = model.contentX;
-					UIBase(view).y = model.contentY;
-					UIBase(view).setWidthAndHeight(model.contentWidth, model.contentHeight, true);
-				}
-			}
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/chrome/NavigationBar.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/chrome/NavigationBar.as b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/chrome/NavigationBar.as
deleted file mode 100644
index 5e7873e..0000000
--- a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/chrome/NavigationBar.as
+++ /dev/null
@@ -1,103 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.mobile.chrome
-{
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.Container;
-	
-	/**
-	 * The NavigationBar class is part of the mobile view manager's chrome. When present,
-	 * it provides a place for content at the top of the view, above the contentArea.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class NavigationBar extends Container implements IChrome
-	{
-		/**
-		 * Constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function NavigationBar()
-		{
-			super();
-			
-			className = "NavigationBar";
-		}
-		
-		public function hidesBackButton(value:Boolean):void
-		{
-			
-		}
-		
-		private var _controls:Array;
-		
-		/**
-		 * The controls of the NavigationBar (eg, a button to go back and a title).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set controls(value:Array):void
-		{
-			_controls = value;
-		}
-		public function get controls():Array
-		{
-			return _controls;
-		}
-		
-		/**
-		 * @private
-		 */
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-			
-			for (var i:int=0; i < _controls.length; i++)
-			{
-				addElement( _controls[i], false );
-				
-				var ctrl:IEventDispatcher = _controls[i] as IEventDispatcher;
-				ctrl.addEventListener("show", handleVisibilityChange);
-				ctrl.addEventListener("hide", handleVisibilityChange);
-			}
-			
-			dispatchEvent(new Event("layoutNeeded"));
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleVisibilityChange(event:Event):void
-		{
-			dispatchEvent(new Event("layoutNeeded"));
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/chrome/TabBar.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/chrome/TabBar.as b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/chrome/TabBar.as
deleted file mode 100644
index 6e54326..0000000
--- a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/chrome/TabBar.as
+++ /dev/null
@@ -1,50 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.mobile.chrome
-{
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.html.ButtonBar;
-	
-	/**
-	 *  The TabBar class displays a set of buttons that can be used to
-	 *  switch between navigation panels.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class TabBar extends ButtonBar implements IChrome
-	{
-		/**
-		 *  Constructor
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function TabBar()
-		{
-			super();
-			
-			className = "TabBar";
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/chrome/ToolBar.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/chrome/ToolBar.as b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/chrome/ToolBar.as
deleted file mode 100644
index 6c8c748..0000000
--- a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/chrome/ToolBar.as
+++ /dev/null
@@ -1,81 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.mobile.chrome
-{
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.html.Container;
-	
-	/**
-	 * The ToolBar class provides a space below the contentArea of a view manager which can
-	 * be used to house controls for the view.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ToolBar extends Container implements IChrome
-	{
-		public function ToolBar()
-		{
-			super();
-			
-			className = "ToolBar";
-		}
-		
-		private var _controls:Array;
-		
-		/**
-		 * The control components of the ToolBar (eg, a settings button).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set controls(value:Array):void
-		{
-			_controls = value;
-		}
-		public function get controls():Array
-		{
-			return _controls;
-		}
-		
-		/**
-		 * @private
-		 */
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-			
-			var layout:IBeadLayout = this.getBeadByType(IBeadLayout) as IBeadLayout;
-			trace("layout = "+layout);
-			
-			for (var i:int=0; i < _controls.length; i++)
-			{
-				addElement( _controls[i], false );
-			}
-			
-			dispatchEvent(new Event("layoutNeeded"));
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/models/ViewManagerModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/models/ViewManagerModel.as b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/models/ViewManagerModel.as
deleted file mode 100644
index c57cc61..0000000
--- a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/models/ViewManagerModel.as
+++ /dev/null
@@ -1,263 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.mobile.models
-{
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.mobile.chrome.NavigationBar;
-	import org.apache.flex.mobile.chrome.TabBar;
-	import org.apache.flex.mobile.chrome.ToolBar;
-	
-	/**
-	 * The ViewManagerModel houses properties and values common to the components
-	 * which make up view managers. These properties include the title, which view
-	 * is currently active and selected.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ViewManagerModel extends EventDispatcher implements IBeadModel
-	{
-		/**
-		 * Constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ViewManagerModel()
-		{
-			super();
-			
-			_views = new Array();
-		}
-		
-		private var _strand:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		public var contentX:Number = 0;
-		public var contentY:Number = 0;
-		public var contentWidth:Number = 0;
-		public var contentHeight:Number = 0;
-		
-		private var _views:Array;
-		
-		/**
-		 * The array of views displayed in the contentArea of the ViewManager.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get views():Array
-		{
-			return _views;
-		}
-		public function set views(value:Array):void
-		{
-			if (value != _views) {
-				_views = value;
-				_selectedIndex = value.length - 1;
-				dispatchEvent(new Event("viewsChanged"));
-			}
-		}
-		
-		/**
-		 * Pushes a view onto the top/end of the stack of views. This view becomes
-		 * the active view. Mostly used by the StackedViewManager.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function pushView(value:Object):void
-		{
-			_views.push(value);
-			_selectedIndex = _views.length - 1;
-			dispatchEvent(new Event("viewPushed"));
-		}
-		
-		/**
-		 * Removes the most recently added view. The next view in the stack becomes the
-		 * active view. Mostly used by StackedViewManager.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function popView():Object
-		{
-			if (_views.length > 1) {
-				var discard:Object = _views.pop();
-				_selectedIndex = _views.length - 1;
-				dispatchEvent(new Event("viewPopped"));
-			}
-			return _views[_views.length-1];
-		}
-		
-		private var _selectedIndex:Number = -1;
-		
-		/**
-		 * The index into the views array of the currently active view.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selectedIndex():Number
-		{
-			return _selectedIndex;
-		}
-		public function set selectedIndex(value:Number):void
-		{
-			if (value != _selectedIndex) {
-				_selectedIndex = value;
-				dispatchEvent(new Event("selectedIndexChanged"));
-			}
-		}
-		
-		private var _title:String;
-		
-		/**
-		 * The title of the view..
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get title():String
-		{
-			return _title;
-		}
-		public function set title(value:String):void
-		{
-			_title = value;
-		}
-		
-		private var _navigationBarItems:Array;
-		
-		/**
-		 * The array of controls that make up the NavigationBar.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get navigationBarItems():Array
-		{
-			return _navigationBarItems;
-		}
-		public function set navigationBarItems(value:Array):void
-		{
-			_navigationBarItems = value;
-		}
-		
-		private var _navigationBar:NavigationBar;
-		
-		/**
-		 * The NavigationBar (or null if not present).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get navigationBar():NavigationBar
-		{
-			return _navigationBar;
-		}
-		public function set navigationBar(value:NavigationBar):void
-		{
-			_navigationBar = value;
-		}
-		
-		private var _toolBarItems:Array;
-		
-		/**
-		 * The array of controls that make up the ToolBar..
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get toolBarItems():Array
-		{
-			return _toolBarItems;
-		}
-		public function set toolBarItems(value:Array):void
-		{
-			_toolBarItems = value;
-		}
-		
-		private var _toolBar:ToolBar;
-		
-		/**
-		 * The ToolBar (or null if not present).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get toolBar():ToolBar
-		{
-			return _toolBar;
-		}
-		public function set toolBar(value:ToolBar):void
-		{
-			_toolBar = value;
-		}
-		
-		private var _tabBar:TabBar;
-		
-		/**
-		 * The TabBar (or null if not present).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get tabBar():TabBar
-		{
-			return _tabBar;
-		}
-		public function set tabBar(value:TabBar):void
-		{
-			_tabBar = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/build.xml b/frameworks/projects/Mobile/build.xml
index cb6c0db..fa1a1b4 100644
--- a/frameworks/projects/Mobile/build.xml
+++ b/frameworks/projects/Mobile/build.xml
@@ -28,28 +28,16 @@
     <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 Mobile.swc">
     </target>
-    
-    <target name="all" depends="main,compile-asjs,lint-js,test-js" description="Full build of Mobile.swc">
+
+    <target name="all" depends="clean,compile-asjs,compile-extern-swc,copy-js,compile,test" description="Full build of Mobile.swc">
     </target>
-    
+
     <target name="test" unless="is.jenkins">
         <!-- no tests yet
          <ant dir="as/tests" />
-         <ant dir="asjs/tests" />
-         -->
-    </target>
-    
-    <target name="test-js" unless="is.jenkins">
-        <!-- no tests yet
-         <ant dir="js/tests" />
          -->
     </target>
     
@@ -98,11 +86,13 @@
             <load-config filename="compile-config.xml" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+            <arg value="-define=COMPILE::AS3,true" />
+            <arg value="-define=COMPILE::JS,false" />
         </compc>
     </target>
 
-    <target name="compile-asjs" >
-        <echo message="Cross-compiling Mobile/asjs"/>
+    <target name="compile-asjs">
+        <echo message="Cross-compiling Mobile"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
             <jvmarg value="-Xmx384m" />
@@ -117,45 +107,56 @@
             <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/Mobile.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/Mobile.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">
         <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>
 
-    <target name="gjslint" unless="no.lint">
-        <echo>running gjslint</echo>
-        <exec executable="${gjslint}" dir="${basedir}" failonerror="true">
-            <arg value="--strict" />
-            <arg value="--disable" />
-            <arg value="006,100,214,300" />
-            <!-- 006: wrong indentation -->
-            <!-- 100: cannot have non-primitive value -->
-            <!-- 214: @fileoverview tag missing description -->
-            <!-- 300: missing newline at end of file -->
-            <arg value="--max_line_length" />
-            <arg value="120" />
-            <arg value="-r" />
-            <arg value="${basedir}/js/src" />
-        </exec>
-    </target>
-
-    <target name="jshint" unless="no.lint">
-        <echo>running jshint</echo>
-        <exec executable="${jshint}" dir="${basedir}" failonerror="true">
-            <arg value="--config" />
-            <arg value="${FLEX_HOME}/frameworks/js/jshint.properties" />
-            <arg value="${basedir}/js/src" />
-        </exec>
-    </target>
-
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/compile-asjs-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/compile-asjs-config.xml b/frameworks/projects/Mobile/compile-asjs-config.xml
index 043394b..face373 100644
--- a/frameworks/projects/Mobile/compile-asjs-config.xml
+++ b/frameworks/projects/Mobile/compile-asjs-config.xml
@@ -22,7 +22,6 @@
         <accessible>false</accessible>
         
         <external-library-path>
-            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
         </external-library-path>
         
 		<mxml>
@@ -44,15 +43,26 @@
         
         <library-path>
             <!-- 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/Core.swc</path-element>
-            <path-element>../../libs/HTML.swc</path-element>
-            <path-element>../../libs/Mobile.swc</path-element>
+                 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>../../externs/Graphics.swc</path-element>
+            <path-element>../../externs/HTML.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/cordova</uri>
+                <manifest>cordova-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>
@@ -62,9 +72,13 @@
     </include-file>
 
     <include-sources>
-        <path-element>asjs/src</path-element>
     </include-sources>
     
+    <include-classes>
+        <class>MobileClasses</class>
+        <!-- <class>CordovaClasses</class> -->
+    </include-classes>
+    
     <include-namespaces>
         <uri>library://ns.apache.org/flexjs/basic</uri>
     </include-namespaces>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/compile-config.xml b/frameworks/projects/Mobile/compile-config.xml
index 35c7fda..dfe9506 100644
--- a/frameworks/projects/Mobile/compile-config.xml
+++ b/frameworks/projects/Mobile/compile-config.xml
@@ -24,6 +24,7 @@
         <external-library-path>
             <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
             <path-element>../../libs/Core.swc</path-element>
+            <path-element>../../libs/Graphics.swc</path-element>
             <path-element>../../libs/HTML.swc</path-element>
         </external-library-path>
         
@@ -51,15 +52,10 @@
                 <uri>library://ns.apache.org/flexjs/basic</uri>
                 <manifest>basic-manifest.xml</manifest>
             </namespace>
-            <namespace>
-                <uri>library://ns.apache.org/flexjs/cordova</uri>
-                <manifest>cordova-manifest.xml</manifest>
-            </namespace>
         </namespaces>
         
         <source-path>
             <path-element>as/src</path-element>
-            <path-element>asjs/src</path-element>
         </source-path>
         
         <warn-no-constructor>false</warn-no-constructor>
@@ -67,7 +63,7 @@
     
     <include-file>
         <name>defaults.css</name>
-        <path>asjs/defaults.css</path>
+        <path>as/defaults.css</path>
     </include-file>
     <include-file>
         <name>js/out/*</name>
@@ -80,13 +76,11 @@
 
     <include-classes>
         <class>MobileClasses</class>
-        <class>MobileASJSClasses</class>
     </include-classes>
     
     <include-namespaces>
         <uri>library://ns.apache.org/flexjs/basic</uri>
-        <uri>library://ns.apache.org/flexjs/cordova</uri>
-    </include-namespaces>  
+    </include-namespaces>
         
     <target-player>${playerglobal.version}</target-player>
 	


[2/2] git commit: [flex-asjs] [refs/heads/core_js_to_as] - Port of Mobile project.

Posted by pe...@apache.org.
Port of Mobile project.


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

Branch: refs/heads/core_js_to_as
Commit: 44a1bb9a092ba100293d087f7cfb482571dd57b4
Parents: 845bc6d
Author: Peter Ent <pe...@apache.org>
Authored: Wed Nov 18 14:55:12 2015 -0500
Committer: Peter Ent <pe...@apache.org>
Committed: Wed Nov 18 14:55:12 2015 -0500

----------------------------------------------------------------------
 frameworks/build.xml                            |   5 +-
 frameworks/projects/Mobile/as/defaults.css      |  33 +++
 .../projects/Mobile/as/src/CordovaClasses.as    |  36 +++
 .../projects/Mobile/as/src/MobileClasses.as     |  13 +-
 .../as/src/org/apache/flex/mobile/IView.as      |  43 +++
 .../src/org/apache/flex/mobile/IViewManager.as  |  42 +++
 .../src/org/apache/flex/mobile/ManagerBase.as   |  35 ++-
 .../apache/flex/mobile/StackedViewManager.as    | 161 ++++++++++++
 .../org/apache/flex/mobile/TabbedViewManager.as |  85 ++++++
 .../as/src/org/apache/flex/mobile/View.as       | 103 ++++++++
 .../org/apache/flex/mobile/ViewManagerBase.as   | 236 +++++++++++++++++
 .../flex/mobile/beads/StackedViewManagerView.as | 127 +++++++++
 .../flex/mobile/beads/TabbedViewManagerView.as  | 139 ++++++++++
 .../apache/flex/mobile/beads/ViewManagerView.as | 165 ++++++++++++
 .../apache/flex/mobile/chrome/NavigationBar.as  | 103 ++++++++
 .../src/org/apache/flex/mobile/chrome/TabBar.as |  50 ++++
 .../org/apache/flex/mobile/chrome/ToolBar.as    |  80 ++++++
 .../flex/mobile/models/ViewManagerModel.as      | 263 +++++++++++++++++++
 frameworks/projects/Mobile/asjs/defaults.css    |  33 ---
 .../asjs/src/org/apache/flex/mobile/IView.as    |  43 ---
 .../src/org/apache/flex/mobile/IViewManager.as  |  42 ---
 .../apache/flex/mobile/StackedViewManager.as    | 161 ------------
 .../org/apache/flex/mobile/TabbedViewManager.as |  85 ------
 .../asjs/src/org/apache/flex/mobile/View.as     |  96 -------
 .../org/apache/flex/mobile/ViewManagerBase.as   | 229 ----------------
 .../flex/mobile/beads/StackedViewManagerView.as | 127 ---------
 .../flex/mobile/beads/TabbedViewManagerView.as  | 139 ----------
 .../apache/flex/mobile/beads/ViewManagerView.as | 165 ------------
 .../apache/flex/mobile/chrome/NavigationBar.as  | 103 --------
 .../src/org/apache/flex/mobile/chrome/TabBar.as |  50 ----
 .../org/apache/flex/mobile/chrome/ToolBar.as    |  81 ------
 .../flex/mobile/models/ViewManagerModel.as      | 263 -------------------
 frameworks/projects/Mobile/build.xml            | 101 +++----
 .../projects/Mobile/compile-asjs-config.xml     |  30 ++-
 frameworks/projects/Mobile/compile-config.xml   |  12 +-
 35 files changed, 1782 insertions(+), 1697 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/build.xml b/frameworks/build.xml
index 02e225b..bb0c1c0 100644
--- a/frameworks/build.xml
+++ b/frameworks/build.xml
@@ -100,7 +100,6 @@
         <ant dir="${basedir}/projects/GoogleMaps" target="compile-asjs"/>
         <ant dir="${basedir}/projects/HTML5" target="compile-asjs"/>
         <ant dir="${basedir}/projects/JQuery" target="compile-asjs"/>
-        <ant dir="${basedir}/projects/Mobile" target="compile-asjs"/>
     </target>
 
     <target name="lint-js" description="Cross-compiles all SWCs">
@@ -110,7 +109,6 @@
         <ant dir="${basedir}/projects/GoogleMaps" target="lint-js"/>
         <ant dir="${basedir}/projects/HTML5" target="lint-js"/>
         <ant dir="${basedir}/projects/JQuery" target="lint-js"/>
-        <ant dir="${basedir}/projects/Mobile" target="lint-js"/>
     </target>
 
     <target name="re-compile" description="Builds all SWCs which should pick up the JS files from asjs">
@@ -121,7 +119,6 @@
         <ant dir="${basedir}/projects/GoogleMaps" target="compile"/>
         <ant dir="${basedir}/projects/HTML5" target="compile"/>
         <ant dir="${basedir}/projects/JQuery" target="compile"/>
-        <ant dir="${basedir}/projects/Mobile" target="compile"/>
     </target>
 
     <target name="js" depends="compile-asjs, lint-js" />
@@ -243,7 +240,7 @@
     </target>
 
     <target name="Mobile" description="Clean build of Mobile.swc">
-        <ant dir="${basedir}/projects/Mobile"/>
+        <ant dir="${basedir}/projects/Mobile" target="all"/>
     </target>
 
     <target name="Network" description="Clean build of Network.swc">

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/defaults.css b/frameworks/projects/Mobile/as/defaults.css
new file mode 100644
index 0000000..d529595
--- /dev/null
+++ b/frameworks/projects/Mobile/as/defaults.css
@@ -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.
+ *
+ */
+
+@namespace "library://ns.apache.org/flexjs/basic";
+@namespace svg "library://ns.apache.org/flexjs/svg";
+
+StackedViewManager 
+{
+	IBeadModel: ClassReference("org.apache.flex.mobile.models.ViewManagerModel");
+	IBeadView:  ClassReference("org.apache.flex.mobile.beads.StackedViewManagerView");
+}
+
+TabbedViewManager 
+{
+	IBeadModel: ClassReference("org.apache.flex.mobile.models.ViewManagerModel");
+	IBeadView:  ClassReference("org.apache.flex.mobile.beads.TabbedViewManagerView");
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/CordovaClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/CordovaClasses.as b/frameworks/projects/Mobile/as/src/CordovaClasses.as
new file mode 100644
index 0000000..3b9dc98
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/CordovaClasses.as
@@ -0,0 +1,36 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package
+{
+
+/**
+ *  @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 CordovaClasses
+{	
+	import org.apache.cordova.camera.Camera; Camera;
+	import org.apache.cordova.Application; Application;
+	import org.apache.cordova.Weinre; Weinre;
+}
+
+}
+

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/MobileClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/MobileClasses.as b/frameworks/projects/Mobile/as/src/MobileClasses.as
index 75d2960..fc933aa 100644
--- a/frameworks/projects/Mobile/as/src/MobileClasses.as
+++ b/frameworks/projects/Mobile/as/src/MobileClasses.as
@@ -27,11 +27,16 @@ package
  */
 internal class MobileClasses
 {	
-	import org.apache.cordova.camera.Camera; Camera;
-	import org.apache.cordova.Application; Application;
-	import org.apache.cordova.Weinre; Weinre;
-	
 	import org.apache.flex.mobile.ManagerBase; ManagerBase;
+	
+	import org.apache.flex.mobile.ViewManagerBase; ViewManagerBase;
+	import org.apache.flex.mobile.beads.StackedViewManagerView; StackedViewManagerView;
+	import org.apache.flex.mobile.beads.TabbedViewManagerView; TabbedViewManagerView;
+	import org.apache.flex.mobile.beads.ViewManagerView; ViewManagerView;
+	import org.apache.flex.mobile.chrome.NavigationBar; NavigationBar;
+	import org.apache.flex.mobile.chrome.TabBar; TabBar;
+	import org.apache.flex.mobile.chrome.ToolBar; ToolBar;
+	import org.apache.flex.mobile.models.ViewManagerModel; ViewManagerModel;
 }
 
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/IView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/IView.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/IView.as
new file mode 100644
index 0000000..232d212
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/IView.as
@@ -0,0 +1,43 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.mobile
+{
+	/**
+	 * The IView interface is implemented by any class that can be managed by
+	 * an IViewManager.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public interface IView
+	{
+		/**
+		 * The parent view manager.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		function get viewManager():IViewManager;
+		function set viewManager(value:IViewManager):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/IViewManager.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/IViewManager.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/IViewManager.as
new file mode 100644
index 0000000..54bb22a
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/IViewManager.as
@@ -0,0 +1,42 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.mobile
+{
+	/**
+	 * The IViewManager interface is implemented by classes that manage or control
+	 * IViews.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public interface IViewManager extends IView
+	{
+		/**
+		 * The view that is currently active in the view manager.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		function get selectedView():IView;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/ManagerBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/ManagerBase.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/ManagerBase.as
index 8d444a5..5c2e149 100644
--- a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/ManagerBase.as
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/ManagerBase.as
@@ -21,6 +21,10 @@ package org.apache.flex.mobile
 	import org.apache.flex.core.IChrome;
 	import org.apache.flex.core.UIBase;
 	import org.apache.flex.events.Event;
+	COMPILE::JS
+	{
+			import org.apache.flex.core.WrappedHTMLElement;
+	}
 	
 	/**
 	 *  The ManagerBase is a base class for mobile display managers such as StackedViewManager
@@ -47,17 +51,38 @@ package org.apache.flex.mobile
 			super();
 			
 			_contentArea = new UIBase();
+			
+			COMPILE::AS3 {
+				addEventListener("initComplete", handleInitComplete);
+				addEventListener("sizeChanged", handleInitComplete);
+				addEventListener("widthChanged", handleInitComplete);
+				addEventListener("heightChanged", handleInitComplete);
+			}
+			
+			COMPILE::JS {
+				createElement();
+			}
+			
 			super.addElement(_contentArea,false);
+		}
+		
+		/**
+		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+		 */
+		COMPILE::JS
+		override protected function createElement():WrappedHTMLElement
+		{
+			super.createElement();
+			element.className = 'ManagerBase';
+			
+			_contentArea.positioner.style['width'] = '100%';
+			_contentArea.positioner.style['height'] = '100%';
 			
-			addEventListener("initComplete", handleInitComplete);
-			addEventListener("sizeChanged", handleInitComplete);
-			addEventListener("widthChanged", handleInitComplete);
-			addEventListener("heightChanged", handleInitComplete);
+			return element;
 		}
 		
 		private function handleInitComplete(event:Event):void
 		{
-			trace("Manager base event: "+event.type+"; width="+width+", height="+height);
 			_contentArea.setWidthAndHeight(width, height, true);
 			// todo: listen for changes to this item
 			

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/StackedViewManager.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/StackedViewManager.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/StackedViewManager.as
new file mode 100644
index 0000000..4b29d28
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/StackedViewManager.as
@@ -0,0 +1,161 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.mobile
+{	
+	import org.apache.flex.events.Event;
+	import org.apache.flex.html.Container;
+	import org.apache.flex.mobile.IView;
+	import org.apache.flex.mobile.IViewManager;
+	import org.apache.flex.mobile.chrome.NavigationBar;
+	import org.apache.flex.mobile.chrome.ToolBar;
+	import org.apache.flex.mobile.models.ViewManagerModel;
+	
+	/**
+	 * The StackedViewManager displays a single View at a time from a
+	 * collection of Views where views[0] is at the bottom and views[n-1]
+	 * is at the top and displayed.
+	 * 
+	 * The StackedViewManager has an optional navigation bar at the top
+	 * and an optional tool bar at the bottom. The views are displayed
+	 * within the StackedViewManager's content area.
+	 * 
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public class StackedViewManager extends ViewManagerBase implements IViewManager
+	{
+		/**
+		 * Constructor.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function StackedViewManager()
+		{
+			super();
+			
+			className = "StackedViewManager";
+		}
+		
+		/**
+		 * True if this view manager is displaying a ToolBar.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get hasToolBar():Boolean
+		{
+			return ViewManagerModel(model).toolBarItems != null;
+		}
+		
+		/**
+		 * The contents of the ToolBar.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get toolBarItems():Array
+		{
+			return ViewManagerModel(model).toolBarItems;
+		}
+		public function set toolBarItems(value:Array):void
+		{
+			ViewManagerModel(model).toolBarItems = value;
+		}
+		
+		/**
+		 * The ToolBar (or null if not present).
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get toolBar():ToolBar
+		{
+			return ViewManagerModel(model).toolBar;
+		}
+
+		
+		private var _topView:IView;
+
+		/**
+		 * The top-most (current) view.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		override public function get selectedView():IView
+		{
+			return _topView;
+		}
+
+		
+		/**
+		 *  Pushes the next view onto the navigation stack.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function push(nextView:IView):void
+		{
+			nextView.viewManager = this;
+			ViewManagerModel(model).pushView(nextView);
+			
+			removeElement(_topView);
+			_topView = nextView;
+			addElement(_topView);
+			
+			dispatchEvent( new Event("viewChanged") );
+		}
+		
+		/**
+		 *  Pops the top-most view from the navigation stack.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function pop():void
+		{
+			if (ViewManagerModel(model).views.length > 1) {
+				var lastView:Object = ViewManagerModel(model).popView();
+				removeElement(_topView);
+				addElement(lastView);
+				_topView = lastView as IView;
+				
+				dispatchEvent( new Event("viewChanged") );
+			}
+		}
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/TabbedViewManager.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/TabbedViewManager.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/TabbedViewManager.as
new file mode 100644
index 0000000..43fc6a6
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/TabbedViewManager.as
@@ -0,0 +1,85 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.mobile
+{	
+	import org.apache.flex.html.Container;
+	import org.apache.flex.mobile.IView;
+	import org.apache.flex.mobile.IViewManager;
+	import org.apache.flex.mobile.chrome.TabBar;
+	import org.apache.flex.mobile.models.ViewManagerModel;
+	
+	/**
+	 * The TabbedViewManager displays a set of views, only one of which is active at
+	 * a time. The other views are reachable via a set of tab buttons at the bottom of
+	 * the view manager's space.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public class TabbedViewManager extends ViewManagerBase implements IViewManager
+	{
+		/**
+		 * Constructor.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function TabbedViewManager()
+		{
+			super();
+			
+			className = "TabbedViewManager";
+		}
+		
+		/**
+		 * The TabBar (or null if not present).
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get tabBar():TabBar
+		{
+			return ViewManagerModel(model).tabBar;
+		}
+		
+		/**
+		 * The index (starting at zero) of the currently visible view.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get selectedIndex():Number
+		{
+			return ViewManagerModel(model).selectedIndex;
+		}
+		public function set selectedIndex(value:Number):void
+		{
+			ViewManagerModel(model).selectedIndex = value;
+		}
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/View.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/View.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/View.as
new file mode 100644
index 0000000..490d8bf
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/View.as
@@ -0,0 +1,103 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.mobile
+{
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IBeadController;
+	import org.apache.flex.core.IUIBase;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.html.Container;
+	
+	/**
+	 * The View class represents the area for a mobile app's primary
+	 * interface elements.
+	 */
+	public class View extends Container implements IView
+	{
+		public function View()
+		{
+			super();
+			
+			// views always take up 100% of their space
+			percentWidth = 100;
+			percentHeight = 100;
+		}
+		
+		private var _title:String;
+		public function get title():String
+		{
+			return _title;
+		}
+		public function set title(value:String):void
+		{
+			_title = value;
+		}
+		
+		COMPILE::AS3
+		override public function toString():String
+		{
+			return _title;
+		}
+		
+		COMPILE::JS
+		public function toString():String
+		{
+			return _title;
+		}
+		
+		private var _viewManager:IViewManager;
+		public function get viewManager():IViewManager
+		{
+			return _viewManager;
+		}
+		public function set viewManager(value:IViewManager):void
+		{
+			_viewManager = value;
+		}
+		
+		private var _controller:IBeadController;
+        
+        /**
+         *  Get the controller for the view.
+         * 
+         *  @flexjsignorecoercion Class
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+		public function get controller():IBeadController
+		{
+			if (_controller == null) {
+				_controller = getBeadByType(IBeadController) as IBeadController;
+				if (_controller == null) {
+                    var c:Class = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
+					_controller = new c() as IBeadController;
+					addBead(_controller);
+				}
+			}
+			return _controller;
+		}
+		public function set controller(value:IBeadController):void
+		{
+			_controller = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/ViewManagerBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/ViewManagerBase.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/ViewManagerBase.as
new file mode 100644
index 0000000..0da3f4d
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/ViewManagerBase.as
@@ -0,0 +1,236 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.mobile
+{
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.html.Container;
+	import org.apache.flex.mobile.IView;
+	import org.apache.flex.mobile.IViewManager;
+	import org.apache.flex.mobile.chrome.NavigationBar;
+	import org.apache.flex.mobile.models.ViewManagerModel;
+	
+//	import org.apache.flex.html.beads.SolidBackgroundBead;
+//	import org.apache.flex.html.beads.SingleLineBorderBead;
+	
+	/**
+	 * Event dispatched when the current (selected) view changes.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	[Event(name="viewChanged")]
+	
+	/**
+	 * Base class for mobile navigation controls.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public class ViewManagerBase extends UIBase implements IViewManager
+	{
+		/**
+		 * Constructor.
+		 */
+		public function ViewManagerBase()
+		{
+			super();
+			
+			// views always fill their space
+			percentWidth = 100;
+			percentHeight = 100;
+			
+			model.addEventListener("selectedIndexChanged", changeView);
+			
+//			addBead(new SolidBackgroundBead());
+//			addBead(new SingleLineBorderBead());
+		}
+		
+		/**
+		 * A title that can be used in the NavigationBar.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get title():String
+		{
+			return ViewManagerModel(model).title;
+		}
+		public function set title(value:String):void
+		{
+			ViewManagerModel(model).title = value;
+		}
+		
+		COMPILE::AS3
+		override public function toString():String
+		{
+			return ViewManagerModel(model).title;
+		}
+		
+		/**
+		 * @private
+		 */
+		COMPILE::JS
+		public function toString():String
+		{
+			return ViewManagerModel(model).title;
+		}
+		
+		/**
+		 * True if this view manager instance is displaying a NavigationBar.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get hasNavigationBar():Boolean
+		{
+			return ViewManagerModel(model).navigationBarItems != null;
+		}
+		
+		/**
+		 * The items that make up the NavigationBar.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get navigationBarItems():Array
+		{
+			return ViewManagerModel(model).navigationBarItems;
+		}
+		public function set navigationBarItems(value:Array):void
+		{
+			ViewManagerModel(model).navigationBarItems = value;
+		}
+		
+		/**
+		 * The NavigationBar (or null if not present).
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get navigationBar():NavigationBar
+		{
+			return ViewManagerModel(model).navigationBar; 
+		}
+		
+		/**
+		 *  The current set of views in the stack. The last entry is
+		 *  the top-most (visible) view.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get views():Array
+		{
+			return ViewManagerModel(model).views;
+		}
+		public function set views(value:Array):void
+		{
+			ViewManagerModel(model).views = value;
+		}
+		
+		/**
+		 * @private
+		 */
+		override public function addedToParent():void
+		{
+			super.addedToParent();
+			
+			var n:int = ViewManagerModel(model).views.length;
+			if (n > 0) {
+				for (var i:int = 0; i < n; i++)
+				{
+					var view:IView = ViewManagerModel(model).views[i] as IView;
+					view.viewManager = this;
+					if (i == 0) {
+						addElement(view, true);
+					}
+				}
+				ViewManagerModel(model).selectedIndex = 0;
+			}
+		}
+		
+		/**
+		 * @private
+		 */
+		private function changeView( event:Event ):void
+		{
+			var index:Number = ViewManagerModel(model).selectedIndex;
+			if (_currentView) {
+				removeElement(_currentView);
+			}
+			_currentView = views[index];
+			addElement(_currentView);
+
+			dispatchEvent( new Event("viewChanged") );
+		}
+		
+		private var _currentView:IView;
+		
+		/**
+		 * The currently visible view.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get selectedView():IView
+		{
+			return _currentView;
+		}
+		
+		/**
+		 * IViewManager
+		 */
+		
+		private var _viewManager:IViewManager;
+		
+		/**
+		 * This view manager's parent view manager, if any.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get viewManager():IViewManager
+		{
+			return _viewManager;
+		}
+		public function set viewManager(value:IViewManager):void
+		{
+			_viewManager = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/beads/StackedViewManagerView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/beads/StackedViewManagerView.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/beads/StackedViewManagerView.as
new file mode 100644
index 0000000..fd1a58b
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/beads/StackedViewManagerView.as
@@ -0,0 +1,127 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.mobile.beads
+{	
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IViewportModel;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.html.beads.ContainerView;
+	import org.apache.flex.html.beads.layouts.HorizontalLayout;
+	import org.apache.flex.mobile.chrome.NavigationBar;
+	import org.apache.flex.mobile.chrome.ToolBar;
+	import org.apache.flex.mobile.models.ViewManagerModel;
+
+	/**
+	 * The StackedViewManagerView creates the visual elements of the StackedViewManager. This
+	 * includes a NavigationBar, ToolBar, and contentArea.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public class StackedViewManagerView extends ViewManagerView
+	{
+		/**
+		 * Constructor.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function StackedViewManagerView()
+		{
+			super();
+		}
+		
+		private var _toolBar:ToolBar;
+
+		override public function set strand(value:IStrand):void
+		{
+			var model:ViewManagerModel = value.getBeadByType(IBeadModel) as ViewManagerModel;
+			
+			if (model.toolBarItems)
+			{
+				_toolBar = new ToolBar();
+				_toolBar.controls = model.toolBarItems;
+				_toolBar.addBead(new HorizontalLayout());
+				UIBase(value).addElement(_toolBar,false);
+			}
+			
+			super.strand = value;
+		}
+		override public function get strand():IStrand
+		{
+			return super.strand;
+		}
+		
+		/**
+		 * @private
+		 */
+		override protected function layoutChromeElements():void
+		{
+			var host:UIBase = strand as UIBase;
+			var contentAreaY:Number = 0;
+			var contentAreaHeight:Number = host.height;
+			var toolbarHeight:Number = _toolBar == null ? 0 : _toolBar.height;
+			
+			var model:ViewManagerModel = strand.getBeadByType(IBeadModel) as ViewManagerModel;
+			
+			if (navigationBar)
+			{
+				navigationBar.x = 0;
+				navigationBar.y = 0;
+				navigationBar.width = host.width;
+				
+				contentAreaHeight -= navigationBar.height;
+				contentAreaY = navigationBar.height;
+				
+				model.navigationBar = navigationBar;
+			}
+			
+			if (_toolBar)
+			{
+				_toolBar.x = 0;
+				_toolBar.y = host.height - toolbarHeight;
+				_toolBar.width = host.width;
+				
+				contentAreaHeight -= toolbarHeight;
+				
+				model.toolBar = _toolBar;
+			}
+			
+			if (contentAreaY < 0) contentAreaY = 0;
+			if (contentAreaHeight < 0) contentAreaHeight = 0;
+			
+			model.contentX = 0;
+			model.contentY = contentAreaY;
+			model.contentWidth = host.width;
+			model.contentHeight = contentAreaHeight;
+			
+			sizeViewsToFitContentArea();
+			
+			// notify the views that the content size has changed
+			IEventDispatcher(strand).dispatchEvent( new Event("contentSizeChanged") );
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/beads/TabbedViewManagerView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/beads/TabbedViewManagerView.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/beads/TabbedViewManagerView.as
new file mode 100644
index 0000000..be20d2c
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/beads/TabbedViewManagerView.as
@@ -0,0 +1,139 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.mobile.beads
+{
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IViewportModel;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.html.beads.ContainerView;
+	import org.apache.flex.html.beads.layouts.HorizontalLayout;
+	import org.apache.flex.mobile.chrome.NavigationBar;
+	import org.apache.flex.mobile.chrome.TabBar;
+	import org.apache.flex.mobile.models.ViewManagerModel;
+	
+	/**
+	 * The TabbedViewManagerView constructs the visual elements of the TabbedViewManager. The
+	 * elements may be a navigation bar, a tab bar, and the contentArea.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public class TabbedViewManagerView extends ViewManagerView
+	{
+		/**
+		 * Constructor.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function TabbedViewManagerView()
+		{
+			super();
+		}
+		
+		private var _tabBar:TabBar;
+		
+		private var _strand:IStrand;
+		override public function get strand():IStrand
+		{
+			return _strand;
+		}
+		override public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			var model:ViewManagerModel = value.getBeadByType(IBeadModel) as ViewManagerModel;
+			
+			// TabbedViewManager always has a TabBar
+			_tabBar = new TabBar();
+			_tabBar.dataProvider = model.views;
+			_tabBar.labelField = "title";
+			_tabBar.addEventListener("change",handleButtonBarChange);
+			UIBase(_strand).addElement(_tabBar, false);
+			
+			super.strand = value;
+		}
+		
+		/**
+		 * @private
+		 */		
+		private function handleButtonBarChange(event:Event):void
+		{
+			var newIndex:Number = _tabBar.selectedIndex;
+			var model:ViewManagerModel = strand.getBeadByType(IBeadModel) as ViewManagerModel;
+			
+			// doing this will trigger the selectedIndexChanged event which will
+			// tell the strand to switch views
+			model.selectedIndex = newIndex;
+		}
+		
+		/**
+		 * @private
+		 */
+		override protected function layoutChromeElements():void
+		{
+			var host:UIBase = _strand as UIBase;
+			var contentAreaY:Number = 0;
+			var contentAreaHeight:Number = host.height;
+			
+			var model:ViewManagerModel = strand.getBeadByType(IBeadModel) as ViewManagerModel;
+			
+			if (navigationBar)
+			{
+				navigationBar.x = 0;
+				navigationBar.y = 0;
+				navigationBar.width = host.width;
+				
+				contentAreaHeight -= navigationBar.height;
+				contentAreaY = navigationBar.height;
+				
+				model.navigationBar = navigationBar;
+			}
+			
+			if (_tabBar)
+			{
+				_tabBar.x = 0;
+				_tabBar.y = host.height - _tabBar.height;
+				_tabBar.width = host.width;
+				_tabBar.dispatchEvent(new Event("layoutNeeded"));
+				
+				contentAreaHeight -= _tabBar.height;
+				
+				model.tabBar = _tabBar;
+			}
+			
+			model.contentX = 0;
+			model.contentY = contentAreaY;
+			model.contentWidth = host.width;
+			model.contentHeight = contentAreaHeight;
+			
+			sizeViewsToFitContentArea();
+			
+			// notify the views that the content size has changed
+			IEventDispatcher(strand).dispatchEvent( new Event("contentSizeChanged") );
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/beads/ViewManagerView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/beads/ViewManagerView.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/beads/ViewManagerView.as
new file mode 100644
index 0000000..59baf94
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/beads/ViewManagerView.as
@@ -0,0 +1,165 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.mobile.beads
+{
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IUIBase;
+	import org.apache.flex.core.IViewportModel;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.html.Container;
+	import org.apache.flex.html.beads.layouts.HorizontalLayout;
+	import org.apache.flex.mobile.IView;
+	import org.apache.flex.mobile.chrome.NavigationBar;
+	import org.apache.flex.mobile.models.ViewManagerModel;
+	
+	/**
+	 * The ViewManagerView creates the visual elements of the StackedViewManager. This
+	 * includes a NavigationBar, ToolBar, and contentArea.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public class ViewManagerView implements IBeadView
+	{
+		/**
+		 * Constructor.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function ViewManagerView()
+		{
+			super();
+		}
+		
+		public function get host():IUIBase
+		{
+			return _strand as IUIBase;
+		}
+		public function set host(value:IUIBase):void
+		{
+			// not implemented; getter only.
+		}
+		
+		private var _navigationBar:NavigationBar;
+		public function get navigationBar():NavigationBar
+		{
+			return _navigationBar;
+		}
+		public function set navigationBar(value:NavigationBar):void
+		{
+			// not implemented; getter only.
+		}
+		
+		private var _strand:IStrand;
+		public function get strand():IStrand
+		{
+			return _strand;
+		}
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			UIBase(_strand).addEventListener("sizeChanged", sizeChangedHandler);
+			UIBase(_strand).addEventListener("widthChanged", sizeChangedHandler);
+			UIBase(_strand).addEventListener("heightChanged", sizeChangedHandler);
+			
+			var model:ViewManagerModel = value.getBeadByType(IBeadModel) as ViewManagerModel;
+			model.addEventListener("selectedIndexChanged", viewsChangedHandler);
+
+			if (model.navigationBarItems)
+			{
+				_navigationBar = new NavigationBar();
+				_navigationBar.controls = model.navigationBarItems;
+				_navigationBar.addBead(new HorizontalLayout());
+				UIBase(_strand).addElement(_navigationBar, false);
+			}
+		}
+		
+		/**
+		 * @private
+		 */
+		protected function viewsChangedHandler(event:Event):void
+		{
+			layoutChromeElements();
+		}
+		
+		/**
+		 * @private
+		 */
+		protected function sizeChangedHandler(event:Event):void
+		{
+			layoutChromeElements();
+		}
+		
+		/**
+		 * @private
+		 */
+		protected function layoutChromeElements():void
+		{
+			var host:UIBase = _strand as UIBase;
+			var contentAreaY:Number = 0;
+			var contentAreaHeight:Number = host.height;
+			
+			var model:ViewManagerModel = _strand.getBeadByType(IBeadModel) as ViewManagerModel;
+			
+			if (_navigationBar)
+			{
+				_navigationBar.x = 0;
+				_navigationBar.y = 0;
+				_navigationBar.width = host.width;
+				
+				contentAreaHeight -= _navigationBar.height;
+				contentAreaY = _navigationBar.height;
+				
+				model.navigationBar = _navigationBar;
+			}
+			
+			model.contentX = 0;
+			model.contentY = contentAreaY;
+			model.contentWidth = host.width;
+			model.contentHeight = contentAreaHeight;
+			
+			sizeViewsToFitContentArea();
+		}
+		
+		protected function sizeViewsToFitContentArea():void
+		{
+			var model:ViewManagerModel = _strand.getBeadByType(IBeadModel) as ViewManagerModel;
+			
+			var n:int = ViewManagerModel(model).views.length;
+			if (n > 0) {
+				for (var i:int = 0; i < n; i++)
+				{
+					var view:IView = ViewManagerModel(model).views[i] as IView;
+					UIBase(view).x = model.contentX;
+					UIBase(view).y = model.contentY;
+					UIBase(view).setWidthAndHeight(model.contentWidth, model.contentHeight, true);
+				}
+			}
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/chrome/NavigationBar.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/chrome/NavigationBar.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/chrome/NavigationBar.as
new file mode 100644
index 0000000..5e7873e
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/chrome/NavigationBar.as
@@ -0,0 +1,103 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.mobile.chrome
+{
+	import org.apache.flex.core.IChrome;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.Container;
+	
+	/**
+	 * The NavigationBar class is part of the mobile view manager's chrome. When present,
+	 * it provides a place for content at the top of the view, above the contentArea.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public class NavigationBar extends Container implements IChrome
+	{
+		/**
+		 * Constructor.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function NavigationBar()
+		{
+			super();
+			
+			className = "NavigationBar";
+		}
+		
+		public function hidesBackButton(value:Boolean):void
+		{
+			
+		}
+		
+		private var _controls:Array;
+		
+		/**
+		 * The controls of the NavigationBar (eg, a button to go back and a title).
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function set controls(value:Array):void
+		{
+			_controls = value;
+		}
+		public function get controls():Array
+		{
+			return _controls;
+		}
+		
+		/**
+		 * @private
+		 */
+		override public function addedToParent():void
+		{
+			super.addedToParent();
+			
+			for (var i:int=0; i < _controls.length; i++)
+			{
+				addElement( _controls[i], false );
+				
+				var ctrl:IEventDispatcher = _controls[i] as IEventDispatcher;
+				ctrl.addEventListener("show", handleVisibilityChange);
+				ctrl.addEventListener("hide", handleVisibilityChange);
+			}
+			
+			dispatchEvent(new Event("layoutNeeded"));
+		}
+		
+		/**
+		 * @private
+		 */
+		private function handleVisibilityChange(event:Event):void
+		{
+			dispatchEvent(new Event("layoutNeeded"));
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/chrome/TabBar.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/chrome/TabBar.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/chrome/TabBar.as
new file mode 100644
index 0000000..6e54326
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/chrome/TabBar.as
@@ -0,0 +1,50 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.mobile.chrome
+{
+	import org.apache.flex.core.IChrome;
+	import org.apache.flex.html.ButtonBar;
+	
+	/**
+	 *  The TabBar class displays a set of buttons that can be used to
+	 *  switch between navigation panels.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public class TabBar extends ButtonBar implements IChrome
+	{
+		/**
+		 *  Constructor
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function TabBar()
+		{
+			super();
+			
+			className = "TabBar";
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/chrome/ToolBar.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/chrome/ToolBar.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/chrome/ToolBar.as
new file mode 100644
index 0000000..af63d49
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/chrome/ToolBar.as
@@ -0,0 +1,80 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.mobile.chrome
+{
+	import org.apache.flex.core.IBeadLayout;
+	import org.apache.flex.core.IChrome;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.html.Container;
+	
+	/**
+	 * The ToolBar class provides a space below the contentArea of a view manager which can
+	 * be used to house controls for the view.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public class ToolBar extends Container implements IChrome
+	{
+		public function ToolBar()
+		{
+			super();
+			
+			className = "ToolBar";
+		}
+		
+		private var _controls:Array;
+		
+		/**
+		 * The control components of the ToolBar (eg, a settings button).
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function set controls(value:Array):void
+		{
+			_controls = value;
+		}
+		public function get controls():Array
+		{
+			return _controls;
+		}
+		
+		/**
+		 * @private
+		 */
+		override public function addedToParent():void
+		{
+			super.addedToParent();
+			
+			var layout:IBeadLayout = this.getBeadByType(IBeadLayout) as IBeadLayout;
+			
+			for (var i:int=0; i < _controls.length; i++)
+			{
+				addElement( _controls[i], false );
+			}
+			
+			dispatchEvent(new Event("layoutNeeded"));
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/models/ViewManagerModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/models/ViewManagerModel.as b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/models/ViewManagerModel.as
new file mode 100644
index 0000000..c57cc61
--- /dev/null
+++ b/frameworks/projects/Mobile/as/src/org/apache/flex/mobile/models/ViewManagerModel.as
@@ -0,0 +1,263 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.mobile.models
+{
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.EventDispatcher;
+	import org.apache.flex.mobile.chrome.NavigationBar;
+	import org.apache.flex.mobile.chrome.TabBar;
+	import org.apache.flex.mobile.chrome.ToolBar;
+	
+	/**
+	 * The ViewManagerModel houses properties and values common to the components
+	 * which make up view managers. These properties include the title, which view
+	 * is currently active and selected.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public class ViewManagerModel extends EventDispatcher implements IBeadModel
+	{
+		/**
+		 * Constructor.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function ViewManagerModel()
+		{
+			super();
+			
+			_views = new Array();
+		}
+		
+		private var _strand:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+		}
+		
+		public var contentX:Number = 0;
+		public var contentY:Number = 0;
+		public var contentWidth:Number = 0;
+		public var contentHeight:Number = 0;
+		
+		private var _views:Array;
+		
+		/**
+		 * The array of views displayed in the contentArea of the ViewManager.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get views():Array
+		{
+			return _views;
+		}
+		public function set views(value:Array):void
+		{
+			if (value != _views) {
+				_views = value;
+				_selectedIndex = value.length - 1;
+				dispatchEvent(new Event("viewsChanged"));
+			}
+		}
+		
+		/**
+		 * Pushes a view onto the top/end of the stack of views. This view becomes
+		 * the active view. Mostly used by the StackedViewManager.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function pushView(value:Object):void
+		{
+			_views.push(value);
+			_selectedIndex = _views.length - 1;
+			dispatchEvent(new Event("viewPushed"));
+		}
+		
+		/**
+		 * Removes the most recently added view. The next view in the stack becomes the
+		 * active view. Mostly used by StackedViewManager.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function popView():Object
+		{
+			if (_views.length > 1) {
+				var discard:Object = _views.pop();
+				_selectedIndex = _views.length - 1;
+				dispatchEvent(new Event("viewPopped"));
+			}
+			return _views[_views.length-1];
+		}
+		
+		private var _selectedIndex:Number = -1;
+		
+		/**
+		 * The index into the views array of the currently active view.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get selectedIndex():Number
+		{
+			return _selectedIndex;
+		}
+		public function set selectedIndex(value:Number):void
+		{
+			if (value != _selectedIndex) {
+				_selectedIndex = value;
+				dispatchEvent(new Event("selectedIndexChanged"));
+			}
+		}
+		
+		private var _title:String;
+		
+		/**
+		 * The title of the view..
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get title():String
+		{
+			return _title;
+		}
+		public function set title(value:String):void
+		{
+			_title = value;
+		}
+		
+		private var _navigationBarItems:Array;
+		
+		/**
+		 * The array of controls that make up the NavigationBar.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get navigationBarItems():Array
+		{
+			return _navigationBarItems;
+		}
+		public function set navigationBarItems(value:Array):void
+		{
+			_navigationBarItems = value;
+		}
+		
+		private var _navigationBar:NavigationBar;
+		
+		/**
+		 * The NavigationBar (or null if not present).
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get navigationBar():NavigationBar
+		{
+			return _navigationBar;
+		}
+		public function set navigationBar(value:NavigationBar):void
+		{
+			_navigationBar = value;
+		}
+		
+		private var _toolBarItems:Array;
+		
+		/**
+		 * The array of controls that make up the ToolBar..
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get toolBarItems():Array
+		{
+			return _toolBarItems;
+		}
+		public function set toolBarItems(value:Array):void
+		{
+			_toolBarItems = value;
+		}
+		
+		private var _toolBar:ToolBar;
+		
+		/**
+		 * The ToolBar (or null if not present).
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get toolBar():ToolBar
+		{
+			return _toolBar;
+		}
+		public function set toolBar(value:ToolBar):void
+		{
+			_toolBar = value;
+		}
+		
+		private var _tabBar:TabBar;
+		
+		/**
+		 * The TabBar (or null if not present).
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get tabBar():TabBar
+		{
+			return _tabBar;
+		}
+		public function set tabBar(value:TabBar):void
+		{
+			_tabBar = value;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/defaults.css b/frameworks/projects/Mobile/asjs/defaults.css
deleted file mode 100644
index d529595..0000000
--- a/frameworks/projects/Mobile/asjs/defaults.css
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- */
-
-@namespace "library://ns.apache.org/flexjs/basic";
-@namespace svg "library://ns.apache.org/flexjs/svg";
-
-StackedViewManager 
-{
-	IBeadModel: ClassReference("org.apache.flex.mobile.models.ViewManagerModel");
-	IBeadView:  ClassReference("org.apache.flex.mobile.beads.StackedViewManagerView");
-}
-
-TabbedViewManager 
-{
-	IBeadModel: ClassReference("org.apache.flex.mobile.models.ViewManagerModel");
-	IBeadView:  ClassReference("org.apache.flex.mobile.beads.TabbedViewManagerView");
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/IView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/IView.as b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/IView.as
deleted file mode 100644
index 232d212..0000000
--- a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/IView.as
+++ /dev/null
@@ -1,43 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.mobile
-{
-	/**
-	 * The IView interface is implemented by any class that can be managed by
-	 * an IViewManager.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public interface IView
-	{
-		/**
-		 * The parent view manager.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		function get viewManager():IViewManager;
-		function set viewManager(value:IViewManager):void;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/IViewManager.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/IViewManager.as b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/IViewManager.as
deleted file mode 100644
index 54bb22a..0000000
--- a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/IViewManager.as
+++ /dev/null
@@ -1,42 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.mobile
-{
-	/**
-	 * The IViewManager interface is implemented by classes that manage or control
-	 * IViews.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public interface IViewManager extends IView
-	{
-		/**
-		 * The view that is currently active in the view manager.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		function get selectedView():IView;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/StackedViewManager.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/StackedViewManager.as b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/StackedViewManager.as
deleted file mode 100644
index 4b29d28..0000000
--- a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/StackedViewManager.as
+++ /dev/null
@@ -1,161 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.mobile
-{	
-	import org.apache.flex.events.Event;
-	import org.apache.flex.html.Container;
-	import org.apache.flex.mobile.IView;
-	import org.apache.flex.mobile.IViewManager;
-	import org.apache.flex.mobile.chrome.NavigationBar;
-	import org.apache.flex.mobile.chrome.ToolBar;
-	import org.apache.flex.mobile.models.ViewManagerModel;
-	
-	/**
-	 * The StackedViewManager displays a single View at a time from a
-	 * collection of Views where views[0] is at the bottom and views[n-1]
-	 * is at the top and displayed.
-	 * 
-	 * The StackedViewManager has an optional navigation bar at the top
-	 * and an optional tool bar at the bottom. The views are displayed
-	 * within the StackedViewManager's content area.
-	 * 
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class StackedViewManager extends ViewManagerBase implements IViewManager
-	{
-		/**
-		 * Constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function StackedViewManager()
-		{
-			super();
-			
-			className = "StackedViewManager";
-		}
-		
-		/**
-		 * True if this view manager is displaying a ToolBar.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get hasToolBar():Boolean
-		{
-			return ViewManagerModel(model).toolBarItems != null;
-		}
-		
-		/**
-		 * The contents of the ToolBar.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get toolBarItems():Array
-		{
-			return ViewManagerModel(model).toolBarItems;
-		}
-		public function set toolBarItems(value:Array):void
-		{
-			ViewManagerModel(model).toolBarItems = value;
-		}
-		
-		/**
-		 * The ToolBar (or null if not present).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get toolBar():ToolBar
-		{
-			return ViewManagerModel(model).toolBar;
-		}
-
-		
-		private var _topView:IView;
-
-		/**
-		 * The top-most (current) view.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function get selectedView():IView
-		{
-			return _topView;
-		}
-
-		
-		/**
-		 *  Pushes the next view onto the navigation stack.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function push(nextView:IView):void
-		{
-			nextView.viewManager = this;
-			ViewManagerModel(model).pushView(nextView);
-			
-			removeElement(_topView);
-			_topView = nextView;
-			addElement(_topView);
-			
-			dispatchEvent( new Event("viewChanged") );
-		}
-		
-		/**
-		 *  Pops the top-most view from the navigation stack.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function pop():void
-		{
-			if (ViewManagerModel(model).views.length > 1) {
-				var lastView:Object = ViewManagerModel(model).popView();
-				removeElement(_topView);
-				addElement(lastView);
-				_topView = lastView as IView;
-				
-				dispatchEvent( new Event("viewChanged") );
-			}
-		}
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/TabbedViewManager.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/TabbedViewManager.as b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/TabbedViewManager.as
deleted file mode 100644
index 43fc6a6..0000000
--- a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/TabbedViewManager.as
+++ /dev/null
@@ -1,85 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.mobile
-{	
-	import org.apache.flex.html.Container;
-	import org.apache.flex.mobile.IView;
-	import org.apache.flex.mobile.IViewManager;
-	import org.apache.flex.mobile.chrome.TabBar;
-	import org.apache.flex.mobile.models.ViewManagerModel;
-	
-	/**
-	 * The TabbedViewManager displays a set of views, only one of which is active at
-	 * a time. The other views are reachable via a set of tab buttons at the bottom of
-	 * the view manager's space.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class TabbedViewManager extends ViewManagerBase implements IViewManager
-	{
-		/**
-		 * Constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function TabbedViewManager()
-		{
-			super();
-			
-			className = "TabbedViewManager";
-		}
-		
-		/**
-		 * The TabBar (or null if not present).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get tabBar():TabBar
-		{
-			return ViewManagerModel(model).tabBar;
-		}
-		
-		/**
-		 * The index (starting at zero) of the currently visible view.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selectedIndex():Number
-		{
-			return ViewManagerModel(model).selectedIndex;
-		}
-		public function set selectedIndex(value:Number):void
-		{
-			ViewManagerModel(model).selectedIndex = value;
-		}
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/View.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/View.as b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/View.as
deleted file mode 100644
index 8b48536..0000000
--- a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/View.as
+++ /dev/null
@@ -1,96 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.mobile
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.html.Container;
-	
-	/**
-	 * The View class represents the area for a mobile app's primary
-	 * interface elements.
-	 */
-	public class View extends Container implements IView
-	{
-		public function View()
-		{
-			super();
-			
-			// views always take up 100% of their space
-			percentWidth = 100;
-			percentHeight = 100;
-		}
-		
-		private var _title:String;
-		public function get title():String
-		{
-			return _title;
-		}
-		public function set title(value:String):void
-		{
-			_title = value;
-		}
-		
-		override public function toString():String
-		{
-			return _title;
-		}
-		
-		private var _viewManager:IViewManager;
-		public function get viewManager():IViewManager
-		{
-			return _viewManager;
-		}
-		public function set viewManager(value:IViewManager):void
-		{
-			_viewManager = value;
-		}
-		
-		private var _controller:IBeadController;
-        
-        /**
-         *  Get the controller for the view.
-         * 
-         *  @flexjsignorecoercion Class
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get controller():IBeadController
-		{
-			if (_controller == null) {
-				_controller = getBeadByType(IBeadController) as IBeadController;
-				if (_controller == null) {
-                    var c:Class = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
-					_controller = new c() as IBeadController;
-					addBead(_controller);
-				}
-			}
-			return _controller;
-		}
-		public function set controller(value:IBeadController):void
-		{
-			_controller = value;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/44a1bb9a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/ViewManagerBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/ViewManagerBase.as b/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/ViewManagerBase.as
deleted file mode 100644
index d435157..0000000
--- a/frameworks/projects/Mobile/asjs/src/org/apache/flex/mobile/ViewManagerBase.as
+++ /dev/null
@@ -1,229 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.mobile
-{
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.html.Container;
-	import org.apache.flex.mobile.IView;
-	import org.apache.flex.mobile.IViewManager;
-	import org.apache.flex.mobile.chrome.NavigationBar;
-	import org.apache.flex.mobile.models.ViewManagerModel;
-	
-//	import org.apache.flex.html.beads.SolidBackgroundBead;
-//	import org.apache.flex.html.beads.SingleLineBorderBead;
-	
-	/**
-	 * Event dispatched when the current (selected) view changes.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	[Event(name="viewChanged")]
-	
-	/**
-	 * Base class for mobile navigation controls.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ViewManagerBase extends UIBase implements IViewManager
-	{
-		/**
-		 * Constructor.
-		 */
-		public function ViewManagerBase()
-		{
-			super();
-			
-			// views always fill their space
-			percentWidth = 100;
-			percentHeight = 100;
-			
-			model.addEventListener("selectedIndexChanged", changeView);
-			
-//			addBead(new SolidBackgroundBead());
-//			addBead(new SingleLineBorderBead());
-		}
-		
-		/**
-		 * A title that can be used in the NavigationBar.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get title():String
-		{
-			return ViewManagerModel(model).title;
-		}
-		public function set title(value:String):void
-		{
-			ViewManagerModel(model).title = value;
-		}
-		
-		/**
-		 * @private
-		 */
-		override public function toString():String
-		{
-			return ViewManagerModel(model).title;
-		}
-		
-		/**
-		 * True if this view manager instance is displaying a NavigationBar.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get hasNavigationBar():Boolean
-		{
-			return ViewManagerModel(model).navigationBarItems != null;
-		}
-		
-		/**
-		 * The items that make up the NavigationBar.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get navigationBarItems():Array
-		{
-			return ViewManagerModel(model).navigationBarItems;
-		}
-		public function set navigationBarItems(value:Array):void
-		{
-			ViewManagerModel(model).navigationBarItems = value;
-		}
-		
-		/**
-		 * The NavigationBar (or null if not present).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get navigationBar():NavigationBar
-		{
-			return ViewManagerModel(model).navigationBar; 
-		}
-		
-		/**
-		 *  The current set of views in the stack. The last entry is
-		 *  the top-most (visible) view.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get views():Array
-		{
-			return ViewManagerModel(model).views;
-		}
-		public function set views(value:Array):void
-		{
-			ViewManagerModel(model).views = value;
-		}
-		
-		/**
-		 * @private
-		 */
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-			
-			var n:int = ViewManagerModel(model).views.length;
-			if (n > 0) {
-				for (var i:int = 0; i < n; i++)
-				{
-					var view:IView = ViewManagerModel(model).views[i] as IView;
-					view.viewManager = this;
-					if (i == 0) {
-						addElement(view, true);
-					}
-				}
-				ViewManagerModel(model).selectedIndex = 0;
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		private function changeView( event:Event ):void
-		{
-			var index:Number = ViewManagerModel(model).selectedIndex;
-			if (_currentView) {
-				removeElement(_currentView);
-			}
-			_currentView = views[index];
-			addElement(_currentView);
-
-			dispatchEvent( new Event("viewChanged") );
-		}
-		
-		private var _currentView:IView;
-		
-		/**
-		 * The currently visible view.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selectedView():IView
-		{
-			return _currentView;
-		}
-		
-		/**
-		 * IViewManager
-		 */
-		
-		private var _viewManager:IViewManager;
-		
-		/**
-		 * This view manager's parent view manager, if any.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get viewManager():IViewManager
-		{
-			return _viewManager;
-		}
-		public function set viewManager(value:IViewManager):void
-		{
-			_viewManager = value;
-		}
-	}
-}
\ No newline at end of file