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 2014/09/11 17:55:35 UTC
git commit: [flex-asjs] [refs/heads/develop] - FlexJS chart package
now uses FlexJS core/graphics for the charts' graphics. This commit moves the
platform-specific itemRenderers to FlexJSJX project where they can be
cross-compiled into JavaScript classes
Repository: flex-asjs
Updated Branches:
refs/heads/develop ea9aac222 -> b08ecd7cf
FlexJS chart package now uses FlexJS core/graphics for the charts' graphics. This commit moves the platform-specific itemRenderers to FlexJSJX project where they can be cross-compiled into JavaScript classes. Updated ChartExample to build JS version.
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/b08ecd7c
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/b08ecd7c
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/b08ecd7c
Branch: refs/heads/develop
Commit: b08ecd7cf45b7c268e5521dd8ed220f8499bc07b
Parents: ea9aac2
Author: Peter Ent <pe...@apache.org>
Authored: Thu Sep 11 11:55:28 2014 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Thu Sep 11 11:55:28 2014 -0400
----------------------------------------------------------------------
examples/ChartExample/build.xml | 2 +-
.../as/projects/FlexJSJX/basic-manifest.xml | 4 +
frameworks/as/projects/FlexJSJX/defaults.css | 30 +--
.../as/projects/FlexJSJX/src/FlexJSJXClasses.as | 3 +
.../apache/flex/charts/beads/PieChartView.as | 2 +-
.../flex/charts/beads/layouts/BarChartLayout.as | 15 +-
.../charts/beads/layouts/ChartBaseLayout.as | 2 +-
.../charts/beads/layouts/ColumnChartLayout.as | 3 +-
.../layouts/LineChartCategoryVsLinearLayout.as | 8 +-
.../layouts/LineChartLinearVsLinearLayout.as | 10 +-
.../flex/charts/beads/layouts/PieChartLayout.as | 14 +-
.../beads/layouts/StackedBarChartLayout.as | 3 +-
.../beads/layouts/StackedColumnChartLayout.as | 3 +-
.../charts/supportClasses/BoxItemRenderer.as | 184 +++++++++++++++
.../supportClasses/ILineSegmentItemRenderer.as | 67 ++++++
.../charts/supportClasses/IWedgeItemRenderer.as | 89 +++++++
.../supportClasses/LineSegmentItemRenderer.as | 200 ++++++++++++++++
.../charts/supportClasses/WedgeItemRenderer.as | 233 +++++++++++++++++++
.../as/projects/FlexJSUI/basic-manifest.xml | 4 -
.../as/projects/FlexJSUI/src/FlexJSUIClasses.as | 5 +-
.../org/apache/flex/charts/ChartDataGroup.as | 40 ----
.../charts/supportClasses/BoxItemRenderer.as | 167 -------------
.../charts/supportClasses/ChartDataGroup.as | 40 ++++
.../supportClasses/LineSegmentItemRenderer.as | 143 ------------
.../charts/supportClasses/WedgeItemRenderer.as | 144 ------------
.../org/apache/flex/charts/ChartDataGroup.js | 57 -----
.../charts/supportClasses/BoxItemRenderer.js | 213 -----------------
.../charts/supportClasses/ChartDataGroup.js | 56 +++++
.../charts/supportClasses/WedgeItemRenderer.js | 196 ----------------
29 files changed, 923 insertions(+), 1014 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/examples/ChartExample/build.xml
----------------------------------------------------------------------
diff --git a/examples/ChartExample/build.xml b/examples/ChartExample/build.xml
index 08968c7..22e5e68 100644
--- a/examples/ChartExample/build.xml
+++ b/examples/ChartExample/build.xml
@@ -34,7 +34,7 @@
<include file="${basedir}/../build_example.xml" />
<!-- temp remove build_example.compilejs -->
- <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
</target>
<target name="clean">
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/basic-manifest.xml b/frameworks/as/projects/FlexJSJX/basic-manifest.xml
index a146016..e2f6e60 100644
--- a/frameworks/as/projects/FlexJSJX/basic-manifest.xml
+++ b/frameworks/as/projects/FlexJSJX/basic-manifest.xml
@@ -44,6 +44,10 @@
<component id="HorizontalLinearAxisBead" class="org.apache.flex.charts.beads.HorizontalLinearAxisBead" />
<component id="VerticalCategoryAxisBead" class="org.apache.flex.charts.beads.VerticalCategoryAxisBead" />
<component id="VerticalLinearAxisBead" class="org.apache.flex.charts.beads.VerticalLinearAxisBead" />
+
+ <component id="BoxItemRenderer" class="org.apache.flex.charts.supportClasses.BoxItemRenderer" />
+ <component id="WedgeItemRenderer" class="org.apache.flex.charts.supportClasses.WedgeItemRenderer" />
+ <component id="LineSegmentItemRenderer" class="org.apache.flex.charts.supportClasses.LineSegmentItemRenderer" />
<component id="LineChartCategoryVsLinearLayout" class="org.apache.flex.charts.beads.layouts.LineChartCategoryVsLinearLayout" />
<component id="LineChartLinearVsLinearLayout" class="org.apache.flex.charts.beads.layouts.LineChartLinearVsLinearLayout" />
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/defaults.css b/frameworks/as/projects/FlexJSJX/defaults.css
index 9271d1c..57c1ab6 100644
--- a/frameworks/as/projects/FlexJSJX/defaults.css
+++ b/frameworks/as/projects/FlexJSJX/defaults.css
@@ -22,24 +22,20 @@
BarChart
{
IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IBeadView: ClassReference("org.apache.flex.charts.beads.BarChartView");
+ IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
IBeadLayout: ClassReference("org.apache.flex.charts.beads.layouts.BarChartLayout");
- IDataGroup: ClassReference("org.apache.flex.charts.ChartDataGroup");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.charts.beads.ChartItemRendererFactory");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IDataGroup: ClassReference("org.apache.flex.charts.supportClasses.ChartDataGroup");
IItemRenderer: ClassReference("org.apache.flex.charts.supportClasses.BoxItemRenderer");
}
ColumnChart
{
IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IBeadView: ClassReference("org.apache.flex.charts.beads.BarChartView");
+ IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
IBeadLayout: ClassReference("org.apache.flex.charts.beads.layouts.ColumnChartLayout");
- IDataGroup: ClassReference("org.apache.flex.charts.ChartDataGroup");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.charts.beads.ChartItemRendererFactory");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IDataGroup: ClassReference("org.apache.flex.charts.supportClasses.ChartDataGroup");
IItemRenderer: ClassReference("org.apache.flex.charts.supportClasses.BoxItemRenderer");
}
@@ -76,9 +72,7 @@ LineChart
IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
IBeadLayout: ClassReference("org.apache.flex.charts.beads.layouts.LineChartCategoryVsLinearLayout");
- IDataGroup: ClassReference("org.apache.flex.charts.ChartDataGroup");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.charts.beads.ChartItemRendererFactory");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IDataGroup: ClassReference("org.apache.flex.charts.supportClasses.ChartDataGroup");
IItemRenderer: ClassReference("org.apache.flex.charts.supportClasses.BoxItemRenderer");
IConnectedItemRenderer: ClassReference("org.apache.flex.charts.supportClasses.LineSegmentItemRenderer");
}
@@ -86,12 +80,10 @@ LineChart
PieChart
{
IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IBeadView: ClassReference("org.apache.flex.charts.beads.PieChartView");
+ IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
IBeadLayout: ClassReference("org.apache.flex.charts.beads.layouts.PieChartLayout");
- IDataGroup: ClassReference("org.apache.flex.charts.ChartDataGroup");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.charts.beads.ChartItemRendererFactory");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IDataGroup: ClassReference("org.apache.flex.charts.supportClasses.ChartDataGroup");
IItemRenderer: ClassReference("org.apache.flex.charts.supportClasses.WedgeItemRenderer");
}
@@ -101,9 +93,7 @@ StackedColumnChart
IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
IBeadLayout: ClassReference("org.apache.flex.charts.beads.layouts.StackedColumnChartLayout");
- IDataGroup: ClassReference("org.apache.flex.charts.ChartDataGroup");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.charts.beads.ChartItemRendererFactory");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IDataGroup: ClassReference("org.apache.flex.charts.supportClasses.ChartDataGroup");
IItemRenderer: ClassReference("org.apache.flex.charts.supportClasses.BoxItemRenderer");
}
@@ -113,8 +103,6 @@ StackedBarChart
IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
IBeadLayout: ClassReference("org.apache.flex.charts.beads.layouts.StackedBarChartLayout");
- IDataGroup: ClassReference("org.apache.flex.charts.ChartDataGroup");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.charts.beads.ChartItemRendererFactory");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IDataGroup: ClassReference("org.apache.flex.charts.supportClasses.ChartDataGroup");
IItemRenderer: ClassReference("org.apache.flex.charts.supportClasses.BoxItemRenderer");
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/FlexJSJXClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/FlexJSJXClasses.as b/frameworks/as/projects/FlexJSJX/src/FlexJSJXClasses.as
index 71d6985..6526ced 100644
--- a/frameworks/as/projects/FlexJSJX/src/FlexJSJXClasses.as
+++ b/frameworks/as/projects/FlexJSJX/src/FlexJSJXClasses.as
@@ -44,6 +44,9 @@ internal class FlexJSJXClasses
import org.apache.flex.charts.supportClasses.BarSeries; BarSeries;
import org.apache.flex.charts.supportClasses.LineSeries; LineSeries;
import org.apache.flex.charts.supportClasses.PieSeries; PieSeries;
+ import org.apache.flex.charts.supportClasses.BoxItemRenderer; BoxItemRenderer;
+ import org.apache.flex.charts.supportClasses.LineSegmentItemRenderer; LineSegmentItemRenderer;
+ import org.apache.flex.charts.supportClasses.WedgeItemRenderer; WedgeItemRenderer;
import org.apache.flex.effects.Tween; Tween;
import org.apache.flex.effects.Move; Move;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/PieChartView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/PieChartView.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/PieChartView.as
index df1292e..6f28265 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/PieChartView.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/PieChartView.as
@@ -18,7 +18,7 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.charts.beads
{
- import org.apache.flex.charts.ChartDataGroup;
+ import org.apache.flex.charts.supportClasses.ChartDataGroup;
import org.apache.flex.core.ISelectionModel;
import org.apache.flex.core.IStrand;
import org.apache.flex.html.beads.ListView;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/BarChartLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/BarChartLayout.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/BarChartLayout.as
index 71bc274..e444935 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/BarChartLayout.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/BarChartLayout.as
@@ -38,6 +38,18 @@ package org.apache.flex.charts.beads.layouts
*/
public class BarChartLayout extends ChartBaseLayout implements IBeadLayout, ICartesianChartLayout
{
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function BarChartLayout()
+ {
+ super();
+ }
private var _gap:Number = 20;
@@ -109,6 +121,7 @@ package org.apache.flex.charts.beads.layouts
bcs = chart.series[s] as BarSeries;
var child:IChartItemRenderer = (chart.series[s] as IChartSeries).itemRenderer.newInstance() as IChartItemRenderer;
+ chartDataGroup.addElement(child);
child.itemRendererParent = chartDataGroup;
child.data = data;
child.fillColor = bcs.fillColor;
@@ -119,8 +132,6 @@ package org.apache.flex.charts.beads.layouts
child.width = xValue*seriesMaxes[s].scaleFactor;
child.height = seriesHeight;
ypos -= seriesHeight;
-
- chartDataGroup.addElement(child);
}
ypos -= gap;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/ChartBaseLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/ChartBaseLayout.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/ChartBaseLayout.as
index 8c5db61..08dd72a 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/ChartBaseLayout.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/ChartBaseLayout.as
@@ -18,7 +18,7 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.charts.beads.layouts
{
- import org.apache.flex.charts.ChartDataGroup;
+ import org.apache.flex.charts.supportClasses.ChartDataGroup;
import org.apache.flex.charts.core.ChartBase;
import org.apache.flex.charts.core.IHorizontalAxisBead;
import org.apache.flex.charts.core.IVerticalAxisBead;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/ColumnChartLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/ColumnChartLayout.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/ColumnChartLayout.as
index 9c78f0c..bd39252 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/ColumnChartLayout.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/ColumnChartLayout.as
@@ -111,6 +111,7 @@ package org.apache.flex.charts.beads.layouts
bcs = chart.series[s] as ColumnSeries;
var child:IChartItemRenderer = bcs.itemRenderer.newInstance() as IChartItemRenderer;
+ chartDataGroup.addElement(child);
child.itemRendererParent = chartDataGroup;
child.data = data;
child.fillColor = bcs.fillColor;
@@ -121,8 +122,6 @@ package org.apache.flex.charts.beads.layouts
child.width = seriesWidth;
child.height = yValue*seriesMaxes[s].scaleFactor;
xpos += seriesWidth;
-
- chartDataGroup.addElement(child);
}
xpos += gap;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/LineChartCategoryVsLinearLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/LineChartCategoryVsLinearLayout.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/LineChartCategoryVsLinearLayout.as
index 07d4d8e..39163f5 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/LineChartCategoryVsLinearLayout.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/LineChartCategoryVsLinearLayout.as
@@ -21,7 +21,7 @@ package org.apache.flex.charts.beads.layouts
import org.apache.flex.charts.core.ICartesianChartLayout;
import org.apache.flex.charts.core.IChartItemRenderer;
import org.apache.flex.charts.core.IChartSeries;
- import org.apache.flex.charts.supportClasses.LineSegmentItemRenderer;
+ import org.apache.flex.charts.supportClasses.ILineSegmentItemRenderer;
import org.apache.flex.charts.supportClasses.LineSeries;
import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.ISelectionModel;
@@ -125,13 +125,13 @@ package org.apache.flex.charts.beads.layouts
if (lcs.lineSegmentRenderer)
{
- var renderer:LineSegmentItemRenderer = lcs.lineSegmentRenderer.newInstance() as LineSegmentItemRenderer;
+ var renderer:ILineSegmentItemRenderer = lcs.lineSegmentRenderer.newInstance() as ILineSegmentItemRenderer;
+ chartDataGroup.addElement(renderer);
+ renderer.itemRendererParent = chartDataGroup;
renderer.lineColor = lcs.lineColor;
renderer.lineThickness = lcs.lineThickness;
renderer.data = lcs;
renderer.points = seriesMaxes[s].points;
- renderer.itemRendererParent = chartDataGroup;
- chartDataGroup.addElement(renderer);
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/LineChartLinearVsLinearLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/LineChartLinearVsLinearLayout.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/LineChartLinearVsLinearLayout.as
index 73226d6..86eca21 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/LineChartLinearVsLinearLayout.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/LineChartLinearVsLinearLayout.as
@@ -21,7 +21,7 @@ package org.apache.flex.charts.beads.layouts
import org.apache.flex.charts.core.ICartesianChartLayout;
import org.apache.flex.charts.core.IChartItemRenderer;
import org.apache.flex.charts.core.IChartSeries;
- import org.apache.flex.charts.supportClasses.LineSegmentItemRenderer;
+ import org.apache.flex.charts.supportClasses.ILineSegmentItemRenderer;
import org.apache.flex.charts.supportClasses.LineSeries;
import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.ISelectionModel;
@@ -110,6 +110,7 @@ package org.apache.flex.charts.beads.layouts
if (aseries.itemRenderer) {
var child:IChartItemRenderer = aseries.itemRenderer.newInstance() as IChartItemRenderer;
+ chartDataGroup.addElement(child);
child.itemRendererParent = chartDataGroup;
child.data = data;
child.fillColor = aseries.fillColor;
@@ -117,7 +118,6 @@ package org.apache.flex.charts.beads.layouts
child.y = childY - 5;
child.width = 10;
child.height = 10;
- chartDataGroup.addElement(child);
}
}
}
@@ -130,13 +130,13 @@ package org.apache.flex.charts.beads.layouts
if (lcs.lineSegmentRenderer)
{
- var renderer:LineSegmentItemRenderer = lcs.lineSegmentRenderer.newInstance() as LineSegmentItemRenderer;
+ var renderer:ILineSegmentItemRenderer = lcs.lineSegmentRenderer.newInstance() as ILineSegmentItemRenderer;
+ chartDataGroup.addElement(renderer);
+ renderer.itemRendererParent = chartDataGroup;
renderer.lineColor = lcs.lineColor;
renderer.lineThickness = lcs.lineThickness;
renderer.data = lcs;
renderer.points = seriesMaxes[s].points;
- renderer.itemRendererParent = chartDataGroup;
- chartDataGroup.addElement(renderer);
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/PieChartLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/PieChartLayout.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/PieChartLayout.as
index 60b0141..04d8fd5 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/PieChartLayout.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/PieChartLayout.as
@@ -19,8 +19,8 @@
package org.apache.flex.charts.beads.layouts
{
import org.apache.flex.charts.core.IChartSeries;
+ import org.apache.flex.charts.supportClasses.IWedgeItemRenderer;
import org.apache.flex.charts.supportClasses.PieSeries;
- import org.apache.flex.charts.supportClasses.WedgeItemRenderer;
import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.ISelectionModel;
import org.apache.flex.events.Event;
@@ -102,16 +102,20 @@ package org.apache.flex.charts.beads.layouts
obj = seriesMaxes[i];
data = dp[i];
- var child:WedgeItemRenderer = (chart.series[s] as IChartSeries).itemRenderer.newInstance() as WedgeItemRenderer;
+ var child:IWedgeItemRenderer = (chart.series[s] as IChartSeries).itemRenderer.newInstance() as IWedgeItemRenderer;
+ chartDataGroup.addElement(child);
child.itemRendererParent = chartDataGroup;
child.data = data;
child.fillColor = colors[i%colors.length];
- chartDataGroup.addElement(child);
end = start + (360.0 * obj.percent);
var arc:Number = 360.0 * obj.percent;
-// trace("Draw arc from "+start+" to "+(start+arc));
- child.drawWedge(centerX, centerY, start*Math.PI/180, arc*Math.PI/180, radius);
+
+ child.centerX = centerX;
+ child.centerY = centerY;
+ child.startAngle = start*Math.PI/180;
+ child.arc = arc*Math.PI/180;
+ child.radius = radius;
start += arc;
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedBarChartLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedBarChartLayout.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedBarChartLayout.as
index a6a61a6..eda9e47 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedBarChartLayout.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedBarChartLayout.as
@@ -128,6 +128,7 @@ package org.apache.flex.charts.beads.layouts
bcs = chart.series[s] as BarSeries;
var child:IChartItemRenderer = (chart.series[s] as IChartSeries).itemRenderer.newInstance() as IChartItemRenderer;
+ chartDataGroup.addElement(child);
child.itemRendererParent = chartDataGroup;
child.data = data;
child.fillColor = bcs.fillColor;
@@ -139,8 +140,6 @@ package org.apache.flex.charts.beads.layouts
child.height = seriesHeight;
xpos += xValue*scaleFactor;
-
- chartDataGroup.addElement(child);
}
ypos -= gap + seriesHeight;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedColumnChartLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedColumnChartLayout.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedColumnChartLayout.as
index d0fafc2..34b5139 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedColumnChartLayout.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedColumnChartLayout.as
@@ -125,6 +125,7 @@ package org.apache.flex.charts.beads.layouts
bcs = chart.series[s] as ColumnSeries;
var child:IChartItemRenderer = bcs.itemRenderer.newInstance() as IChartItemRenderer;
+ chartDataGroup.addElement(child);
child.itemRendererParent = chartDataGroup;
child.data = data;
child.fillColor = bcs.fillColor;
@@ -136,8 +137,6 @@ package org.apache.flex.charts.beads.layouts
child.height = yValue*scaleFactor;
ypos = child.y;
-
- chartDataGroup.addElement(child);
}
xpos += gap + itemWidth;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
new file mode 100644
index 0000000..dd56190
--- /dev/null
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
@@ -0,0 +1,184 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.charts.supportClasses
+{
+ import org.apache.flex.charts.core.IChartItemRenderer;
+ import org.apache.flex.core.graphics.Rect;
+ import org.apache.flex.core.graphics.SolidColor;
+ import org.apache.flex.core.graphics.SolidColorStroke;
+ import org.apache.flex.html.supportClasses.DataItemRenderer;
+
+ /**
+ * The BoxItemRenderer displays a colored rectangular area suitable for use as
+ * an itemRenderer for a BarChartSeries. This class implements the
+ * org.apache.flex.charts.core.IChartItemRenderer
+ * interface.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class BoxItemRenderer extends DataItemRenderer implements IChartItemRenderer
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function BoxItemRenderer()
+ {
+ super();
+ }
+
+ private var filledRect:Rect;
+
+ private var _yField:String = "y";
+
+ /**
+ * The name of the field containing the value for the Y axis.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get yField():String
+ {
+ return _yField;
+ }
+ public function set yField(value:String):void
+ {
+ _yField = value;
+ }
+
+ private var _xField:String = "x";
+
+ /**
+ * The name of the field containing the value for the X axis.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get xField():String
+ {
+ return _xField;
+ }
+ public function set xField(value:String):void
+ {
+ _xField = value;
+ }
+
+ private var _fillColor:uint;
+
+ /**
+ * 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 fillColor():uint
+ {
+ return _fillColor;
+ }
+ public function set fillColor(value:uint):void
+ {
+ _fillColor = value;
+ drawBar();
+ }
+
+ /**
+ * @copy org.apache.flex.supportClasses.UIItemRendererBase#data
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ override public function set data(value:Object):void
+ {
+ super.data = value;
+ drawBar();
+ }
+
+ /**
+ * @copy org.apache.flex.core.UIBase#width
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ override public function set width(value:Number):void
+ {
+ super.width = value;
+ drawBar();
+ }
+
+ /**
+ * @copy org.apache.flex.core.UIBase#height
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ override public function set height(value:Number):void
+ {
+ super.height = value;
+ drawBar();
+ }
+
+ /**
+ * @private
+ */
+ protected function drawBar():void
+ {
+ if ((this.width > 0) && (this.height > 0))
+ {
+ var needsAdd:Boolean = false;
+
+ if (filledRect == null) {
+ filledRect = new Rect();
+ needsAdd = true;
+ }
+
+ var solidColor:SolidColor = new SolidColor();
+ solidColor.color = fillColor;
+ var solidStroke:SolidColorStroke = new SolidColorStroke();
+ solidStroke.color = fillColor;
+ solidStroke.weight = 1;
+ filledRect.fill = solidColor;
+ filledRect.stroke = solidStroke;
+ filledRect.drawRect(0,0,this.width,this.height);
+
+ if (needsAdd) {
+ addElement(filledRect);
+ }
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/ILineSegmentItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/ILineSegmentItemRenderer.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/ILineSegmentItemRenderer.as
new file mode 100644
index 0000000..6c0d6af
--- /dev/null
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/ILineSegmentItemRenderer.as
@@ -0,0 +1,67 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.charts.supportClasses
+{
+ import org.apache.flex.charts.core.IChartItemRenderer;
+
+ /**
+ * The ILineSegmentItemRenderer interface must be implemented by any class that
+ * will become an line segment itemRenderer for a LineSeries.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public interface ILineSegmentItemRenderer extends IChartItemRenderer
+ {
+ /**
+ * The points that define the vertices of the line segment.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ function get points():Array;
+ function set points(value:Array):void;
+
+ /**
+ * The color of the line.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ function get lineColor():uint;
+ function set lineColor(value:uint):void;
+
+ /**
+ * The thickness (weight) of the line.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ function get lineThickness():int;
+ function set lineThickness(value:int):void;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/IWedgeItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/IWedgeItemRenderer.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/IWedgeItemRenderer.as
new file mode 100644
index 0000000..609e930
--- /dev/null
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/IWedgeItemRenderer.as
@@ -0,0 +1,89 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.charts.supportClasses
+{
+ import org.apache.flex.charts.core.IChartItemRenderer;
+
+ /**
+ * The IWedgeItemRenderer interface must be implemented by any class that
+ * is used as an itemRenderer for a PieSeries.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public interface IWedgeItemRenderer extends IChartItemRenderer
+ {
+ /**
+ * The X coordinate of the center point of the pie.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ function get centerX():Number;
+ function set centerX(value:Number):void;
+
+ /**
+ * The Y coordinate of the center of the pie.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ function get centerY():Number;
+ function set centerY(value:Number):void;
+
+ /**
+ * The angle (radians) at which the wedge begins.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ function get startAngle():Number;
+ function set startAngle(value:Number):void;
+
+ /**
+ * The sweep (radians) of the wedge relative to the startAngle.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ function get arc():Number;
+ function set arc(value:Number):void;
+
+ /**
+ * The radius of the pie.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ function get radius():Number;
+ function set radius(value:Number):void;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/LineSegmentItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/LineSegmentItemRenderer.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/LineSegmentItemRenderer.as
new file mode 100644
index 0000000..57d7530
--- /dev/null
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/LineSegmentItemRenderer.as
@@ -0,0 +1,200 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.charts.supportClasses
+{
+ import org.apache.flex.core.graphics.Path;
+ import org.apache.flex.core.graphics.SolidColorStroke;
+ import org.apache.flex.html.supportClasses.DataItemRenderer;
+
+ /**
+ * The LineSegmentItemRenderer class draws a line between the vertices of a LineSeries.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class LineSegmentItemRenderer extends DataItemRenderer implements ILineSegmentItemRenderer
+ {
+ public function LineSegmentItemRenderer()
+ {
+ super();
+ }
+
+ private var _points:Array;
+
+ /**
+ * The points of the vertices.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get points():Array
+ {
+ return _points;
+ }
+ public function set points(value:Array):void
+ {
+ _points = value;
+ drawLine();
+ }
+
+ private var path:Path;
+
+ private var _lineColor:uint = 0xFF0000;
+
+ /**
+ * The color used to draw the line segments
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get lineColor():uint
+ {
+ return _lineColor;
+ }
+ public function set lineColor(value:uint):void
+ {
+ _lineColor = value;
+ }
+
+ private var _lineThickness:int = 1;
+
+ /**
+ * The thickness or weight of the line segments
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get lineThickness():int
+ {
+ return _lineThickness;
+ }
+ public function set lineThickness(value:int):void
+ {
+ _lineThickness = 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;
+ }
+
+ /**
+ * The name of the field containing the value for the Y axis. This is not implemented by this class.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get yField():String
+ {
+ return null;
+ }
+ public function set yField(value:String):void
+ {
+ }
+
+ /**
+ * The name of the field containing the value for the X axis. This is not implemented by this class.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get xField():String
+ {
+ return null;
+ }
+ public function set xField(value:String):void
+ {
+ }
+
+ private var _fillColor:uint;
+
+ /**
+ * 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 fillColor():uint
+ {
+ return _fillColor;
+ }
+ public function set fillColor(value:uint):void
+ {
+ _fillColor = value;
+ }
+
+ /**
+ * @private
+ */
+ protected function drawLine():void
+ {
+ var needsAddElement:Boolean = false;
+
+ if (points != null)
+ {
+ if (path == null) {
+ path = new Path();
+ needsAddElement = true;
+ }
+
+ var stroke:SolidColorStroke = new SolidColorStroke();
+ stroke.color = lineColor;
+ stroke.weight = lineThickness;
+ path.stroke = stroke;
+ path.fill = null;
+
+ var pathString:String = "";
+
+ for (var i:int=0; i < points.length; i++) {
+ var point:Object = points[i];
+ if (i == 0) pathString += "M "+point.x+" "+point.y+" ";
+ else pathString += "L "+point.x+" "+point.y+" ";
+ }
+
+ path.drawPath(0, 0, pathString);
+
+ if (needsAddElement) {
+ addElement(path);
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.as
new file mode 100644
index 0000000..145b347
--- /dev/null
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.as
@@ -0,0 +1,233 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.charts.supportClasses
+{
+ import org.apache.flex.core.graphics.Path;
+ import org.apache.flex.core.graphics.SolidColor;
+ import org.apache.flex.html.supportClasses.DataItemRenderer;
+
+ /**
+ * The WedgeItemRenderer draws a single slide of a PieSeries.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class WedgeItemRenderer extends DataItemRenderer implements IWedgeItemRenderer
+ {
+ public function WedgeItemRenderer()
+ {
+ super();
+ }
+
+ private var _fillColor:uint = 0xFF0000;
+
+ /**
+ * The color of the wedge.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get fillColor():uint
+ {
+ return _fillColor;
+ }
+
+ public function set fillColor(value:uint):void
+ {
+ _fillColor = value;
+ drawWedgeInternal();
+ }
+
+ private var _centerX:Number;
+
+ /**
+ * The X coordinate of the center of the pie.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get centerX():Number
+ {
+ return _centerX;
+ }
+ public function set centerX(value:Number):void
+ {
+ _centerX = value;
+ drawWedgeInternal();
+ }
+
+ private var _centerY:Number;
+
+ /**
+ * The Y coordinate of the center of the pie.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get centerY():Number
+ {
+ return _centerY;
+ }
+ public function set centerY(value:Number):void
+ {
+ _centerY = value;
+ drawWedgeInternal();
+ }
+
+ private var _startAngle:Number;
+
+ /**
+ * The starting angle (radians) of the wedge.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get startAngle():Number
+ {
+ return _startAngle;
+ }
+ public function set startAngle(value:Number):void
+ {
+ _startAngle = value;
+ drawWedgeInternal();
+ }
+
+ private var _arc:Number;
+
+ /**
+ * The sweep (radians) of the wedge, relative to the startAngle.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get arc():Number
+ {
+ return _arc;
+ }
+ public function set arc(value:Number):void
+ {
+ _arc = value;
+ drawWedgeInternal();
+ }
+
+ private var _radius:Number;
+
+ /**
+ * The radius of the pie.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get radius():Number
+ {
+ return _radius;
+ }
+ public function set radius(value:Number):void
+ {
+ _radius = value;
+ drawWedgeInternal();
+ }
+
+ /**
+ * @private
+ */
+ private function drawWedgeInternal():void
+ {
+ if ( !isNaN(centerX) && !isNaN(centerY) && !isNaN(startAngle) && !isNaN(arc) && !isNaN(radius) ) {
+ drawWedge(centerX, centerY, startAngle, arc, radius, radius, false);
+ }
+ }
+
+ /**
+ * @private
+ *
+ * Draw a wedge of a circle
+ * @param graphics the graphics object to draw into
+ * @param x the x center of the circle
+ * @param y the y center of the circle
+ * @param startAngle start angle (radians)
+ * @param arc sweep angle (radians)
+ * @param radius radius of the circle
+ * @param yRadius vertical radius (or radius if none given)
+ * @param continueFlag if true, uses a moveTo call to start drawing at the start point of the circle; else continues drawing using only lineTo and curveTo
+ *
+ */
+ public function drawWedge(x:Number, y:Number,
+ startAngle:Number, arc:Number,
+ radius:Number, yRadius:Number = NaN,
+ continueFlag:Boolean = false):void
+ {
+ var color:SolidColor = new SolidColor();
+ color.color = fillColor;
+
+ 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);
+ var y2:Number = y + radius * Math.sin(startAngle + arc);
+
+ 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 = color;
+ path.drawPath(0, 0, pathString);
+ addElement(path);
+ }
+
+ /*
+ * Ignored by WedgeItemRenderer
+ */
+
+ /**
+ * @private
+ */
+ public function get xField():String
+ {
+ return null;
+ }
+ public function set xField(value:String):void
+ {
+ }
+
+ /**
+ * @private
+ */
+ public function get yField():String
+ {
+ return null;
+ }
+ public function set yField(value:String):void
+ {
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSUI/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/basic-manifest.xml b/frameworks/as/projects/FlexJSUI/basic-manifest.xml
index ed5c573..2cf68ff 100644
--- a/frameworks/as/projects/FlexJSUI/basic-manifest.xml
+++ b/frameworks/as/projects/FlexJSUI/basic-manifest.xml
@@ -72,10 +72,6 @@
<component id="TextPromptBead" class="org.apache.flex.html.accessories.TextPromptBead" />
<component id="MixinManager" class="org.apache.flex.utils.MixinManager" />
- <component id="BoxItemRenderer" class="org.apache.flex.charts.supportClasses.BoxItemRenderer" />
- <component id="WedgeItemRenderer" class="org.apache.flex.charts.supportClasses.WedgeItemRenderer" />
- <component id="LineSegmentItemRenderer" class="org.apache.flex.charts.supportClasses.LineSegmentItemRenderer" />
-
<component id="Map" class="org.apache.flex.maps.google.Map" />
</componentPackage>
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as b/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as
index 630df67..4376b0b 100644
--- a/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as
+++ b/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as
@@ -41,10 +41,7 @@ internal class FlexJSUIClasses
import org.apache.flex.charts.core.IChartItemRenderer; IChartItemRenderer;
import org.apache.flex.charts.core.IConnectedItemRenderer; IConnectedItemRenderer;
import org.apache.flex.charts.core.PolarChart; PolarChart;
- import org.apache.flex.charts.ChartDataGroup; ChartDataGroup;
- import org.apache.flex.charts.supportClasses.BoxItemRenderer; BoxItemRenderer;
- import org.apache.flex.charts.supportClasses.LineSegmentItemRenderer; LineSegmentItemRenderer;
- import org.apache.flex.charts.supportClasses.WedgeItemRenderer; WedgeItemRenderer;
+ import org.apache.flex.charts.supportClasses.ChartDataGroup; ChartDataGroup;
import org.apache.flex.maps.google.Map; Map;
import org.apache.flex.html.accessories.NumericOnlyTextInputBead; NumericOnlyTextInputBead;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/ChartDataGroup.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/ChartDataGroup.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/ChartDataGroup.as
deleted file mode 100644
index 5f09547..0000000
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/ChartDataGroup.as
+++ /dev/null
@@ -1,40 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.charts
-{
- import org.apache.flex.core.IItemRendererParent;
- import org.apache.flex.html.supportClasses.NonVirtualDataGroup;
-
- /**
- * The ChartDataGroup class provides the actual space for rendering the
- * chart.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ChartDataGroup extends NonVirtualDataGroup implements IItemRendererParent
- {
- public function ChartDataGroup()
- {
- super();
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
deleted file mode 100644
index 8a11f7f..0000000
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.as
+++ /dev/null
@@ -1,167 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.charts.supportClasses
-{
- import org.apache.flex.charts.core.IChartItemRenderer;
- import org.apache.flex.core.FilledRectangle;
- import org.apache.flex.html.supportClasses.DataItemRenderer;
-
- /**
- * The BoxItemRenderer displays a colored rectangular area suitable for use as
- * an itemRenderer for a BarChartSeries. This class implements the
- * org.apache.flex.charts.core.IChartItemRenderer
- * interface.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class BoxItemRenderer extends DataItemRenderer implements IChartItemRenderer
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function BoxItemRenderer()
- {
- super();
- }
-
- private var filledRect:FilledRectangle;
-
- private var _yField:String = "y";
-
- /**
- * The name of the field containing the value for the Y axis.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get yField():String
- {
- return _yField;
- }
- public function set yField(value:String):void
- {
- _yField = value;
- }
-
- private var _xField:String = "x";
-
- /**
- * The name of the field containing the value for the X axis.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get xField():String
- {
- return _xField;
- }
- public function set xField(value:String):void
- {
- _xField = value;
- }
-
- private var _fillColor:uint;
-
- /**
- * 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 fillColor():uint
- {
- return _fillColor;
- }
- public function set fillColor(value:uint):void
- {
- _fillColor = 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;
-
- if (filledRect == null) {
- filledRect = new FilledRectangle();
- addElement(filledRect);
- }
- }
-
- /**
- * @copy org.apache.flex.core.UIBase#width
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set width(value:Number):void
- {
- super.width = value;
- drawBar();
- }
-
- /**
- * @copy org.apache.flex.core.UIBase#height
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set height(value:Number):void
- {
- super.height = value;
- drawBar();
- }
-
- /**
- * @private
- */
- protected function drawBar():void
- {
- if (filledRect) {
- filledRect.fillColor = fillColor;
- filledRect.drawRect(0,0,this.width,this.height);
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/ChartDataGroup.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/ChartDataGroup.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/ChartDataGroup.as
new file mode 100644
index 0000000..7886171
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/ChartDataGroup.as
@@ -0,0 +1,40 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.charts.supportClasses
+{
+ import org.apache.flex.core.IItemRendererParent;
+ import org.apache.flex.html.supportClasses.NonVirtualDataGroup;
+
+ /**
+ * The ChartDataGroup class provides the actual space for rendering the
+ * chart.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class ChartDataGroup extends NonVirtualDataGroup implements IItemRendererParent
+ {
+ public function ChartDataGroup()
+ {
+ super();
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/LineSegmentItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/LineSegmentItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/LineSegmentItemRenderer.as
deleted file mode 100644
index af732bb..0000000
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/LineSegmentItemRenderer.as
+++ /dev/null
@@ -1,143 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.charts.supportClasses
-{
- import flash.display.Shape;
-
- import org.apache.flex.core.FilledRectangle;
- import org.apache.flex.html.supportClasses.DataItemRenderer;
-
- public class LineSegmentItemRenderer extends DataItemRenderer
- {
- public function LineSegmentItemRenderer()
- {
- super();
- }
-
- private var filledRect:FilledRectangle;
-
- private var _points:Array;
-
- public function get points():Array
- {
- return _points;
- }
- public function set points(value:Array):void
- {
- _points = value;
-
- if (shape == null) {
- shape = new Shape();
- addElement(shape);
- }
-
- drawLine();
- }
-
- private var shape:Shape;
-
- private var _lineColor:uint = 0xFF0000;
-
- /**
- * The color used to draw the line segments
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get lineColor():uint
- {
- return _lineColor;
- }
- public function set lineColor(value:uint):void
- {
- _lineColor = value;
- }
-
- private var _lineThickness:int = 1;
-
- /**
- * The thickness or weight of the line segments
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get lineThickness():int
- {
- return _lineThickness;
- }
- public function set lineThickness(value:int):void
- {
- _lineThickness = 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;
-
- if (shape == null) {
- shape = new Shape();
- addElement(shape);
- }
-// if (filledRect == null) {
-// filledRect = new FilledRectangle();
-// addElement(filledRect);
-// }
- }
-
- /**
- * @private
- */
- protected function drawLine():void
- {
-// if (filledRect) {
-// filledRect.fillColor = fillColor;
-// filledRect.drawRect(0,0,this.width,this.height);
-// }
-// if (shape && (!isNaN(x)) && (!isNaN(y)) && (!isNaN(x2)) && (!isNaN(y2))) {
-// shape.graphics.clear();
-// shape.graphics.lineStyle(1,fillColor,1);
-// shape.graphics.moveTo(0,0);
-// shape.graphics.lineTo(x2-x,y2-y);
-// }
- if (shape != null && points != null)
- {
- shape.graphics.clear();
- shape.graphics.lineStyle(lineThickness,lineColor,1);
-
- for (var i:int=0; i < points.length; i++) {
- var point:Object = points[i];
- if (i == 0) shape.graphics.moveTo(point.x,point.y);
- else shape.graphics.lineTo(point.x,point.y);
- }
- }
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.as
deleted file mode 100644
index 32e0dd7..0000000
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.as
+++ /dev/null
@@ -1,144 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.charts.supportClasses
-{
- import flash.display.Graphics;
-
- import org.apache.flex.charts.core.IChartItemRenderer;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.html.supportClasses.DataItemRenderer;
-
- public class WedgeItemRenderer extends DataItemRenderer implements IChartItemRenderer
- {
- public function WedgeItemRenderer()
- {
- super();
- }
-
- private var _fillColor:uint = 0xFF0000;
-
- public function get fillColor():uint
- {
- return _fillColor;
- }
-
- public function set fillColor(value:uint):void
- {
- _fillColor = value;
- }
-
- /**
- * Draw a wedge of a circle
- * @param graphics the graphics object to draw into
- * @param x the x center of the circle
- * @param y the y center of the circle
- * @param startAngle start angle (radians)
- * @param arc sweep angle (radians)
- * @param radius radius of the circle
- * @param yRadius vertical radius (or radius if none given)
- * @param continueFlag if true, uses a moveTo call to start drawing at the start point of the circle; else continues drawing using only lineTo and curveTo
- *
- */
- public function drawWedge(x:Number, y:Number,
- startAngle:Number, arc:Number,
- radius:Number, yRadius:Number = NaN,
- continueFlag:Boolean = false):void
- {
- var chartArea:UIBase = this.itemRendererParent as UIBase;
- var g:Graphics = chartArea.graphics;
-
- if (isNaN(yRadius))
- yRadius = radius;
-
- var segAngle:Number
- var theta:Number
- var angle:Number
- var angleMid:Number
- var segs:Number
- var ax:Number
- var ay:Number
- var bx:Number
- var by:Number
- var cx:Number
- var cy:Number;
-
- if (Math.abs(arc) > 2 * Math.PI)
- arc = 2 * Math.PI;
-
- segs = Math.ceil(Math.abs(arc) / (Math.PI / 4));
- segAngle = arc / segs;
- theta = -segAngle;
- angle = -startAngle;
-
- if (segs > 0)
- {
- ax = x + Math.cos(startAngle) * radius;
- ay = y + Math.sin(-startAngle) * yRadius;
-
- g.beginFill(fillColor);
-
- g.moveTo(x,y);
-
- if (continueFlag == true)
- g.lineTo(ax, ay);
- else
- g.moveTo(ax, ay);
-
- for (var i:uint = 0; i < segs; i++)
- {
- angle += theta;
- angleMid = angle - theta / 2;
-
- bx = x + Math.cos(angle) * radius;
- by = y + Math.sin(angle) * yRadius;
- cx = x + Math.cos(angleMid) * (radius / Math.cos(theta / 2));
- cy = y + Math.sin(angleMid) * (yRadius / Math.cos(theta / 2));
-
- g.curveTo(cx, cy, bx, by);
- }
-
- g.lineTo(x,y);
-
- g.endFill();
- }
- }
-
- /*
- * Ignored by WedgeItemRenderer
- */
-
- public function get xField():String
- {
- return null;
- }
-
- public function set xField(value:String):void
- {
- }
-
- public function get yField():String
- {
- return null;
- }
-
- public function set yField(value:String):void
- {
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/js/FlexJS/src/org/apache/flex/charts/ChartDataGroup.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/ChartDataGroup.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/ChartDataGroup.js
deleted file mode 100644
index 7266214..0000000
--- a/frameworks/js/FlexJS/src/org/apache/flex/charts/ChartDataGroup.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the 'License');
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an 'AS IS' BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-goog.provide('org.apache.flex.charts.ChartDataGroup');
-
-goog.require('org.apache.flex.html.supportClasses.NonVirtualDataGroup');
-
-
-
-/**
- * @constructor
- * @extends {org.apache.flex.html.supportClasses.NonVirtualDataGroup}
- */
-org.apache.flex.charts.ChartDataGroup =
- function() {
- org.apache.flex.charts.ChartDataGroup.base(this, 'constructor');
-};
-goog.inherits(
- org.apache.flex.charts.ChartDataGroup,
- org.apache.flex.html.supportClasses.NonVirtualDataGroup);
-
-
-/**
- * Metadata
- *
- * @type {Object.<string, Array.<Object>>}
- */
-org.apache.flex.charts.ChartDataGroup.prototype.FLEXJS_CLASS_INFO =
- { names: [{ name: 'ChartDataGroup',
- qName: 'org.apache.flex.charts.ChartDataGroup' }] };
-
-
-/**
- * @override
- */
-org.apache.flex.charts.ChartDataGroup.
- prototype.createElement = function() {
- this.element = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
- this.element.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:xlink', 'http://www.w3.org/1999/xlink');
- this.element.flexjs_wrapper = this;
- this.set_className('ChartDataGroup');
-
- this.positioner = this.element;
-
- return this.element;
-};
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.js
deleted file mode 100644
index d6990e2..0000000
--- a/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.js
+++ /dev/null
@@ -1,213 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the 'License');
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an 'AS IS' BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-goog.provide('org.apache.flex.charts.supportClasses.BoxItemRenderer');
-
-goog.require('org.apache.flex.charts.core.IChartItemRenderer');
-goog.require('org.apache.flex.core.FilledRectangle');
-goog.require('org.apache.flex.html.supportClasses.DataItemRenderer');
-goog.require('org.apache.flex.utils.Language');
-
-
-
-/**
- * @constructor
- * @extends {org.apache.flex.html.supportClasses.DataItemRenderer}
- * @implements {org.apache.flex.charts.core.IChartItemRenderer}
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer =
- function() {
- goog.base(this);
- this.className = 'BoxItemRenderer';
-};
-goog.inherits(
- org.apache.flex.charts.supportClasses.BoxItemRenderer,
- org.apache.flex.html.supportClasses.DataItemRenderer);
-
-
-/**
- * @type {Object}
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype._itemRendererParent = null;
-
-
-/**
- * @expose
- * @return {Object}
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype.get_itemRendererParent = function() {
- return this._itemRendererParent;
-};
-
-
-/**
- * @expose
- * @param {Object} value
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype.set_itemRendererParent = function(value) {
- this._itemRendererParent = value;
-};
-
-
-/**
- * @type {string}
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype._yField = 'y';
-
-
-/**
- * @expose
- * @return {string}
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype.get_yField = function() {
- return this._yField;
-};
-
-
-/**
- * @expose
- * @param {string} value
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype.set_yField = function(value) {
- this._yField = value;
-};
-
-
-/**
- * @type {string}
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype._xField = 'x';
-
-
-/**
- * @expose
- * @return {string}
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype.get_xField = function() {
- return this._xField;
-};
-
-
-/**
- * @expose
- * @param {string} value
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype.set_xField = function(value) {
- this._xField = value;
-};
-
-
-/**
- * @type {number}
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype._fillColor = 0;
-
-
-/**
- * @expose
- * @return {number}
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype.get_fillColor = function() {
- return this._fillColor;
-};
-
-
-/**
- * @expose
- * @param {number} value
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype.set_fillColor = function(value) {
- this._fillColor = value;
-};
-
-
-/**
- * @expose
- * @param {Object} value
- * @override
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype.set_data = function(value) {
- goog.base(this, 'set_data', value);
- if (this.filledRect == null) {
- this.filledRect = new org.apache.flex.core.FilledRectangle();
- this.addElement(this.filledRect);
- }
-};
-
-
-/**
- * @expose
- * @param {number} value
- * @override
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype.set_width = function(value) {
- goog.base(this, 'set_width', value);
- this.drawBar(this.get_x(), this.get_y(), this.get_width(), this.get_height());
-};
-
-
-/**
- * @expose
- * @param {number} value
- * @override
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype.set_height = function(value) {
- goog.base(this, 'set_height', value);
- this.drawBar(this.get_x(), this.get_y(), this.get_width(), this.get_height());
-};
-
-
-/**
- * Metadata
- *
- * @type {Object.<string, Array.<Object>>}
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype.FLEXJS_CLASS_INFO =
- { names: [{ name: 'BoxItemRenderer',
- qName: 'org.apache.flex.charts.supportClasses.BoxItemRenderer'}],
- interfaces: [org.apache.flex.charts.core.IChartItemRenderer] };
-
-
-/**
- * @expose
- * @param {number} x The upper left corner of the box.
- * @param {number} y The upper left corner of the box.
- * @param {number} width The width of the box.
- * @param {number} height The height of the box.
- */
-org.apache.flex.charts.supportClasses.BoxItemRenderer.prototype.drawBar =
-function(x, y, width, height) {
- var chartArea = this.get_itemRendererParent();
- var color = Number(this.get_fillColor()).toString(16);
- if (color.length == 2) color = '00' + color;
- if (color.length == 4) color = '00' + color;
-
- var style = 'fill:#' + String(color) + ';stroke:black;stroke-width:0';
-
- var pathString = 'M' + x + ' ' + y +
- ' l' + width + ' ' + '0' +
- ' l' + '0 ' + String(height) +
- ' l' + String(0 - width) + ' 0' +
- ' l' + '0 ' + String(0 - height) + ' z';
-
- var path = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
- path.setAttribute('style', style);
- path.setAttribute('x', String(x));
- path.setAttribute('y', String(y));
- path.setAttribute('width', String(width));
- path.setAttribute('height', String(height));
-
- chartArea.element.appendChild(path);
-};
-
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/ChartDataGroup.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/ChartDataGroup.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/ChartDataGroup.js
new file mode 100644
index 0000000..0e45ada
--- /dev/null
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/ChartDataGroup.js
@@ -0,0 +1,56 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the 'License');
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an 'AS IS' BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+goog.provide('org.apache.flex.charts.supportClasses.ChartDataGroup');
+
+goog.require('org.apache.flex.html.supportClasses.NonVirtualDataGroup');
+
+
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.html.supportClasses.NonVirtualDataGroup}
+ */
+org.apache.flex.charts.supportClasses.ChartDataGroup =
+ function() {
+ org.apache.flex.charts.supportClasses.ChartDataGroup.base(this, 'constructor');
+};
+goog.inherits(
+ org.apache.flex.charts.supportClasses.ChartDataGroup,
+ org.apache.flex.html.supportClasses.NonVirtualDataGroup);
+
+
+/**
+ * Metadata
+ *
+ * @type {Object.<string, Array.<Object>>}
+ */
+org.apache.flex.charts.supportClasses.ChartDataGroup.prototype.FLEXJS_CLASS_INFO =
+ { names: [{ name: 'ChartDataGroup',
+ qName: 'org.apache.flex.charts.supportClasses.ChartDataGroup' }] };
+
+
+/**
+ * @override
+ */
+org.apache.flex.charts.supportClasses.ChartDataGroup.
+ prototype.createElement = function() {
+ this.element = document.createElement('div');
+ this.element.flexjs_wrapper = this;
+ this.set_className('ChartDataGroup');
+
+ this.positioner = this.element;
+
+ return this.element;
+};
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b08ecd7c/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.js
deleted file mode 100644
index db36d3b..0000000
--- a/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.js
+++ /dev/null
@@ -1,196 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the 'License');
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an 'AS IS' BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-goog.provide('org.apache.flex.charts.supportClasses.WedgeItemRenderer');
-
-goog.require('org.apache.flex.charts.core.IChartItemRenderer');
-goog.require('org.apache.flex.core.FilledRectangle');
-goog.require('org.apache.flex.html.supportClasses.DataItemRenderer');
-goog.require('org.apache.flex.utils.Language');
-
-
-
-/**
- * @constructor
- * @extends {org.apache.flex.html.supportClasses.DataItemRenderer}
- * @implements {org.apache.flex.charts.core.IChartItemRenderer}
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer =
- function() {
- goog.base(this);
- this.className = 'WedgeItemRenderer';
-};
-goog.inherits(
- org.apache.flex.charts.supportClasses.WedgeItemRenderer,
- org.apache.flex.html.supportClasses.DataItemRenderer);
-
-
-/**
- * @type {Object}
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype._itemRendererParent = null;
-
-
-/**
- * @expose
- * @return {Object}
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype.get_itemRendererParent = function() {
- return this._itemRendererParent;
-};
-
-
-/**
- * @expose
- * @param {Object} value
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype.set_itemRendererParent = function(value) {
- this._itemRendererParent = value;
-};
-
-
-/**
- * @type {string}
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype._yField = 'y';
-
-
-/**
- * @expose
- * @return {string}
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype.get_yField = function() {
- return this._yField;
-};
-
-
-/**
- * @expose
- * @param {string} value
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype.set_yField = function(value) {
- this._yField = value;
-};
-
-
-/**
- * @type {string}
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype._xField = 'x';
-
-
-/**
- * @expose
- * @return {string}
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype.get_xField = function() {
- return this._xField;
-};
-
-
-/**
- * @expose
- * @param {string} value
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype.set_xField = function(value) {
- this._xField = value;
-};
-
-
-/**
- * @type {number}
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype._fillColor = 0;
-
-
-/**
- * @expose
- * @return {number}
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype.get_fillColor = function() {
- return this._fillColor;
-};
-
-
-/**
- * @expose
- * @param {number} value
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype.set_fillColor = function(value) {
- this._fillColor = value;
-};
-
-
-/**
- * @expose
- * @param {Object} value
- * @override
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype.set_data = function(value) {
- goog.base(this, 'set_data', value);
- if (this.filledRect == null) {
- this.filledRect = new org.apache.flex.core.FilledRectangle();
- this.addElement(this.filledRect);
- }
-};
-
-
-/**
- * Metadata
- *
- * @type {Object.<string, Array.<Object>>}
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype.FLEXJS_CLASS_INFO =
- { names: [{ name: 'WedgeItemRenderer',
- qName: 'org.apache.flex.charts.supportClasses.WedgeItemRenderer'}],
- interfaces: [org.apache.flex.charts.core.IChartItemRenderer] };
-
-
-/**
- * @expose
- * @param {number} x The center of the pie.
- * @param {number} y The center of the pie.
- * @param {number} startAngle The starting angle of the wedge.
- * @param {number} arc The sweep of the wedge.
- * @param {number} radius The radius of the pie.
- * @param {number} yRadius The vertical radius of the pie if different from the normal radius.
- * @param {bool} continueFlag Continue drawing from that position.
- */
-org.apache.flex.charts.supportClasses.WedgeItemRenderer.prototype.drawWedge =
-function(x, y,
- startAngle, arc,
- radius, yRadius,
- continueFlag) {
- var chartArea = this.get_itemRendererParent();
- var color = Number(this.get_fillColor()).toString(16);
- if (color.length == 2) color = '00' + color;
- if (color.length == 4) color = '00' + color;
-
- var x1 = x + radius * Math.cos(startAngle);
- var y1 = y + radius * Math.sin(startAngle);
- var x2 = x + radius * Math.cos(startAngle + arc);
- var y2 = y + radius * Math.sin(startAngle + arc);
-
- var pathString = 'M' + x + ' ' + y + ' L' + x1 + ' ' + y1 + ' A' + radius + ' ' + radius +
- ' 0 0 1 ' + x2 + ' ' + y2 + ' z';
-
- var style = 'fill:#' + String(color) + ';stroke:black;stroke-width:0';
-
- var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
- path.setAttribute('style', style);
- path.setAttribute('d', pathString);
-
- chartArea.element.appendChild(path);
-};
-