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;
}
}