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 2016/07/18 15:45:50 UTC

[1/4] git commit: [flex-asjs] [refs/heads/develop] - Changes to Graphics package that allows SVG elements to be resumed.

Repository: flex-asjs
Updated Branches:
  refs/heads/develop bfd3a240f -> af84e52e8


Changes to Graphics package that allows SVG elements to be resumed.


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

Branch: refs/heads/develop
Commit: 2da30efb7e2e91c8896b180a8639b6b0cd504a96
Parents: ff84654
Author: Peter Ent <pe...@apache.org>
Authored: Mon Jul 18 09:58:22 2016 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Mon Jul 18 09:58:22 2016 -0400

----------------------------------------------------------------------
 .../org/apache/flex/core/graphics/Circle.as     | 28 ++++++++++++--------
 .../org/apache/flex/core/graphics/Ellipse.as    | 27 +++++++++++--------
 .../flex/org/apache/flex/core/graphics/Path.as  | 17 +++++++-----
 .../flex/org/apache/flex/core/graphics/Rect.as  | 27 +++++++++++--------
 .../flex/org/apache/flex/core/graphics/Text.as  | 26 +++++++++++-------
 5 files changed, 77 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
index 9f067f1..aa01f77 100644
--- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
+++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
@@ -37,6 +37,9 @@ package org.apache.flex.core.graphics
 		{
 			_radius = value;
 		}
+		
+		COMPILE::JS
+		private var _circle:WrappedHTMLElement;
 
 		/**
 		 *  Draw the circle.
@@ -64,25 +67,28 @@ package org.apache.flex.core.graphics
             COMPILE::JS                
             {
                 var style:String = getStyleStr();
-                var circle:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
-                circle.flexjs_wrapper = this;
-                circle.setAttribute('style', style);
+
+				if (_circle == null) {
+					_circle = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
+					_circle.flexjs_wrapper = this;
+					element.appendChild(_circle);
+				}
+				_circle.setAttribute('style', style);
                 if (stroke)
                 {
-                    circle.setAttribute('cx', String(radius + stroke.weight));
-                    circle.setAttribute('cy', String(radius + stroke.weight));
+					_circle.setAttribute('cx', String(radius + stroke.weight));
+					_circle.setAttribute('cy', String(radius + stroke.weight));
                 }
                 else
                 {
-                    circle.setAttribute('cx', String(radius));
-                    circle.setAttribute('cy', String(radius));
+					_circle.setAttribute('cx', String(radius));
+					_circle.setAttribute('cy', String(radius));
                 }
                 
-                circle.setAttribute('rx', String(radius));
-                circle.setAttribute('ry', String(radius));
-                element.appendChild(circle);
+				_circle.setAttribute('rx', String(radius));
+				_circle.setAttribute('ry', String(radius));
                 
-                resize(x-radius, y-radius, (circle as SVGCircleElement).getBBox());
+                resize(x-radius, y-radius, (_circle as SVGCircleElement).getBBox());
 
             }
 		}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
index f3c6c90..732d2c0 100644
--- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
+++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
@@ -31,6 +31,9 @@ package org.apache.flex.core.graphics
 	public class Ellipse extends GraphicShape
 	{
 		
+		COMPILE::JS
+		private var _ellipse:WrappedHTMLElement;
+		
 		/**
 		 *  Draw the ellipse.
 		 *  @param xp The x position of the top-left corner of the bounding box of the ellipse.
@@ -58,24 +61,26 @@ package org.apache.flex.core.graphics
             COMPILE::JS
             {
                 var style:String = getStyleStr();
-                var ellipse:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
-                ellipse.flexjs_wrapper = this;
-                ellipse.setAttribute('style', style);
+				if (_ellipse == null) {
+					_ellipse = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
+					_ellipse.flexjs_wrapper = this;
+					element.appendChild(_ellipse);
+				}
+				_ellipse.setAttribute('style', style);
                 if (stroke)
                 {
-                    ellipse.setAttribute('cx', String(width / 2 + stroke.weight));
-                    ellipse.setAttribute('cy', String(height / 2 + stroke.weight));
+					_ellipse.setAttribute('cx', String(width / 2 + stroke.weight));
+					_ellipse.setAttribute('cy', String(height / 2 + stroke.weight));
                 }
                 else
                 {
-                    ellipse.setAttribute('cx', String(width / 2));
-                    ellipse.setAttribute('cy', String(height / 2));
+					_ellipse.setAttribute('cx', String(width / 2));
+					_ellipse.setAttribute('cy', String(height / 2));
                 }
-                ellipse.setAttribute('rx', String(width / 2));
-                ellipse.setAttribute('ry', String(height / 2));
-                element.appendChild(ellipse);
+				_ellipse.setAttribute('rx', String(width / 2));
+				_ellipse.setAttribute('ry', String(height / 2));
                 
-                resize(x, y, (ellipse as SVGEllipseElement).getBBox());
+                resize(x, y, (_ellipse as SVGEllipseElement).getBBox());
 
             }
 		}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
index 0a152bb..15e6f0f 100644
--- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
+++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
@@ -41,6 +41,9 @@ package org.apache.flex.core.graphics
 		{
 			_data = value;
 		}
+		
+		COMPILE::JS
+		private var _path:WrappedHTMLElement;
 
 		/**
 		 *  Draw the path.
@@ -76,13 +79,15 @@ package org.apache.flex.core.graphics
             {
                 if (data == null || data.length === 0) return;
                 var style:String = getStyleStr();
-                var path:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'path') as WrappedHTMLElement;
-                path.flexjs_wrapper = this;
-                path.setAttribute('style', style);
-                path.setAttribute('d', data);
-                element.appendChild(path);
+				if (_path == null) {
+                	_path = document.createElementNS('http://www.w3.org/2000/svg', 'path') as WrappedHTMLElement;
+					_path.flexjs_wrapper = this;
+					element.appendChild(_path);
+				}
+				_path.setAttribute('style', style);
+				_path.setAttribute('d', data);
 
-                resize(x, y, path['getBBox']());
+                resize(x, y, _path['getBBox']());
 
             }
 		}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
index 3556459..0355c27 100644
--- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
+++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
@@ -28,6 +28,8 @@ package org.apache.flex.core.graphics
 
 	public class Rect extends GraphicShape
 	{
+		COMPILE::JS
+		private var _rect:WrappedHTMLElement;
 		
 		/**
 		 *  Draw the rectangle.
@@ -55,24 +57,27 @@ package org.apache.flex.core.graphics
             COMPILE::JS
             {
                 var style:String = this.getStyleStr();
-                var rect:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect') as WrappedHTMLElement;
-                rect.flexjs_wrapper = this;
-                rect.setAttribute('style', style);
+				
+				if (_rect == null) {
+                	_rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect') as WrappedHTMLElement;
+                	_rect.flexjs_wrapper = this;
+					element.appendChild(_rect);
+				}
+                _rect.setAttribute('style', style);
                 if (stroke)
                 {
-                    rect.setAttribute('x', String(stroke.weight / 2) + 'px');
-                    rect.setAttribute('y', String(stroke.weight / 2) + 'px');
+					_rect.setAttribute('x', String(stroke.weight / 2) + 'px');
+					_rect.setAttribute('y', String(stroke.weight / 2) + 'px');
                 }
                 else
                 {
-                    rect.setAttribute('x', '0' + 'px');
-                    rect.setAttribute('y', '0' + 'px');
+					_rect.setAttribute('x', '0' + 'px');
+					_rect.setAttribute('y', '0' + 'px');
                 }
-                rect.setAttribute('width', String(width) + 'px');
-                rect.setAttribute('height', String(height) + 'px');
-                element.appendChild(rect);
+				_rect.setAttribute('width', String(width) + 'px');
+				_rect.setAttribute('height', String(height) + 'px');
                 
-                resize(x, y, rect['getBBox']());
+                resize(x, y, _rect['getBBox']());
             }
 		}
 		

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
index b493488..e864a11 100644
--- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
+++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
@@ -64,6 +64,9 @@ package org.apache.flex.core.graphics
         COMPILE::SWF
 		private var _textField:CSSTextField;
 		
+		COMPILE::JS
+		private var _text:WrappedHTMLElement;
+		
 		/**
 		 *  @copy org.apache.flex.core.ITextModel#textField
 		 *  
@@ -115,16 +118,21 @@ package org.apache.flex.core.graphics
             COMPILE::JS
             {
                 var style:String = this.getStyleStr();
-                var text:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'text') as WrappedHTMLElement;
-                text.flexjs_wrapper = this;
-                text.setAttribute('style', style);
-                text.setAttribute('x', String(xt) + 'px');
-                text.setAttribute('y', String(yt) + 'px');
-                var textNode:Text = document.createTextNode(value) as Text;
-                text.appendChild(textNode as Node);
-                element.appendChild(text);
+				if (_text == null) {
+                	_text = document.createElementNS('http://www.w3.org/2000/svg', 'text') as WrappedHTMLElement;
+                	_text.flexjs_wrapper = this;
+					element.appendChild(_text);
+				}
+				else {
+					_text.removeChild(_text.childNodes[0]);
+				}
+                _text.setAttribute('style', style);
+                _text.setAttribute('x', String(xt) + 'px');
+                _text.setAttribute('y', String(yt) + 'px');
+				var textNode:Text = document.createTextNode(value) as Text;
+				_text.appendChild(textNode as Node);
                 
-                resize(x, y, (text as SVGLocatable).getBBox());
+                resize(x, y, (_text as SVGLocatable).getBBox());
 
             }
 		}


[3/4] git commit: [flex-asjs] [refs/heads/develop] - Merge branch 'chart_work' into develop

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

* chart_work:
  Fixes to Chart framework for item selection and highlighting.
  Changes to Graphics package that allows SVG elements to be resumed.


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

Branch: refs/heads/develop
Commit: eeaee044d5f1d54181a737148b1b73df75569f16
Parents: bfd3a24 261facb
Author: Peter Ent <pe...@apache.org>
Authored: Mon Jul 18 11:34:22 2016 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Mon Jul 18 11:34:22 2016 -0400

----------------------------------------------------------------------
 .../Charts/src/main/flex/ChartsClasses.as       |   3 +
 .../org/apache/flex/charts/beads/ChartView.as   | 107 +++++++++++-
 .../DataItemRendererFactoryForSeriesData.as     |   1 +
 .../controllers/ChartSeriesMouseController.as   | 140 +++++++++++++++
 .../beads/models/ChartArraySelectionModel.as    |  75 ++++++++
 .../apache/flex/charts/core/IChartDataModel.as  |  42 +++++
 .../flex/charts/core/IChartItemRenderer.as      |  11 ++
 .../charts/supportClasses/BoxItemRenderer.as    |   8 +-
 .../charts/supportClasses/WedgeItemRenderer.as  | 169 ++++++++++++++-----
 .../Charts/src/main/resources/defaults.css      |  29 ++--
 .../org/apache/flex/core/graphics/Circle.as     |  28 +--
 .../org/apache/flex/core/graphics/Ellipse.as    |  27 +--
 .../flex/org/apache/flex/core/graphics/Path.as  |  17 +-
 .../flex/org/apache/flex/core/graphics/Rect.as  |  27 +--
 .../flex/org/apache/flex/core/graphics/Text.as  |  26 ++-
 15 files changed, 590 insertions(+), 120 deletions(-)
----------------------------------------------------------------------



[2/4] git commit: [flex-asjs] [refs/heads/develop] - Fixes to Chart framework for item selection and highlighting.

Posted by pe...@apache.org.
Fixes to Chart framework for item selection and highlighting.


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

Branch: refs/heads/develop
Commit: 261facbc073d83715b98792f4350b4f13c4b5be2
Parents: 2da30ef
Author: Peter Ent <pe...@apache.org>
Authored: Mon Jul 18 09:59:33 2016 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Mon Jul 18 09:59:33 2016 -0400

----------------------------------------------------------------------
 .../Charts/src/main/flex/ChartsClasses.as       |   3 +
 .../org/apache/flex/charts/beads/ChartView.as   | 107 +++++++++++-
 .../DataItemRendererFactoryForSeriesData.as     |   1 +
 .../controllers/ChartSeriesMouseController.as   | 140 +++++++++++++++
 .../beads/models/ChartArraySelectionModel.as    |  75 ++++++++
 .../apache/flex/charts/core/IChartDataModel.as  |  42 +++++
 .../flex/charts/core/IChartItemRenderer.as      |  11 ++
 .../charts/supportClasses/BoxItemRenderer.as    |   8 +-
 .../charts/supportClasses/WedgeItemRenderer.as  | 169 ++++++++++++++-----
 .../Charts/src/main/resources/defaults.css      |  29 ++--
 10 files changed, 513 insertions(+), 72 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/261facbc/frameworks/projects/Charts/src/main/flex/ChartsClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/src/main/flex/ChartsClasses.as b/frameworks/projects/Charts/src/main/flex/ChartsClasses.as
index dc303a5..97b998e 100644
--- a/frameworks/projects/Charts/src/main/flex/ChartsClasses.as
+++ b/frameworks/projects/Charts/src/main/flex/ChartsClasses.as
@@ -34,6 +34,7 @@ internal class ChartsClasses
 	import org.apache.flex.charts.core.IChart; IChart;
 	import org.apache.flex.charts.core.ICartesianChartLayout; ICartesianChartLayout;
 	import org.apache.flex.charts.core.IChartDataGroup; IChartDataGroup;
+	import org.apache.flex.charts.core.IChartDataModel; IChartDataModel;
 	import org.apache.flex.charts.core.IChartSeries; IChartSeries;
 	import org.apache.flex.charts.core.IHorizontalAxisBead; IHorizontalAxisBead;
 	import org.apache.flex.charts.core.IVerticalAxisBead; IVerticalAxisBead;
@@ -51,6 +52,7 @@ internal class ChartsClasses
 	import org.apache.flex.charts.beads.HorizontalLinearAxisBead; HorizontalLinearAxisBead;
 	import org.apache.flex.charts.beads.VerticalCategoryAxisBead; VerticalCategoryAxisBead;
 	import org.apache.flex.charts.beads.VerticalLinearAxisBead; VerticalLinearAxisBead;
+	import org.apache.flex.charts.beads.controllers.ChartSeriesMouseController; ChartSeriesMouseController;
 	import org.apache.flex.charts.beads.layouts.BarChartLayout; BarChartLayout;
 	import org.apache.flex.charts.beads.layouts.ColumnChartLayout; ColumnChartLayout;
 	import org.apache.flex.charts.beads.layouts.LineChartCategoryVsLinearLayout; LineChartCategoryVsLinearLayout;
@@ -58,6 +60,7 @@ internal class ChartsClasses
 	import org.apache.flex.charts.beads.layouts.PieChartLayout; PieChartLayout;
 	import org.apache.flex.charts.beads.layouts.StackedBarChartLayout; StackedBarChartLayout;
 	import org.apache.flex.charts.beads.layouts.StackedColumnChartLayout; StackedColumnChartLayout;
+	import org.apache.flex.charts.beads.models.ChartArraySelectionModel; ChartArraySelectionModel;
 	import org.apache.flex.charts.supportClasses.BarSeries; BarSeries;
 	import org.apache.flex.charts.supportClasses.LineSeries; LineSeries;
 	import org.apache.flex.charts.supportClasses.PieSeries; PieSeries;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/261facbc/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/ChartView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/ChartView.as b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/ChartView.as
index 678c6b3..84860fa 100644
--- a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/ChartView.as
+++ b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/ChartView.as
@@ -21,10 +21,15 @@ package org.apache.flex.charts.beads
 	import org.apache.flex.charts.core.IAxisGroup;
 	import org.apache.flex.charts.core.IHorizontalAxisBead;
 	import org.apache.flex.charts.core.IVerticalAxisBead;
+	import org.apache.flex.charts.core.IChartSeries;
+	import org.apache.flex.charts.core.IChartDataModel;
+	import org.apache.flex.charts.supportClasses.ChartDataGroup;
 	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.IBeadView;
 	import org.apache.flex.core.IParent;
+	import org.apache.flex.core.IRollOverModel;
 	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.ISelectableItemRenderer;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IViewport;
 	import org.apache.flex.core.IViewportModel;
@@ -39,8 +44,25 @@ package org.apache.flex.charts.beads
 	import org.apache.flex.html.supportClasses.Viewport;
 	import org.apache.flex.utils.CSSContainerUtils;
 	
+	/**
+	 *  The ChartView class provides the visual elemental structure for a chart. This includes the
+	 *  axis areas and the chart data area where the graphs are drawn.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
 	public class ChartView extends ListView implements IBeadView
 	{
+		/**
+		 *  Constructor
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
 		public function ChartView()
 		{
 			super();
@@ -61,7 +83,7 @@ package org.apache.flex.charts.beads
 		{
 			_strand = value;
 						
-			var listModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+			var listModel:IChartDataModel = _strand.getBeadByType(IChartDataModel) as IChartDataModel;
 			listModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
 			
 			var haxis:IHorizontalAxisBead = _strand.getBeadByType(IHorizontalAxisBead) as IHorizontalAxisBead;
@@ -83,6 +105,9 @@ package org.apache.flex.charts.beads
 			super.strand = value;
 		}
 		
+		/**
+		 * @private
+		 */
 		override protected function completeSetup():void
 		{
 			if (border) {
@@ -92,11 +117,27 @@ package org.apache.flex.charts.beads
 			super.completeSetup();
 		}
 		
+		/**
+		 *  The IAxisGroup that represents the horizontal axis.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
 		public function get horizontalAxisGroup():IAxisGroup
 		{
 			return _horizontalAxisGroup;
 		}
 		
+		/**
+		 *  The IAxisGroup that represents the vertical axis.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
 		public function get verticalAxisGroup():IAxisGroup
 		{
 			return _verticalAxisGroup;
@@ -161,14 +202,62 @@ package org.apache.flex.charts.beads
 				UIBase(horizontalAxisGroup).width = strandWidth - widthAdjustment - metrics.left - metrics.right;
 				UIBase(horizontalAxisGroup).height = heightAdjustment;
 			}
+		}
+		
+		/**
+		 * @private
+		 */
+		protected var lastSelectedSeries:IChartSeries;
+		
+		/**
+		 * @private
+		 */
+		override protected function selectionChangeHandler(event:Event):void
+		{
+			var model:IChartDataModel = event.currentTarget as IChartDataModel;
+			var chartDataGroup:ChartDataGroup = dataGroup as ChartDataGroup;
+			var ir:ISelectableItemRenderer = null;
 			
-            /* viewport should be doing this now
-			if (dataGroup) {
-				UIBase(dataGroup).x = viewportModel.contentX;
-				UIBase(dataGroup).y = viewportModel.contentY;
-				UIBase(dataGroup).width = viewportModel.contentWidth;
-				UIBase(dataGroup).height = viewportModel.contentHeight;
-			} */
-		}		
+			if (lastSelectedIndex != -1)
+			{
+				ir = chartDataGroup.getItemRendererForSeriesAtIndex(lastSelectedSeries, lastSelectedIndex) as ISelectableItemRenderer;
+				ir.selected = false;
+			}
+			if (model.selectedIndex != -1)
+			{
+				ir = chartDataGroup.getItemRendererForSeriesAtIndex(model.selectedSeries, model.selectedIndex) as ISelectableItemRenderer;
+				ir.selected = true;
+			}
+			lastSelectedIndex = model.selectedIndex;
+			lastSelectedSeries = model.selectedSeries;
+		}
+		
+		/**
+		 * @private
+		 */
+		protected var lastRollOverSeries:IChartSeries;
+		
+		/**
+		 * @private
+		 */
+		override protected function rollOverIndexChangeHandler(event:Event):void
+		{
+			var model:IChartDataModel = event.currentTarget as IChartDataModel;
+			var chartDataGroup:ChartDataGroup = dataGroup as ChartDataGroup;
+			var ir:ISelectableItemRenderer = null;
+
+			if (lastRollOverIndex != -1)
+			{
+				ir = chartDataGroup.getItemRendererForSeriesAtIndex(lastRollOverSeries, lastRollOverIndex) as ISelectableItemRenderer;
+				ir.hovered = false;
+			}
+			if (model.rollOverIndex != -1)
+			{
+				ir = chartDataGroup.getItemRendererForSeriesAtIndex(model.rollOverSeries, model.rollOverIndex) as ISelectableItemRenderer;
+				ir.hovered = true;
+			}
+			lastRollOverIndex = model.rollOverIndex;
+			lastRollOverSeries = model.rollOverSeries;
+		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/261facbc/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/DataItemRendererFactoryForSeriesData.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/DataItemRendererFactoryForSeriesData.as b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/DataItemRendererFactoryForSeriesData.as
index 0b32e4e..dfd931a 100644
--- a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/DataItemRendererFactoryForSeriesData.as
+++ b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/DataItemRendererFactoryForSeriesData.as
@@ -118,6 +118,7 @@ package org.apache.flex.charts.beads
 						var ir:IChartItemRenderer = chartSeries.itemRenderer.newInstance() as IChartItemRenderer;
 						dataGroup.addElement(ir);
 						ir.itemRendererParent = dataGroup;
+						ir.index = i;
 						ir.data = dp[i];
 						ir.series = chartSeries;
 					}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/261facbc/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/controllers/ChartSeriesMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/controllers/ChartSeriesMouseController.as b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/controllers/ChartSeriesMouseController.as
new file mode 100644
index 0000000..c4e20ac
--- /dev/null
+++ b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/controllers/ChartSeriesMouseController.as
@@ -0,0 +1,140 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.charts.beads.controllers
+{
+	import org.apache.flex.core.IBeadController;
+	import org.apache.flex.core.IItemRendererParent;
+	import org.apache.flex.core.IRollOverModel;
+	import org.apache.flex.core.ISelectableItemRenderer;
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.events.ItemAddedEvent;
+	import org.apache.flex.events.ItemRemovedEvent;
+	import org.apache.flex.events.MouseEvent;
+	import org.apache.flex.html.beads.IListView;
+	
+	import org.apache.flex.events.ItemClickedEvent;
+	
+	import org.apache.flex.charts.core.IChartItemRenderer;
+	import org.apache.flex.charts.core.IChartDataModel;
+	
+	public class ChartSeriesMouseController implements IBeadController
+	{
+		public function ChartSeriesMouseController()
+		{
+			
+		}
+		
+		/**
+		 *  The model.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		protected var listModel:IChartDataModel;
+		
+		/**
+		 *  The view.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		protected var listView:IListView;
+		
+		/**
+		 *  The parent of the item renderers.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		protected var dataGroup:IItemRendererParent;
+		
+		private var _strand:IStrand;
+		
+		/**
+		 *  @copy org.apache.flex.core.IBead#strand
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			listModel = value.getBeadByType(IChartDataModel) as IChartDataModel;
+			listView = value.getBeadByType(IListView) as IListView;
+			IEventDispatcher(_strand).addEventListener("itemAdded", handleItemAdded);
+			IEventDispatcher(_strand).addEventListener("itemRemoved", handleItemRemoved);
+		}
+		
+		protected function handleItemAdded(event:ItemAddedEvent):void
+		{
+			IEventDispatcher(event.item).addEventListener("itemClicked", selectedHandler);
+			IEventDispatcher(event.item).addEventListener("itemRollOver", rolloverHandler);
+			IEventDispatcher(event.item).addEventListener("itemRollOut", rolloutHandler);
+		}
+		
+		protected function handleItemRemoved(event:ItemAddedEvent):void
+		{
+			IEventDispatcher(event.item).removeEventListener("itemClicked", selectedHandler);
+			IEventDispatcher(event.item).removeEventListener("itemRollOver", rolloverHandler);
+			IEventDispatcher(event.item).removeEventListener("itemRollOut", rolloutHandler);
+		}
+		
+		protected function selectedHandler(event:ItemClickedEvent):void
+		{
+			var renderer:IChartItemRenderer = event.currentTarget as IChartItemRenderer;
+			if (renderer) {
+				listModel.selectedSeries = renderer.series;
+				listModel.selectedIndex = event.index;
+				listView.host.dispatchEvent(new Event("change"));
+			}
+		}
+		
+		protected function rolloverHandler(event:Event):void
+		{
+			var renderer:IChartItemRenderer = event.currentTarget as IChartItemRenderer;
+			if (renderer) {
+				//renderer.hovered = true;
+				listModel.rollOverSeries = renderer.series;
+				listModel.rollOverIndex = renderer.index;
+			}
+		}
+		
+		protected function rolloutHandler(event:Event):void
+		{
+			var renderer:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
+			if (renderer) {
+				renderer.hovered = false;
+				renderer.down = false;
+				listModel.rollOverSeries = null;
+				listModel.rollOverIndex = -1;
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/261facbc/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/models/ChartArraySelectionModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/models/ChartArraySelectionModel.as b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/models/ChartArraySelectionModel.as
new file mode 100644
index 0000000..255f48e
--- /dev/null
+++ b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/models/ChartArraySelectionModel.as
@@ -0,0 +1,75 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.charts.beads.models
+{
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.EventDispatcher;
+	
+	import org.apache.flex.html.beads.models.ArraySelectionModel;
+	
+	import org.apache.flex.charts.core.IChartDataModel;
+	import org.apache.flex.charts.core.IChartSeries;
+	
+	/**
+	 *  The ArraySelectionModel class is a selection model for
+	 *  a dataProvider that is an array. It assumes that items
+	 *  can be fetched from the dataProvider
+	 *  dataProvider[index].  Other selection models
+	 *  would support other kinds of data providers.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public class ChartArraySelectionModel extends ArraySelectionModel implements IChartDataModel
+	{
+		public function ChartArraySelectionModel()
+		{
+			super();
+		}
+		
+		private var _series:IChartSeries;
+		public function get selectedSeries():IChartSeries
+		{
+			return _series;
+		}
+		public function set selectedSeries(value:IChartSeries):void
+		{
+			if (value != _series) {
+				_series = value;
+				dispatchEvent(new Event("selectedSeriesChanged"));
+			}
+		}
+		
+		private var _rollOverSeries:IChartSeries;
+		public function get rollOverSeries():IChartSeries
+		{
+			return _rollOverSeries;
+		}
+		public function set rollOverSeries(value:IChartSeries):void
+		{
+			if (value != _rollOverSeries) {
+				_rollOverSeries = value;
+				dispatchEvent(new Event("rollOverSeriesChanged"));
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/261facbc/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/core/IChartDataModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/core/IChartDataModel.as b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/core/IChartDataModel.as
new file mode 100644
index 0000000..6f506fd
--- /dev/null
+++ b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/core/IChartDataModel.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.charts.core
+{
+	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IRollOverModel;
+	import org.apache.flex.charts.core.IChartSeries;
+	
+	/**
+	 *  The IChartDataModel provides extensions to the standard ISelectionModel to
+	 *  include the series selected (or rolled over).
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	public interface IChartDataModel extends ISelectionModel, IRollOverModel
+	{
+		function get selectedSeries():IChartSeries;
+		function set selectedSeries(value:IChartSeries):void;
+		
+		function get rollOverSeries():IChartSeries;
+		function set rollOverSeries(value:IChartSeries):void;
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/261facbc/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/core/IChartItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/core/IChartItemRenderer.as b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/core/IChartItemRenderer.as
index ec33c20..fe4c8bc 100644
--- a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/core/IChartItemRenderer.as
+++ b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/core/IChartItemRenderer.as
@@ -44,6 +44,17 @@ package org.apache.flex.charts.core
 		function set series(value:IChartSeries):void;
 		
 		/**
+		 *  The index of this itemRenderer instance with its series.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		function get index():int;
+		function set index(value:int):void;
+		
+		/**
 		 *  The name of the field containing the X-axis value found
 		 *  in the data property.
 		 *

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/261facbc/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/BoxItemRenderer.as b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
index f94bf84..2fabdba 100644
--- a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
+++ b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
@@ -234,16 +234,14 @@ package org.apache.flex.charts.supportClasses
 		private var hoverFill:IFill;
 		
 		override public function updateRenderer():void
-		{
-			super.updateRenderer();
-			
+		{			
 			if (down||selected||hovered) {
 				if (hoverFill == null) {
 					if(fill is SolidColor)
 					{
 						hoverFill = new SolidColor();
 						(hoverFill as SolidColor).color = (fill as SolidColor).color;
-						(hoverFill as SolidColor).alpha = 0.5;
+						(hoverFill as SolidColor).alpha = 0.65;
 					}
 					else if(fill is LinearGradient)
 					{
@@ -251,7 +249,7 @@ package org.apache.flex.charts.supportClasses
 						(hoverFill as LinearGradient).entries = (fill as LinearGradient).entries;
 						for (var i:int=0; i<(hoverFill as LinearGradient).entries; i++)
 						{
-							(hoverFill as LinearGradient).entries[i].alpha = 0.5;
+							(hoverFill as LinearGradient).entries[i].alpha = 0.65;
 						}
 					}
 					

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/261facbc/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/WedgeItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/WedgeItemRenderer.as b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/WedgeItemRenderer.as
index b46a53a..a5b43fb 100644
--- a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/WedgeItemRenderer.as
+++ b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/WedgeItemRenderer.as
@@ -19,9 +19,12 @@
 package org.apache.flex.charts.supportClasses
 {	
 	import org.apache.flex.charts.core.IChartSeries;
+	import org.apache.flex.core.IBead;
 	import org.apache.flex.core.graphics.IFill;
 	import org.apache.flex.core.graphics.IStroke;
 	import org.apache.flex.core.graphics.Path;
+	import org.apache.flex.core.graphics.SolidColor;
+	import org.apache.flex.core.graphics.LinearGradient;
 	import org.apache.flex.html.supportClasses.DataItemRenderer;
 	
 	/**
@@ -34,11 +37,29 @@ package org.apache.flex.charts.supportClasses
 	 */
 	public class WedgeItemRenderer extends DataItemRenderer implements IWedgeItemRenderer
 	{
+		/**
+		 *  constructor.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
 		public function WedgeItemRenderer()
 		{
 			super();
 		}
 		
+		override public function addedToParent():void
+		{
+			super.addedToParent();
+		}
+		
+		override public function addBead(bead:IBead):void
+		{
+			super.addBead(bead);
+		}
+		
 		private var _series:IChartSeries;
 		
 		/**
@@ -59,6 +80,60 @@ package org.apache.flex.charts.supportClasses
 			_series = value;
 		}
 		
+		private var filledPath:Path;
+		
+		private var _fill:IFill;
+		
+		/**
+		 *  The color used to fill the interior of the box.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get fill():IFill
+		{
+			return _fill;
+		}
+		public function set fill(value:IFill):void
+		{
+			_fill = value;
+		}
+		
+		private var _stroke:IStroke;
+		
+		/**
+		 *  The outline of the box.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get stroke():IStroke
+		{
+			return _stroke;
+		}
+		public function set stroke(value:IStroke):void
+		{
+			_stroke = value;
+		}
+		
+		/**
+		 *  @copy org.apache.flex.supportClasses.UIItemRendererBase#data
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		override public function set data(value:Object):void
+		{
+			super.data = value;	
+			drawWedgeInternal();
+		}
+		
 		private var _centerX:Number;
 		
 		/**
@@ -159,44 +234,6 @@ package org.apache.flex.charts.supportClasses
 			drawWedgeInternal();
 		}
 		
-		private var _fill:IFill;
-		
-		/**
-		 *  The color used to fill the interior of the box.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get fill():IFill
-		{
-			return _fill;
-		}
-		public function set fill(value:IFill):void
-		{
-			_fill = value;
-		}
-		
-		private var _stroke:IStroke;
-		
-		/**
-		 *  The outline of the box.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get stroke():IStroke
-		{
-			return _stroke;
-		}
-		public function set stroke(value:IStroke):void
-		{
-			_stroke = value;
-		}
-		
 		/**
 		 * @private
 		 */
@@ -206,7 +243,7 @@ package org.apache.flex.charts.supportClasses
 				drawWedge(centerX, centerY, startAngle, arc, radius, radius, false);
 			}
 		}
-		
+				
 		/**
 		 * @private
 		 * 
@@ -226,6 +263,13 @@ package org.apache.flex.charts.supportClasses
 								  radius:Number, yRadius:Number = NaN,
 								  continueFlag:Boolean = false):void
 		{			
+			var needsAdd:Boolean = false;
+			
+			if (filledPath == null) {
+				filledPath = new Path();
+				needsAdd = true;
+			}
+			
 			var x1:Number = x + radius * Math.cos(startAngle);
 			var y1:Number = y + radius * Math.sin(startAngle);
 			var x2:Number = x + radius * Math.cos(startAngle + arc);
@@ -234,13 +278,46 @@ package org.apache.flex.charts.supportClasses
 			var pathString:String = 'M' + x + ' ' + y + ' L' + x1 + ' ' + y1 + ' A' + radius + ' ' + radius +
 				' 0 0 1 ' + x2 + ' ' + y2 + ' z';
 			
-			var path:Path = new Path();
-			path.fill = fill;
-			path.stroke = stroke;
-			path.x = 0;
-			path.y = 0;
-			path.data = pathString;
-			addElement(path);
+			filledPath.fill = fill;
+			filledPath.stroke = stroke;
+			filledPath.x = 0;
+			filledPath.y = 0;
+			filledPath.data = pathString;
+			
+			if (needsAdd) {	
+				addElement(filledPath);
+			}
+		}
+		
+		private var hoverFill:IFill;
+		
+		override public function updateRenderer():void
+		{						
+			if (down||selected||hovered) {
+				if (hoverFill == null) {
+					if(fill is SolidColor)
+					{
+						hoverFill = new SolidColor();
+						(hoverFill as SolidColor).color = (fill as SolidColor).color;
+						(hoverFill as SolidColor).alpha = 0.65;
+					}
+					else if(fill is LinearGradient)
+					{
+						hoverFill = new LinearGradient();
+						(hoverFill as LinearGradient).entries = (fill as LinearGradient).entries;
+						for (var i:int=0; i<(hoverFill as LinearGradient).entries; i++)
+						{
+							(hoverFill as LinearGradient).entries[i].alpha = 0.65;
+						}
+					}
+				}
+				filledPath.fill = hoverFill;
+			}
+			else {
+				filledPath.fill = fill;
+			}
+			
+			filledPath.drawPath(0, 0, filledPath.data);
 		}
 		
 		/*

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/261facbc/frameworks/projects/Charts/src/main/resources/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/src/main/resources/defaults.css b/frameworks/projects/Charts/src/main/resources/defaults.css
index de87e21..1b19ca4 100644
--- a/frameworks/projects/Charts/src/main/resources/defaults.css
+++ b/frameworks/projects/Charts/src/main/resources/defaults.css
@@ -21,9 +21,9 @@
 
 BarChart
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+    IBeadModel: ClassReference("org.apache.flex.charts.beads.models.ChartArraySelectionModel");
     IBeadView:  ClassReference("org.apache.flex.charts.beads.ChartView");			
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+    IBeadController: ClassReference("org.apache.flex.charts.beads.controllers.ChartSeriesMouseController");
     IBeadLayout: ClassReference("org.apache.flex.charts.beads.layouts.BarChartLayout");
     IContentView: ClassReference("org.apache.flex.charts.supportClasses.ChartDataGroup");
     IDataProviderItemRendererMapper: ClassReference("org.apache.flex.charts.beads.DataItemRendererFactoryForSeriesData");
@@ -38,11 +38,16 @@ BoxItemRenderer
     IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
 }
 
+WedgeItemRenderer
+{
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
+}
+
 ColumnChart
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+    IBeadModel: ClassReference("org.apache.flex.charts.beads.models.ChartArraySelectionModel");
     IBeadView:  ClassReference("org.apache.flex.charts.beads.ChartView");			
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+    IBeadController: ClassReference("org.apache.flex.charts.beads.controllers.ChartSeriesMouseController");
     IBeadLayout: ClassReference("org.apache.flex.charts.beads.layouts.ColumnChartLayout");
     IContentView: ClassReference("org.apache.flex.charts.supportClasses.ChartDataGroup");
     IDataProviderItemRendererMapper: ClassReference("org.apache.flex.charts.beads.DataItemRendererFactoryForSeriesData");
@@ -54,9 +59,9 @@ ColumnChart
 
 LineChart
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+    IBeadModel: ClassReference("org.apache.flex.charts.beads.models.ChartArraySelectionModel");
     IBeadView:  ClassReference("org.apache.flex.charts.beads.ChartView");			
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+    IBeadController: ClassReference("org.apache.flex.charts.beads.controllers.ChartSeriesMouseController");
     IBeadLayout: ClassReference("org.apache.flex.charts.beads.layouts.LineChartCategoryVsLinearLayout");
     IContentView: ClassReference("org.apache.flex.charts.supportClasses.ChartDataGroup");
     IDataProviderItemRendererMapper: ClassReference("org.apache.flex.charts.beads.DataItemRendererFactoryForSeriesData");
@@ -69,9 +74,9 @@ LineChart
 
 PieChart
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+    IBeadModel: ClassReference("org.apache.flex.charts.beads.models.ChartArraySelectionModel");
     IBeadView:  ClassReference("org.apache.flex.charts.beads.ChartView");			
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+    IBeadController: ClassReference("org.apache.flex.charts.beads.controllers.ChartSeriesMouseController");
     IBeadLayout: ClassReference("org.apache.flex.charts.beads.layouts.PieChartLayout");
     IContentView: ClassReference("org.apache.flex.charts.supportClasses.ChartDataGroup");
     IDataProviderItemRendererMapper: ClassReference("org.apache.flex.charts.beads.DataItemRendererFactoryForSeriesData");
@@ -81,9 +86,9 @@ PieChart
 
 StackedColumnChart
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+    IBeadModel: ClassReference("org.apache.flex.charts.beads.models.ChartArraySelectionModel");
     IBeadView:  ClassReference("org.apache.flex.charts.beads.ChartView");			
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+    IBeadController: ClassReference("org.apache.flex.charts.beads.controllers.ChartSeriesMouseController");
     IBeadLayout: ClassReference("org.apache.flex.charts.beads.layouts.StackedColumnChartLayout");
     IContentView: ClassReference("org.apache.flex.charts.supportClasses.ChartDataGroup");
     IDataProviderItemRendererMapper: ClassReference("org.apache.flex.charts.beads.DataItemRendererFactoryForSeriesData");
@@ -95,9 +100,9 @@ StackedColumnChart
 
 StackedBarChart
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+    IBeadModel: ClassReference("org.apache.flex.charts.beads.models.ChartArraySelectionModel");
     IBeadView:  ClassReference("org.apache.flex.charts.beads.ChartView");			
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+    IBeadController: ClassReference("org.apache.flex.charts.beads.controllers.ChartSeriesMouseController");
     IBeadLayout: ClassReference("org.apache.flex.charts.beads.layouts.StackedBarChartLayout");
     IContentView: ClassReference("org.apache.flex.charts.supportClasses.ChartDataGroup");
     IDataProviderItemRendererMapper: ClassReference("org.apache.flex.charts.beads.DataItemRendererFactoryForSeriesData");


Re: [1/4] git commit: [flex-asjs] [refs/heads/develop] - Changes to Graphics package that allows SVG elements to be resumed.

Posted by Peter Ent <pe...@adobe.com>.
Let me know if it doesn't build for you. I had to integrate with a number
of commits.

‹peter

On 7/18/16, 2:32 PM, "Harbs" <ha...@gmail.com> wrote:

>These changes look great (and are very timely for me).
>
>Thanks!
>
>On Jul 18, 2016, at 6:45 PM, pent@apache.org wrote:
>
>> Repository: flex-asjs
>> Updated Branches:
>>  refs/heads/develop bfd3a240f -> af84e52e8
>> 
>> 
>> Changes to Graphics package that allows SVG elements to be resumed.
>> 
>> 
>> Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/2da30efb
>> Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/2da30efb
>> Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/2da30efb
>> 
>> Branch: refs/heads/develop
>> Commit: 2da30efb7e2e91c8896b180a8639b6b0cd504a96
>> Parents: ff84654
>> Author: Peter Ent <pe...@apache.org>
>> Authored: Mon Jul 18 09:58:22 2016 -0400
>> Committer: Peter Ent <pe...@apache.org>
>> Committed: Mon Jul 18 09:58:22 2016 -0400
>> 
>> ----------------------------------------------------------------------
>> .../org/apache/flex/core/graphics/Circle.as     | 28
>>++++++++++++--------
>> .../org/apache/flex/core/graphics/Ellipse.as    | 27 +++++++++++--------
>> .../flex/org/apache/flex/core/graphics/Path.as  | 17 +++++++-----
>> .../flex/org/apache/flex/core/graphics/Rect.as  | 27 +++++++++++--------
>> .../flex/org/apache/flex/core/graphics/Text.as  | 26 +++++++++++-------
>> 5 files changed, 77 insertions(+), 48 deletions(-)
>> ----------------------------------------------------------------------
>> 
>> 
>> 
>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks
>>/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
>> ----------------------------------------------------------------------
>> diff --git 
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Circle.as 
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Circle.as
>> index 9f067f1..aa01f77 100644
>> --- 
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Circle.as
>> +++ 
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Circle.as
>> @@ -37,6 +37,9 @@ package org.apache.flex.core.graphics
>> 		{
>> 			_radius = value;
>> 		}
>> +		
>> +		COMPILE::JS
>> +		private var _circle:WrappedHTMLElement;
>> 
>> 		/**
>> 		 *  Draw the circle.
>> @@ -64,25 +67,28 @@ package org.apache.flex.core.graphics
>>             COMPILE::JS
>>             {
>>                 var style:String = getStyleStr();
>> -                var circle:WrappedHTMLElement =
>>document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as
>>WrappedHTMLElement;
>> -                circle.flexjs_wrapper = this;
>> -                circle.setAttribute('style', style);
>> +
>> +				if (_circle == null) {
>> +					_circle = document.createElementNS('http://www.w3.org/2000/svg',
>>'ellipse') as WrappedHTMLElement;
>> +					_circle.flexjs_wrapper = this;
>> +					element.appendChild(_circle);
>> +				}
>> +				_circle.setAttribute('style', style);
>>                 if (stroke)
>>                 {
>> -                    circle.setAttribute('cx', String(radius +
>>stroke.weight));
>> -                    circle.setAttribute('cy', String(radius +
>>stroke.weight));
>> +					_circle.setAttribute('cx', String(radius + stroke.weight));
>> +					_circle.setAttribute('cy', String(radius + stroke.weight));
>>                 }
>>                 else
>>                 {
>> -                    circle.setAttribute('cx', String(radius));
>> -                    circle.setAttribute('cy', String(radius));
>> +					_circle.setAttribute('cx', String(radius));
>> +					_circle.setAttribute('cy', String(radius));
>>                 }
>> 
>> -                circle.setAttribute('rx', String(radius));
>> -                circle.setAttribute('ry', String(radius));
>> -                element.appendChild(circle);
>> +				_circle.setAttribute('rx', String(radius));
>> +				_circle.setAttribute('ry', String(radius));
>> 
>> -                resize(x-radius, y-radius, (circle as
>>SVGCircleElement).getBBox());
>> +                resize(x-radius, y-radius, (_circle as
>>SVGCircleElement).getBBox());
>> 
>>             }
>> 		}
>> 
>> 
>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks
>>/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
>> ----------------------------------------------------------------------
>> diff --git 
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Ellipse.as 
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Ellipse.as
>> index f3c6c90..732d2c0 100644
>> --- 
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Ellipse.as
>> +++ 
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Ellipse.as
>> @@ -31,6 +31,9 @@ package org.apache.flex.core.graphics
>> 	public class Ellipse extends GraphicShape
>> 	{
>> 		
>> +		COMPILE::JS
>> +		private var _ellipse:WrappedHTMLElement;
>> +		
>> 		/**
>> 		 *  Draw the ellipse.
>> 		 *  @param xp The x position of the top-left corner of the bounding
>>box of the ellipse.
>> @@ -58,24 +61,26 @@ package org.apache.flex.core.graphics
>>             COMPILE::JS
>>             {
>>                 var style:String = getStyleStr();
>> -                var ellipse:WrappedHTMLElement =
>>document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as
>>WrappedHTMLElement;
>> -                ellipse.flexjs_wrapper = this;
>> -                ellipse.setAttribute('style', style);
>> +				if (_ellipse == null) {
>> +					_ellipse = document.createElementNS('http://www.w3.org/2000/svg',
>>'ellipse') as WrappedHTMLElement;
>> +					_ellipse.flexjs_wrapper = this;
>> +					element.appendChild(_ellipse);
>> +				}
>> +				_ellipse.setAttribute('style', style);
>>                 if (stroke)
>>                 {
>> -                    ellipse.setAttribute('cx', String(width / 2 +
>>stroke.weight));
>> -                    ellipse.setAttribute('cy', String(height / 2 +
>>stroke.weight));
>> +					_ellipse.setAttribute('cx', String(width / 2 + stroke.weight));
>> +					_ellipse.setAttribute('cy', String(height / 2 + stroke.weight));
>>                 }
>>                 else
>>                 {
>> -                    ellipse.setAttribute('cx', String(width / 2));
>> -                    ellipse.setAttribute('cy', String(height / 2));
>> +					_ellipse.setAttribute('cx', String(width / 2));
>> +					_ellipse.setAttribute('cy', String(height / 2));
>>                 }
>> -                ellipse.setAttribute('rx', String(width / 2));
>> -                ellipse.setAttribute('ry', String(height / 2));
>> -                element.appendChild(ellipse);
>> +				_ellipse.setAttribute('rx', String(width / 2));
>> +				_ellipse.setAttribute('ry', String(height / 2));
>> 
>> -                resize(x, y, (ellipse as SVGEllipseElement).getBBox());
>> +                resize(x, y, (_ellipse as
>>SVGEllipseElement).getBBox());
>> 
>>             }
>> 		}
>> 
>> 
>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks
>>/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
>> ----------------------------------------------------------------------
>> diff --git 
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Path.as 
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Path.as
>> index 0a152bb..15e6f0f 100644
>> --- 
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Path.as
>> +++ 
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Path.as
>> @@ -41,6 +41,9 @@ package org.apache.flex.core.graphics
>> 		{
>> 			_data = value;
>> 		}
>> +		
>> +		COMPILE::JS
>> +		private var _path:WrappedHTMLElement;
>> 
>> 		/**
>> 		 *  Draw the path.
>> @@ -76,13 +79,15 @@ package org.apache.flex.core.graphics
>>             {
>>                 if (data == null || data.length === 0) return;
>>                 var style:String = getStyleStr();
>> -                var path:WrappedHTMLElement =
>>document.createElementNS('http://www.w3.org/2000/svg', 'path') as
>>WrappedHTMLElement;
>> -                path.flexjs_wrapper = this;
>> -                path.setAttribute('style', style);
>> -                path.setAttribute('d', data);
>> -                element.appendChild(path);
>> +				if (_path == null) {
>> +                	_path =
>>document.createElementNS('http://www.w3.org/2000/svg', 'path') as
>>WrappedHTMLElement;
>> +					_path.flexjs_wrapper = this;
>> +					element.appendChild(_path);
>> +				}
>> +				_path.setAttribute('style', style);
>> +				_path.setAttribute('d', data);
>> 
>> -                resize(x, y, path['getBBox']());
>> +                resize(x, y, _path['getBBox']());
>> 
>>             }
>> 		}
>> 
>> 
>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks
>>/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
>> ----------------------------------------------------------------------
>> diff --git 
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Rect.as 
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Rect.as
>> index 3556459..0355c27 100644
>> --- 
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Rect.as
>> +++ 
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Rect.as
>> @@ -28,6 +28,8 @@ package org.apache.flex.core.graphics
>> 
>> 	public class Rect extends GraphicShape
>> 	{
>> +		COMPILE::JS
>> +		private var _rect:WrappedHTMLElement;
>> 		
>> 		/**
>> 		 *  Draw the rectangle.
>> @@ -55,24 +57,27 @@ package org.apache.flex.core.graphics
>>             COMPILE::JS
>>             {
>>                 var style:String = this.getStyleStr();
>> -                var rect:WrappedHTMLElement =
>>document.createElementNS('http://www.w3.org/2000/svg', 'rect') as
>>WrappedHTMLElement;
>> -                rect.flexjs_wrapper = this;
>> -                rect.setAttribute('style', style);
>> +				
>> +				if (_rect == null) {
>> +                	_rect =
>>document.createElementNS('http://www.w3.org/2000/svg', 'rect') as
>>WrappedHTMLElement;
>> +                	_rect.flexjs_wrapper = this;
>> +					element.appendChild(_rect);
>> +				}
>> +                _rect.setAttribute('style', style);
>>                 if (stroke)
>>                 {
>> -                    rect.setAttribute('x', String(stroke.weight / 2) +
>>'px');
>> -                    rect.setAttribute('y', String(stroke.weight / 2) +
>>'px');
>> +					_rect.setAttribute('x', String(stroke.weight / 2) + 'px');
>> +					_rect.setAttribute('y', String(stroke.weight / 2) + 'px');
>>                 }
>>                 else
>>                 {
>> -                    rect.setAttribute('x', '0' + 'px');
>> -                    rect.setAttribute('y', '0' + 'px');
>> +					_rect.setAttribute('x', '0' + 'px');
>> +					_rect.setAttribute('y', '0' + 'px');
>>                 }
>> -                rect.setAttribute('width', String(width) + 'px');
>> -                rect.setAttribute('height', String(height) + 'px');
>> -                element.appendChild(rect);
>> +				_rect.setAttribute('width', String(width) + 'px');
>> +				_rect.setAttribute('height', String(height) + 'px');
>> 
>> -                resize(x, y, rect['getBBox']());
>> +                resize(x, y, _rect['getBBox']());
>>             }
>> 		}
>> 		
>> 
>> 
>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks
>>/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
>> ----------------------------------------------------------------------
>> diff --git 
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Text.as 
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Text.as
>> index b493488..e864a11 100644
>> --- 
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Text.as
>> +++ 
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Text.as
>> @@ -64,6 +64,9 @@ package org.apache.flex.core.graphics
>>         COMPILE::SWF
>> 		private var _textField:CSSTextField;
>> 		
>> +		COMPILE::JS
>> +		private var _text:WrappedHTMLElement;
>> +		
>> 		/**
>> 		 *  @copy org.apache.flex.core.ITextModel#textField
>> 		 *  
>> @@ -115,16 +118,21 @@ package org.apache.flex.core.graphics
>>             COMPILE::JS
>>             {
>>                 var style:String = this.getStyleStr();
>> -                var text:WrappedHTMLElement =
>>document.createElementNS('http://www.w3.org/2000/svg', 'text') as
>>WrappedHTMLElement;
>> -                text.flexjs_wrapper = this;
>> -                text.setAttribute('style', style);
>> -                text.setAttribute('x', String(xt) + 'px');
>> -                text.setAttribute('y', String(yt) + 'px');
>> -                var textNode:Text = document.createTextNode(value) as
>>Text;
>> -                text.appendChild(textNode as Node);
>> -                element.appendChild(text);
>> +				if (_text == null) {
>> +                	_text =
>>document.createElementNS('http://www.w3.org/2000/svg', 'text') as
>>WrappedHTMLElement;
>> +                	_text.flexjs_wrapper = this;
>> +					element.appendChild(_text);
>> +				}
>> +				else {
>> +					_text.removeChild(_text.childNodes[0]);
>> +				}
>> +                _text.setAttribute('style', style);
>> +                _text.setAttribute('x', String(xt) + 'px');
>> +                _text.setAttribute('y', String(yt) + 'px');
>> +				var textNode:Text = document.createTextNode(value) as Text;
>> +				_text.appendChild(textNode as Node);
>> 
>> -                resize(x, y, (text as SVGLocatable).getBBox());
>> +                resize(x, y, (_text as SVGLocatable).getBBox());
>> 
>>             }
>> 		}
>> 
>


Re: [1/4] git commit: [flex-asjs] [refs/heads/develop] - Changes to Graphics package that allows SVG elements to be resumed.

Posted by Harbs <ha...@gmail.com>.
These changes look great (and are very timely for me).

Thanks!

On Jul 18, 2016, at 6:45 PM, pent@apache.org wrote:

> Repository: flex-asjs
> Updated Branches:
>  refs/heads/develop bfd3a240f -> af84e52e8
> 
> 
> Changes to Graphics package that allows SVG elements to be resumed.
> 
> 
> Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
> Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/2da30efb
> Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/2da30efb
> Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/2da30efb
> 
> Branch: refs/heads/develop
> Commit: 2da30efb7e2e91c8896b180a8639b6b0cd504a96
> Parents: ff84654
> Author: Peter Ent <pe...@apache.org>
> Authored: Mon Jul 18 09:58:22 2016 -0400
> Committer: Peter Ent <pe...@apache.org>
> Committed: Mon Jul 18 09:58:22 2016 -0400
> 
> ----------------------------------------------------------------------
> .../org/apache/flex/core/graphics/Circle.as     | 28 ++++++++++++--------
> .../org/apache/flex/core/graphics/Ellipse.as    | 27 +++++++++++--------
> .../flex/org/apache/flex/core/graphics/Path.as  | 17 +++++++-----
> .../flex/org/apache/flex/core/graphics/Rect.as  | 27 +++++++++++--------
> .../flex/org/apache/flex/core/graphics/Text.as  | 26 +++++++++++-------
> 5 files changed, 77 insertions(+), 48 deletions(-)
> ----------------------------------------------------------------------
> 
> 
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
> ----------------------------------------------------------------------
> diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
> index 9f067f1..aa01f77 100644
> --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
> +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
> @@ -37,6 +37,9 @@ package org.apache.flex.core.graphics
> 		{
> 			_radius = value;
> 		}
> +		
> +		COMPILE::JS
> +		private var _circle:WrappedHTMLElement;
> 
> 		/**
> 		 *  Draw the circle.
> @@ -64,25 +67,28 @@ package org.apache.flex.core.graphics
>             COMPILE::JS                
>             {
>                 var style:String = getStyleStr();
> -                var circle:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
> -                circle.flexjs_wrapper = this;
> -                circle.setAttribute('style', style);
> +
> +				if (_circle == null) {
> +					_circle = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
> +					_circle.flexjs_wrapper = this;
> +					element.appendChild(_circle);
> +				}
> +				_circle.setAttribute('style', style);
>                 if (stroke)
>                 {
> -                    circle.setAttribute('cx', String(radius + stroke.weight));
> -                    circle.setAttribute('cy', String(radius + stroke.weight));
> +					_circle.setAttribute('cx', String(radius + stroke.weight));
> +					_circle.setAttribute('cy', String(radius + stroke.weight));
>                 }
>                 else
>                 {
> -                    circle.setAttribute('cx', String(radius));
> -                    circle.setAttribute('cy', String(radius));
> +					_circle.setAttribute('cx', String(radius));
> +					_circle.setAttribute('cy', String(radius));
>                 }
> 
> -                circle.setAttribute('rx', String(radius));
> -                circle.setAttribute('ry', String(radius));
> -                element.appendChild(circle);
> +				_circle.setAttribute('rx', String(radius));
> +				_circle.setAttribute('ry', String(radius));
> 
> -                resize(x-radius, y-radius, (circle as SVGCircleElement).getBBox());
> +                resize(x-radius, y-radius, (_circle as SVGCircleElement).getBBox());
> 
>             }
> 		}
> 
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
> ----------------------------------------------------------------------
> diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
> index f3c6c90..732d2c0 100644
> --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
> +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
> @@ -31,6 +31,9 @@ package org.apache.flex.core.graphics
> 	public class Ellipse extends GraphicShape
> 	{
> 		
> +		COMPILE::JS
> +		private var _ellipse:WrappedHTMLElement;
> +		
> 		/**
> 		 *  Draw the ellipse.
> 		 *  @param xp The x position of the top-left corner of the bounding box of the ellipse.
> @@ -58,24 +61,26 @@ package org.apache.flex.core.graphics
>             COMPILE::JS
>             {
>                 var style:String = getStyleStr();
> -                var ellipse:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
> -                ellipse.flexjs_wrapper = this;
> -                ellipse.setAttribute('style', style);
> +				if (_ellipse == null) {
> +					_ellipse = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
> +					_ellipse.flexjs_wrapper = this;
> +					element.appendChild(_ellipse);
> +				}
> +				_ellipse.setAttribute('style', style);
>                 if (stroke)
>                 {
> -                    ellipse.setAttribute('cx', String(width / 2 + stroke.weight));
> -                    ellipse.setAttribute('cy', String(height / 2 + stroke.weight));
> +					_ellipse.setAttribute('cx', String(width / 2 + stroke.weight));
> +					_ellipse.setAttribute('cy', String(height / 2 + stroke.weight));
>                 }
>                 else
>                 {
> -                    ellipse.setAttribute('cx', String(width / 2));
> -                    ellipse.setAttribute('cy', String(height / 2));
> +					_ellipse.setAttribute('cx', String(width / 2));
> +					_ellipse.setAttribute('cy', String(height / 2));
>                 }
> -                ellipse.setAttribute('rx', String(width / 2));
> -                ellipse.setAttribute('ry', String(height / 2));
> -                element.appendChild(ellipse);
> +				_ellipse.setAttribute('rx', String(width / 2));
> +				_ellipse.setAttribute('ry', String(height / 2));
> 
> -                resize(x, y, (ellipse as SVGEllipseElement).getBBox());
> +                resize(x, y, (_ellipse as SVGEllipseElement).getBBox());
> 
>             }
> 		}
> 
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
> ----------------------------------------------------------------------
> diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
> index 0a152bb..15e6f0f 100644
> --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
> +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
> @@ -41,6 +41,9 @@ package org.apache.flex.core.graphics
> 		{
> 			_data = value;
> 		}
> +		
> +		COMPILE::JS
> +		private var _path:WrappedHTMLElement;
> 
> 		/**
> 		 *  Draw the path.
> @@ -76,13 +79,15 @@ package org.apache.flex.core.graphics
>             {
>                 if (data == null || data.length === 0) return;
>                 var style:String = getStyleStr();
> -                var path:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'path') as WrappedHTMLElement;
> -                path.flexjs_wrapper = this;
> -                path.setAttribute('style', style);
> -                path.setAttribute('d', data);
> -                element.appendChild(path);
> +				if (_path == null) {
> +                	_path = document.createElementNS('http://www.w3.org/2000/svg', 'path') as WrappedHTMLElement;
> +					_path.flexjs_wrapper = this;
> +					element.appendChild(_path);
> +				}
> +				_path.setAttribute('style', style);
> +				_path.setAttribute('d', data);
> 
> -                resize(x, y, path['getBBox']());
> +                resize(x, y, _path['getBBox']());
> 
>             }
> 		}
> 
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
> ----------------------------------------------------------------------
> diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
> index 3556459..0355c27 100644
> --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
> +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
> @@ -28,6 +28,8 @@ package org.apache.flex.core.graphics
> 
> 	public class Rect extends GraphicShape
> 	{
> +		COMPILE::JS
> +		private var _rect:WrappedHTMLElement;
> 		
> 		/**
> 		 *  Draw the rectangle.
> @@ -55,24 +57,27 @@ package org.apache.flex.core.graphics
>             COMPILE::JS
>             {
>                 var style:String = this.getStyleStr();
> -                var rect:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect') as WrappedHTMLElement;
> -                rect.flexjs_wrapper = this;
> -                rect.setAttribute('style', style);
> +				
> +				if (_rect == null) {
> +                	_rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect') as WrappedHTMLElement;
> +                	_rect.flexjs_wrapper = this;
> +					element.appendChild(_rect);
> +				}
> +                _rect.setAttribute('style', style);
>                 if (stroke)
>                 {
> -                    rect.setAttribute('x', String(stroke.weight / 2) + 'px');
> -                    rect.setAttribute('y', String(stroke.weight / 2) + 'px');
> +					_rect.setAttribute('x', String(stroke.weight / 2) + 'px');
> +					_rect.setAttribute('y', String(stroke.weight / 2) + 'px');
>                 }
>                 else
>                 {
> -                    rect.setAttribute('x', '0' + 'px');
> -                    rect.setAttribute('y', '0' + 'px');
> +					_rect.setAttribute('x', '0' + 'px');
> +					_rect.setAttribute('y', '0' + 'px');
>                 }
> -                rect.setAttribute('width', String(width) + 'px');
> -                rect.setAttribute('height', String(height) + 'px');
> -                element.appendChild(rect);
> +				_rect.setAttribute('width', String(width) + 'px');
> +				_rect.setAttribute('height', String(height) + 'px');
> 
> -                resize(x, y, rect['getBBox']());
> +                resize(x, y, _rect['getBBox']());
>             }
> 		}
> 		
> 
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
> ----------------------------------------------------------------------
> diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
> index b493488..e864a11 100644
> --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
> +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
> @@ -64,6 +64,9 @@ package org.apache.flex.core.graphics
>         COMPILE::SWF
> 		private var _textField:CSSTextField;
> 		
> +		COMPILE::JS
> +		private var _text:WrappedHTMLElement;
> +		
> 		/**
> 		 *  @copy org.apache.flex.core.ITextModel#textField
> 		 *  
> @@ -115,16 +118,21 @@ package org.apache.flex.core.graphics
>             COMPILE::JS
>             {
>                 var style:String = this.getStyleStr();
> -                var text:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'text') as WrappedHTMLElement;
> -                text.flexjs_wrapper = this;
> -                text.setAttribute('style', style);
> -                text.setAttribute('x', String(xt) + 'px');
> -                text.setAttribute('y', String(yt) + 'px');
> -                var textNode:Text = document.createTextNode(value) as Text;
> -                text.appendChild(textNode as Node);
> -                element.appendChild(text);
> +				if (_text == null) {
> +                	_text = document.createElementNS('http://www.w3.org/2000/svg', 'text') as WrappedHTMLElement;
> +                	_text.flexjs_wrapper = this;
> +					element.appendChild(_text);
> +				}
> +				else {
> +					_text.removeChild(_text.childNodes[0]);
> +				}
> +                _text.setAttribute('style', style);
> +                _text.setAttribute('x', String(xt) + 'px');
> +                _text.setAttribute('y', String(yt) + 'px');
> +				var textNode:Text = document.createTextNode(value) as Text;
> +				_text.appendChild(textNode as Node);
> 
> -                resize(x, y, (text as SVGLocatable).getBBox());
> +                resize(x, y, (_text as SVGLocatable).getBBox());
> 
>             }
> 		}
> 


[4/4] git commit: [flex-asjs] [refs/heads/develop] - Changes to HTML framework to support changes in Chart framework.

Posted by pe...@apache.org.
Changes to HTML framework to support changes in Chart framework.


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

Branch: refs/heads/develop
Commit: af84e52e8189777e49b38864a470361a0edeb492
Parents: eeaee04
Author: Peter Ent <pe...@apache.org>
Authored: Mon Jul 18 11:45:00 2016 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Mon Jul 18 11:45:00 2016 -0400

----------------------------------------------------------------------
 .../src/main/flex/org/apache/flex/html/beads/ListView.as  | 10 +++++-----
 .../html/beads/controllers/ItemRendererMouseController.as |  8 ++++----
 .../controllers/ListSingleSelectionMouseController.as     |  1 -
 3 files changed, 9 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/af84e52e/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
index 378355e..cab97f8 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
@@ -61,7 +61,7 @@ package org.apache.flex.html.beads
 		{
 		}
 						
-		private var listModel:ISelectionModel;
+		protected var listModel:ISelectionModel;
 		
 		private var _border:Border;
 		
@@ -139,7 +139,7 @@ package org.apache.flex.html.beads
 			listModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
 		}
 		
-		private var lastSelectedIndex:int = -1;
+		protected var lastSelectedIndex:int = -1;
 		
 		/**
 		 * @private
@@ -160,7 +160,7 @@ package org.apache.flex.html.beads
 		/**
 		 * @private
 		 */
-		private function selectionChangeHandler(event:Event):void
+		protected function selectionChangeHandler(event:Event):void
 		{
 			if (lastSelectedIndex != -1)
 			{
@@ -175,12 +175,12 @@ package org.apache.flex.html.beads
             lastSelectedIndex = listModel.selectedIndex;
 		}
 		
-		private var lastRollOverIndex:int = -1;
+		protected var lastRollOverIndex:int = -1;
 		
 		/**
 		 * @private
 		 */
-		private function rollOverIndexChangeHandler(event:Event):void
+		protected function rollOverIndexChangeHandler(event:Event):void
 		{
 			if (lastRollOverIndex != -1)
 			{

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/af84e52e/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
index cf2f8cd..33c6aa2 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
@@ -99,7 +99,7 @@ COMPILE::JS {
 		COMPILE::SWF
 		protected function rollOverHandler(event:MouseEvent):void
 		{
-			var target:ISelectableItemRenderer = event.target as ISelectableItemRenderer;
+			var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
 			if (target)
 			{
 				target.dispatchEvent(new Event("itemRollOver",true));
@@ -109,7 +109,7 @@ COMPILE::JS {
 		COMPILE::JS
 		protected function handleMouseOver(event:BrowserEvent):void
 		{
-			var target:ISelectableItemRenderer = event.target as ISelectableItemRenderer;
+			var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
 			if (target) {
 				target.dispatchEvent(new Event("itemRollOver",true));
 			}
@@ -121,7 +121,7 @@ COMPILE::JS {
 		COMPILE::SWF
 		protected function rollOutHandler(event:MouseEvent):void
 		{
-			var target:ISelectableItemRenderer = event.target as ISelectableItemRenderer;
+			var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
 			if (target)
 			{
 				target.dispatchEvent(new Event("itemRollOut",true));
@@ -131,7 +131,7 @@ COMPILE::JS {
 		COMPILE::JS
 		protected function handleMouseOut(event:BrowserEvent):void
 		{
-			var target:ISelectableItemRenderer = event.target as ISelectableItemRenderer;
+			var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
 			if (target)
 			{
 				target.dispatchEvent(new Event("itemRollOut",true));

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/af84e52e/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
index dbeac6b..77ab6f5 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
@@ -135,7 +135,6 @@ package org.apache.flex.html.beads.controllers
 		{
 			var renderer:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
 			if (renderer) {
-				renderer.hovered = true;
 				IRollOverModel(listModel).rollOverIndex = renderer.index;
 			}
 		}