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/08/20 19:32:36 UTC
git commit: [flex-asjs] [refs/heads/develop] - Updated FlexJS chart
library with StackedChart and refactored interfaces.
Repository: flex-asjs
Updated Branches:
refs/heads/develop db487b8a4 -> 806c28d75
Updated FlexJS chart library with StackedChart and refactored interfaces.
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/806c28d7
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/806c28d7
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/806c28d7
Branch: refs/heads/develop
Commit: 806c28d75e61d40e679b549747e688f113ce2afa
Parents: db487b8
Author: Peter Ent <pe...@apache.org>
Authored: Wed Aug 20 13:32:00 2014 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Wed Aug 20 13:32:00 2014 -0400
----------------------------------------------------------------------
.../as/projects/FlexJSJX/basic-manifest.xml | 2 +
frameworks/as/projects/FlexJSJX/defaults.css | 12 ++
.../as/projects/FlexJSJX/src/FlexJSJXClasses.as | 2 +
.../src/org/apache/flex/charts/BarChart.as | 25 +--
.../src/org/apache/flex/charts/StackedChart.as | 48 ++++++
.../apache/flex/charts/beads/PieChartView.as | 18 +-
.../org/apache/flex/charts/beads/XAxisBead.as | 33 +++-
.../org/apache/flex/charts/beads/YAxisBead.as | 83 +++++++++
.../flex/charts/beads/layouts/BarChartLayout.as | 43 ++---
.../flex/charts/beads/layouts/PieChartLayout.as | 17 ++
.../charts/beads/layouts/StackedChartLayout.as | 171 +++++++++++++++++++
.../as/projects/FlexJSUI/src/FlexJSUIClasses.as | 7 +-
.../org/apache/flex/charts/ChartDataGroup.as | 9 +
.../apache/flex/charts/core/CartesianChart.as | 85 +++++++++
.../org/apache/flex/charts/core/ChartBase.as | 77 +++++++++
.../flex/charts/core/ICartesianChartLayout.as | 34 ++++
.../org/apache/flex/charts/core/IChartAxis.as | 34 ----
.../flex/charts/core/IChartItemRenderer.as | 2 +
.../flex/charts/core/IHorizontalAxisBead.as | 43 +++++
.../flex/charts/core/IVerticalAxisBead.as | 43 +++++
.../org/apache/flex/charts/core/PolarChart.as | 66 +++++++
.../org/apache/flex/charts/core/ChartBase.js | 77 +++++++++
.../flex/charts/core/ICartesianChartLayout.js | 39 +++++
.../flex/charts/core/IHorizontalAxisBead.js | 51 ++++++
.../flex/charts/core/IVerticalAxisBead.js | 51 ++++++
.../charts/supportClasses/BoxItemRenderer.js | 2 +-
.../charts/supportClasses/WedgeItemRenderer.js | 2 +-
27 files changed, 979 insertions(+), 97 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/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 03257f8..68d7d07 100644
--- a/frameworks/as/projects/FlexJSJX/basic-manifest.xml
+++ b/frameworks/as/projects/FlexJSJX/basic-manifest.xml
@@ -34,7 +34,9 @@
<component id="BarChartSeries" class="org.apache.flex.charts.supportClasses.BarChartSeries" />
<component id="PieChart" class="org.apache.flex.charts.PieChart" />
<component id="PieChartSeries" class="org.apache.flex.charts.supportClasses.PieChartSeries" />
+ <component id="StackedChart" class="org.apache.flex.charts.StackedChart" />
<component id="XAxisBead" class="org.apache.flex.charts.beads.XAxisBead" />
+ <component id="YAxisBead" class="org.apache.flex.charts.beads.YAxisBead" />
<component id="VerticalColumnLayout" class="org.apache.flex.html.beads.layouts.VerticalColumnLayout" />
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSJX/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/defaults.css b/frameworks/as/projects/FlexJSJX/defaults.css
index cd1d3b7..18d428f 100644
--- a/frameworks/as/projects/FlexJSJX/defaults.css
+++ b/frameworks/as/projects/FlexJSJX/defaults.css
@@ -69,3 +69,15 @@ PieChart
IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
IItemRenderer: ClassReference("org.apache.flex.charts.supportClasses.WedgeItemRenderer");
}
+
+StackedChart
+{
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+ 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.StackedChartLayout");
+ IDataGroup: ClassReference("org.apache.flex.charts.ChartDataGroup");
+ IDataProviderItemRendererMapper: ClassReference("org.apache.flex.charts.beads.ChartItemRendererFactory");
+ IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IItemRenderer: ClassReference("org.apache.flex.charts.supportClasses.BoxItemRenderer");
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/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 2240c8c..7e4348d 100644
--- a/frameworks/as/projects/FlexJSJX/src/FlexJSJXClasses.as
+++ b/frameworks/as/projects/FlexJSJX/src/FlexJSJXClasses.as
@@ -31,8 +31,10 @@ internal class FlexJSJXClasses
import org.apache.flex.charts.beads.ChartItemRendererFactory; ChartItemRendererFactory;
import org.apache.flex.charts.beads.PieChartView; PieChartView;
import org.apache.flex.charts.beads.XAxisBead; XAxisBead;
+ import org.apache.flex.charts.beads.YAxisBead; YAxisBead;
import org.apache.flex.charts.beads.layouts.BarChartLayout; BarChartLayout;
import org.apache.flex.charts.beads.layouts.PieChartLayout; PieChartLayout;
+ import org.apache.flex.charts.beads.layouts.StackedChartLayout; StackedChartLayout;
import org.apache.flex.charts.supportClasses.BarChartSeries; BarChartSeries;
import org.apache.flex.charts.supportClasses.PieChartSeries; PieChartSeries;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/BarChart.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/BarChart.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/BarChart.as
index 0048ad2..dd705fc 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/BarChart.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/BarChart.as
@@ -18,9 +18,9 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.charts
{
+ import org.apache.flex.charts.core.ChartBase;
import org.apache.flex.charts.core.IChart;
import org.apache.flex.events.Event;
- import org.apache.flex.html.List;
/**
* The BarChart class draws a multi-series graph of data using vertical
@@ -32,7 +32,7 @@ package org.apache.flex.charts
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class BarChart extends List implements IChart
+ public class BarChart extends ChartBase implements IChart
{
/**
* constructor.
@@ -46,26 +46,5 @@ package org.apache.flex.charts
{
super();
}
-
- private var _series:Array;
-
- /**
- * The collection of series for the chart. Each element of the
- * series array should be of type BarChartSeries.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get series():Array
- {
- return _series;
- }
- public function set series(value:Array):void
- {
- _series = value;
- dispatchEvent(new Event("seriesChanged"));
- }
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/StackedChart.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/StackedChart.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/StackedChart.as
new file mode 100644
index 0000000..74f0f5c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/StackedChart.as
@@ -0,0 +1,48 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.charts.core.ChartBase;
+ import org.apache.flex.charts.core.IChart;
+
+ /**
+ * The StackedChart displays a histogram chart where each series in
+ * the chart is stack on top of each other.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class StackedChart extends ChartBase implements IChart
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function StackedChart()
+ {
+ super();
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/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 8116e89..df1292e 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
@@ -23,8 +23,25 @@ package org.apache.flex.charts.beads
import org.apache.flex.core.IStrand;
import org.apache.flex.html.beads.ListView;
+ /**
+ * The PieChartView class provides the graphical space for
+ * the display of a PieChart.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
public class PieChartView extends ListView
{
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
public function PieChartView()
{
super();
@@ -44,7 +61,6 @@ package org.apache.flex.charts.beads
override public function set strand(value:IStrand):void
{
_strand = value;
-// this.dataGroup = new ChartDataGroup();
super.strand = value;
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/XAxisBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/XAxisBead.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/XAxisBead.as
index c3af014..e9fd8fd 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/XAxisBead.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/XAxisBead.as
@@ -18,12 +18,10 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.charts.beads
{
- import org.apache.flex.charts.beads.layouts.BarChartLayout;
import org.apache.flex.charts.core.IChart;
- import org.apache.flex.charts.core.IChartAxis;
+ import org.apache.flex.charts.core.IHorizontalAxisBead;
import org.apache.flex.core.FilledRectangle;
import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.IDataProviderItemRendererMapper;
import org.apache.flex.core.ISelectionModel;
import org.apache.flex.core.IStrand;
@@ -34,16 +32,15 @@ package org.apache.flex.charts.beads
import org.apache.flex.html.beads.models.ArraySelectionModel;
/**
- * The BoxItemRenderer displays a colored rectangular area suitable for use as
- * an itemRenderer for a BarChartSeries. This class implements the IChartItemRenderer
- * interface.
+ * The XAxisBead displays a linear value axis horizontally for
+ * a Cartesian-style chart.
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class XAxisBead implements IBead, IChartAxis
+ public class XAxisBead implements IBead, IHorizontalAxisBead
{
/**
* constructor.
@@ -57,6 +54,25 @@ package org.apache.flex.charts.beads
{
}
+ private var _axisHeight:Number = 30;
+
+ /**
+ * The height of the horizontal axis.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get axisHeight():Number
+ {
+ return _axisHeight;
+ }
+ public function set axisHeight(value:Number):void
+ {
+ _axisHeight = value;
+ }
+
private var _labelField:String;
/**
@@ -112,8 +128,7 @@ package org.apache.flex.charts.beads
var series:Array = IChart(_strand).series;
var xpos:Number = 0;
- var barChartLayout:BarChartLayout = _strand.getBeadByType(IBeadLayout) as BarChartLayout;
- var xAxisHeightOffset:Number = barChartLayout.xAxisHeight;
+ var xAxisHeightOffset:Number = axisHeight;
var useWidth:Number = UIBase(_strand).width / renderers.length;
// draw the horzontal axis
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/YAxisBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/YAxisBead.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/YAxisBead.as
new file mode 100644
index 0000000..4635540
--- /dev/null
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/YAxisBead.as
@@ -0,0 +1,83 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.charts.beads
+{
+ import org.apache.flex.charts.core.IVerticalAxisBead;
+ import org.apache.flex.core.IBead;
+ import org.apache.flex.core.IStrand;
+
+ /**
+ * The YAxisBead displays a linear value axis vertically for
+ * a Cartesian-style chart.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class YAxisBead implements IBead, IVerticalAxisBead
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function YAxisBead()
+ {
+ }
+
+ private var _strand:IStrand;
+
+ /**
+ * @copy org.apache.flex.core.IBead#strand
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function set strand(value:IStrand):void
+ {
+ _strand = value;
+ }
+
+ private var _axisWidth:Number = 0;
+
+ /**
+ * The overall width of the axis.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get axisWidth():Number
+ {
+ return _axisWidth;
+ }
+
+ public function set axisWidth(value:Number):void
+ {
+ _axisWidth = value;
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/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 08d7d15..efa48b8 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
@@ -18,6 +18,13 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.charts.beads.layouts
{
+ import org.apache.flex.charts.beads.ChartItemRendererFactory;
+ import org.apache.flex.charts.core.ICartesianChartLayout;
+ import org.apache.flex.charts.core.IChart;
+ import org.apache.flex.charts.core.IChartItemRenderer;
+ import org.apache.flex.charts.core.IHorizontalAxisBead;
+ import org.apache.flex.charts.core.IVerticalAxisBead;
+ import org.apache.flex.charts.supportClasses.BarChartSeries;
import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.IDataProviderItemRendererMapper;
import org.apache.flex.core.ILayoutParent;
@@ -25,10 +32,6 @@ package org.apache.flex.charts.beads.layouts
import org.apache.flex.core.UIBase;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.charts.beads.ChartItemRendererFactory;
- import org.apache.flex.charts.core.IChart;
- import org.apache.flex.charts.core.IChartItemRenderer;
- import org.apache.flex.charts.supportClasses.BarChartSeries;
/**
* The BarChartLayout class calculates the size and position of all of the itemRenderers for
@@ -39,7 +42,7 @@ package org.apache.flex.charts.beads.layouts
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class BarChartLayout implements IBeadLayout
+ public class BarChartLayout implements IBeadLayout, ICartesianChartLayout
{
private var _strand:IStrand;
@@ -80,25 +83,6 @@ package org.apache.flex.charts.beads.layouts
_gap = value;
}
- private var _xAxisHeight:Number = 30;
-
- /**
- * The height of the x-axis. Assumes a default of 30.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get xAxisHeight():Number
- {
- return _xAxisHeight;
- }
- public function set xAxisHeight(value:Number):void
- {
- _xAxisHeight = value;
- }
-
/**
* @private
*/
@@ -109,9 +93,14 @@ package org.apache.flex.charts.beads.layouts
var factory:ChartItemRendererFactory = _strand.getBeadByType(IDataProviderItemRendererMapper) as ChartItemRendererFactory;
var n:int = factory.seriesRenderers.length;
- var xpos:Number = 0;
- var useWidth:Number = (UIBase(_strand).width / n) - gap;
- var useHeight:Number = UIBase(_strand).height - xAxisHeight;
+ var xAxis:IHorizontalAxisBead = _strand.getBeadByType(IHorizontalAxisBead) as IHorizontalAxisBead;
+ var xAxisOffset:Number = xAxis == null ? 0 : xAxis.axisHeight;
+ var yAxis:IVerticalAxisBead = _strand.getBeadByType(IVerticalAxisBead) as IVerticalAxisBead;
+ var yAxisOffset:Number = yAxis == null ? 0 : yAxis.axisWidth;
+
+ var xpos:Number = yAxisOffset;
+ var useWidth:Number = (UIBase(_strand).width / n) - gap - yAxisOffset;
+ var useHeight:Number = UIBase(_strand).height - xAxisOffset;
var maxYValue:Number = 0;
var series:Array = IChart(_strand).series;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/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 4d47638..c5546aa 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
@@ -31,8 +31,25 @@ package org.apache.flex.charts.beads.layouts
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
+ /**
+ * The PieChartLayout class calculates the size and position of all of the itemRenderers for
+ * a PieChart.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
public class PieChartLayout implements IBeadLayout
{
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
public function PieChartLayout()
{
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedChartLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedChartLayout.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedChartLayout.as
new file mode 100644
index 0000000..b13e64c
--- /dev/null
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/beads/layouts/StackedChartLayout.as
@@ -0,0 +1,171 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.charts.beads.layouts
+{
+ import org.apache.flex.charts.beads.ChartItemRendererFactory;
+ import org.apache.flex.charts.core.ICartesianChartLayout;
+ import org.apache.flex.charts.core.IChart;
+ import org.apache.flex.charts.core.IChartItemRenderer;
+ import org.apache.flex.charts.core.IHorizontalAxisBead;
+ import org.apache.flex.charts.core.IVerticalAxisBead;
+ import org.apache.flex.charts.supportClasses.BarChartSeries;
+ import org.apache.flex.core.IBeadLayout;
+ import org.apache.flex.core.IDataProviderItemRendererMapper;
+ import org.apache.flex.core.ILayoutParent;
+ import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.UIBase;
+ import org.apache.flex.events.Event;
+ import org.apache.flex.events.IEventDispatcher;
+
+ /**
+ * The StackChartLayout class calculates the size and position of all of the itemRenderers for
+ * all of the series in a StackedChart.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class StackedChartLayout implements IBeadLayout, ICartesianChartLayout
+ {
+ /**
+ * constructor
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function StackedChartLayout()
+ {
+ }
+
+ private var _strand:IStrand;
+
+ /**
+ * @copy org.apache.flex.core.IBead#strand
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function set strand(value:IStrand):void
+ {
+ _strand = value;
+ IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
+ IEventDispatcher(value).addEventListener("childrenAdded", changeHandler);
+ IEventDispatcher(value).addEventListener("itemsCreated", changeHandler);
+ }
+
+ private var _gap:Number = 20;
+
+ /**
+ * The amount of space to leave between series. If a chart has several series,
+ * the bars for an X value are side by side with a gap between the groups of
+ * bars.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get gap():Number
+ {
+ return _gap;
+ }
+ public function set gap(value:Number):void
+ {
+ _gap = value;
+ }
+
+ /**
+ * @private
+ */
+ private function changeHandler(event:Event):void
+ {
+ var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
+
+ var factory:ChartItemRendererFactory = _strand.getBeadByType(IDataProviderItemRendererMapper) as ChartItemRendererFactory;
+ var n:int = factory.seriesRenderers.length;
+
+ var xAxis:IHorizontalAxisBead = _strand.getBeadByType(IHorizontalAxisBead) as IHorizontalAxisBead;
+ var xAxisOffset:Number = xAxis == null ? 0 : xAxis.axisHeight;
+ var yAxis:IVerticalAxisBead = _strand.getBeadByType(IVerticalAxisBead) as IVerticalAxisBead;
+ var yAxisOffset:Number = yAxis == null ? 0 : yAxis.axisWidth;
+
+ var xpos:Number = yAxisOffset;
+ var ypos:Number = 0;
+ var useWidth:Number = (UIBase(_strand).width / n) - gap - yAxisOffset;
+ var useHeight:Number = UIBase(_strand).height - xAxisOffset;
+
+ var maxYValue:Number = 0;
+ var series:Array = IChart(_strand).series;
+ trace("There are "+series.length+" series in this chart");
+
+ var barValues:Array = [];
+ var maxValue:Number = 0;
+ var scaleFactor:Number = 1;
+
+ for (var i:int=0; i < n; i++)
+ {
+ barValues.push({totalValue:0, scaleFactor:0});
+
+ for (var s:int = 0; s < series.length; s++)
+ {
+ var bcs:BarChartSeries = series[s] as BarChartSeries;
+ var m:Array = factory.seriesRenderers[i] as Array;
+ var item:IChartItemRenderer = m[s] as IChartItemRenderer;
+ var data:Object = item.data;
+ var field:String = bcs.yField;
+
+ var yValue:Number = Number(data[field]);
+ barValues[i].totalValue += yValue;
+ }
+
+ maxValue = Math.max(maxValue, barValues[i].totalValue);
+ }
+
+ scaleFactor = useHeight/maxValue;
+
+ for (i=0; i < n; i++)
+ {
+ m = factory.seriesRenderers[i] as Array;
+ ypos = useHeight;
+ for (s=0; s < m.length; s++)
+ {
+ var child:IChartItemRenderer = m[s] as IChartItemRenderer;
+ data = child.data
+ yValue = Number(data[child.yField]);
+
+ child.x = xpos;
+ child.width = useWidth;
+ child.y = ypos - yValue*scaleFactor;
+ child.height = yValue*scaleFactor;
+
+ ypos = child.y;
+ }
+
+ xpos += gap + useWidth;
+ }
+
+ IEventDispatcher(_strand).dispatchEvent(new Event("layoutComplete"));
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/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 f2b66a9..5dbb3a0 100644
--- a/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as
+++ b/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as
@@ -31,10 +31,15 @@ internal class FlexJSUIClasses
import org.apache.cordova.Application; Application;
import org.apache.cordova.Weinre; Weinre;
+ import org.apache.flex.charts.core.CartesianChart; CartesianChart;
+ import org.apache.flex.charts.core.ChartBase; ChartBase;
import org.apache.flex.charts.core.IChart; IChart;
+ import org.apache.flex.charts.core.ICartesianChartLayout; ICartesianChartLayout;
import org.apache.flex.charts.core.IChartSeries; IChartSeries;
- import org.apache.flex.charts.core.IChartAxis; IChartAxis;
+ import org.apache.flex.charts.core.IHorizontalAxisBead; IHorizontalAxisBead;
+ import org.apache.flex.charts.core.IVerticalAxisBead; IVerticalAxisBead;
import org.apache.flex.charts.core.IChartItemRenderer; IChartItemRenderer;
+ 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.WedgeItemRenderer; WedgeItemRenderer;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/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
index 5e06376..5f09547 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/ChartDataGroup.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/ChartDataGroup.as
@@ -21,6 +21,15 @@ 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()
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/CartesianChart.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/CartesianChart.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/CartesianChart.as
new file mode 100644
index 0000000..244f6a8
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/CartesianChart.as
@@ -0,0 +1,85 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.charts.core
+{
+ /**
+ * This class provides the basis for standard X-Y plots and anything
+ * the requires a two-dimensional function graph.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class CartesianChart extends ChartBase
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function CartesianChart()
+ {
+ super();
+ }
+
+ private var _xAxis:IHorizontalAxisBead;
+
+ /**
+ * The X Axis is typically the horizontal axis for a Cartesian chart.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get xAxis():IHorizontalAxisBead
+ {
+ return _xAxis;
+ }
+
+ public function set xAxis(value:IHorizontalAxisBead):void
+ {
+ _xAxis = value;
+ }
+
+ private var _yAxis:IHorizontalAxisBead;
+
+ /**
+ * The Y Axis is typically the vertical axis for a Cartesian chart.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get yAxis():IHorizontalAxisBead
+ {
+ return _yAxis;
+ }
+
+ public function set yAxis(value:IHorizontalAxisBead):void
+ {
+ _yAxis = value;
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/ChartBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/ChartBase.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/ChartBase.as
new file mode 100644
index 0000000..bb848f6
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/ChartBase.as
@@ -0,0 +1,77 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.events.Event;
+ import org.apache.flex.html.List;
+
+ /**
+ * The ChartBase class contains all of the properties common to most
+ * charts. Some charts may not make any or full use of the properties
+ * however.
+ *
+ * A chart is based on List which provides data and item renderers to
+ * draw the chart graphics. Charts are essentially lists with a
+ * different visualization.
+ *
+ * Similar to a List, the chart's layout provides the structure of
+ * chart while the itemRenderers take care of the actual drawing.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class ChartBase extends List implements IChart
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function ChartBase()
+ {
+ super();
+ }
+
+ private var _series:Array;
+
+ /**
+ * The collection of series for the chart. Each element of the
+ * series array should be of type IChartSeries.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get series():Array
+ {
+ return _series;
+ }
+ public function set series(value:Array):void
+ {
+ _series = value;
+ dispatchEvent(new Event("seriesChanged"));
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/ICartesianChartLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/ICartesianChartLayout.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/ICartesianChartLayout.as
new file mode 100644
index 0000000..431f9f0
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/ICartesianChartLayout.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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
+{
+ /**
+ * This interface is implemented by any Cartesian-style chart layout
+ * bead.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public interface ICartesianChartLayout
+ {
+
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IChartAxis.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IChartAxis.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IChartAxis.as
deleted file mode 100644
index a10b12e..0000000
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IChartAxis.as
+++ /dev/null
@@ -1,34 +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.core
-{
- /**
- * The IChartAxis interface is a marker for any class that draws an axis
- * for a chart. The XAxisBead is an example that implements this interface.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public interface IChartAxis
- {
-
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IChartItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IChartItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IChartItemRenderer.as
index 055f0cb..e7a7c08 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IChartItemRenderer.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IChartItemRenderer.as
@@ -77,6 +77,7 @@ package org.apache.flex.charts.core
* @productversion FlexJS 0.0
*/
function set x(value:Number):void;
+ function get x():Number;
/**
* The y display position for the itemRenderer. This is set by
@@ -88,6 +89,7 @@ package org.apache.flex.charts.core
* @productversion FlexJS 0.0
*/
function set y(value:Number):void;
+ function get y():Number;
/**
* The display width for the itemRenderer. This is set by
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IHorizontalAxisBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IHorizontalAxisBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IHorizontalAxisBead.as
new file mode 100644
index 0000000..fa49a6e
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IHorizontalAxisBead.as
@@ -0,0 +1,43 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.charts.core
+{
+ /**
+ * The IHorizontalAxisBead interface is a marker for any class that draws a
+ * horizontal axis. The XAxisBead is an example that implements this interface.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public interface IHorizontalAxisBead
+ {
+ /**
+ * The overall height of the axis, including its labels.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ function get axisHeight():Number;
+ function set axisHeight(value:Number):void;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IVerticalAxisBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IVerticalAxisBead.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IVerticalAxisBead.as
new file mode 100644
index 0000000..5d04231
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/IVerticalAxisBead.as
@@ -0,0 +1,43 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.charts.core
+{
+ /**
+ * The IHorizontalAxisBead interface is a marker for any class that draws a
+ * verical axis. The YAxisBead is an example that implements this interface.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public interface IVerticalAxisBead
+ {
+ /**
+ * The overall width of the horizontal axis.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ function get axisWidth():Number;
+ function set axisWidth(value:Number):void;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/PolarChart.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/PolarChart.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/PolarChart.as
new file mode 100644
index 0000000..9d99b5e
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/charts/core/PolarChart.as
@@ -0,0 +1,66 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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
+{
+ /**
+ * This class provides the basis for circular, or polar, charts. These types
+ * of charts, which include PieCharts, may be zero or more radial axes (or
+ * 'radii').
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class PolarChart extends ChartBase
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function PolarChart()
+ {
+ super();
+ }
+
+ private var _radii:Array
+
+ /**
+ * The radii are the 'axes' for polar or circular charts. There are can be
+ * zero or more radii.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get radii():Array
+ {
+ return _radii;
+ }
+ public function set radii(value:Array):void
+ {
+ _radii = value;
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/js/FlexJS/src/org/apache/flex/charts/core/ChartBase.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/ChartBase.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/ChartBase.js
new file mode 100644
index 0000000..b3ef481
--- /dev/null
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/ChartBase.js
@@ -0,0 +1,77 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the 'License');
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an 'AS IS' BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * org.apache.flex.charts.core.IChart
+ *
+ * @fileoverview
+ *
+ * @suppress {checkTypes}
+ */
+
+goog.provide('org.apache.flex.charts.core.ChartBase');
+
+goog.require('org.apache.flex.charts.core.IChart');
+goog.require('org.apache.flex.events.Event');
+goog.require('org.apache.flex.html.List');
+
+
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.html.List}
+ * @implements {org.apache.flex.charts.core.IChart}
+ */
+org.apache.flex.charts.core.ChartBase =
+ function() {
+ goog.base(this);
+ this.className = 'ChartBase';
+};
+goog.inherits(
+ org.apache.flex.charts.core.ChartBase,
+ org.apache.flex.html.List);
+
+
+/**
+ * Metadata
+ *
+ * @type {Object.<string, Array.<Object>>}
+ */
+org.apache.flex.charts.core.ChartBase.prototype.FLEXJS_CLASS_INFO = {
+ names: [{ name: 'ChartBase', qName: 'org.apache.flex.charts.core.ChartBase'}]
+ };
+
+
+/**
+ * @private
+ * @type {Array}
+ */
+org.apache.flex.charts.core.ChartBase.prototype.series_ = null;
+
+
+/**
+ * @expose
+ * @return {Array} The series for the chart.
+ */
+org.apache.flex.charts.core.ChartBase.prototype.get_series = function() {
+ return this.series_;
+};
+
+
+/**
+ * @expose
+ * @param {Array} value The series for the chart.
+ */
+org.apache.flex.charts.core.ChartBase.prototype.set_series = function(value) {
+ this.series_ = value;
+ this.dispatchEvent(new org.apache.flex.events.Event('seriesChanged'));
+};
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/js/FlexJS/src/org/apache/flex/charts/core/ICartesianChartLayout.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/ICartesianChartLayout.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/ICartesianChartLayout.js
new file mode 100644
index 0000000..09078a8
--- /dev/null
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/ICartesianChartLayout.js
@@ -0,0 +1,39 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the 'License');
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an 'AS IS' BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * org.apache.flex.charts.core.IChart
+ *
+ * @fileoverview
+ *
+ * @suppress {checkTypes}
+ */
+
+goog.provide('org.apache.flex.charts.core.ICartesianChartLayout');
+
+
+
+/**
+ * @interface
+ */
+org.apache.flex.charts.core.ICartesianChartLayout = function() {
+};
+
+
+/**
+ * Metadata
+ *
+ * @type {Object.<string, Array.<Object>>}
+ */
+org.apache.flex.charts.core.ICartesianChartLayout.prototype.FLEXJS_CLASS_INFO = {
+ names: [{ name: 'ICartesianChartLayout', qName: 'org.apache.flex.charts.core.ICartesianChartLayout'}]
+ };
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IHorizontalAxisBead.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IHorizontalAxisBead.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IHorizontalAxisBead.js
new file mode 100644
index 0000000..0b0cf7b
--- /dev/null
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IHorizontalAxisBead.js
@@ -0,0 +1,51 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the 'License');
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an 'AS IS' BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * org.apache.flex.charts.core.IHorizontalAxisBead
+ *
+ * @fileoverview
+ *
+ * @suppress {checkTypes}
+ */
+
+goog.provide('org.apache.flex.charts.core.IHorizontalAxisBead');
+
+
+
+/**
+ * @interface
+ */
+org.apache.flex.charts.core.IHorizontalAxisBead = function() {
+};
+
+
+/**
+ * Metadata
+ *
+ * @type {Object.<string, Array.<Object>>}
+ */
+org.apache.flex.charts.core.IHorizontalAxisBead.prototype.FLEXJS_CLASS_INFO = {
+ names: [{ name: 'IHorizontalAxisBead', qName: 'org.apache.flex.charts.core.IHorizontalAxisBead'}]
+ };
+
+
+/**
+ * @param {number} value
+ */
+org.apache.flex.charts.core.IHorizontalAxisBead.prototype.set_axisHeight = function(value) {};
+
+
+/**
+ * @return {number}
+ */
+org.apache.flex.charts.core.IHorizontalAxisBead.prototype.get_axisHeight = function() {};
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IVerticalAxisBead.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IVerticalAxisBead.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IVerticalAxisBead.js
new file mode 100644
index 0000000..5460719
--- /dev/null
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IVerticalAxisBead.js
@@ -0,0 +1,51 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the 'License');
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an 'AS IS' BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * org.apache.flex.charts.core.IVerticalAxisBead
+ *
+ * @fileoverview
+ *
+ * @suppress {checkTypes}
+ */
+
+goog.provide('org.apache.flex.charts.core.IVerticalAxisBead');
+
+
+
+/**
+ * @interface
+ */
+org.apache.flex.charts.core.IVerticalAxisBead = function() {
+};
+
+
+/**
+ * Metadata
+ *
+ * @type {Object.<string, Array.<Object>>}
+ */
+org.apache.flex.charts.core.IVerticalAxisBead.prototype.FLEXJS_CLASS_INFO = {
+ names: [{ name: 'IVerticalAxisBead', qName: 'org.apache.flex.charts.core.IVerticalAxisBead'}]
+ };
+
+
+/**
+ * @param {number} value
+ */
+org.apache.flex.charts.core.IVerticalAxisBead.prototype.set_axisWidth = function(value) {};
+
+
+/**
+ * @return {number}
+ */
+org.apache.flex.charts.core.IVerticalAxisBead.prototype.get_axisWidth = function() {};
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/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
index 1362642..d6990e2 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/BoxItemRenderer.js
@@ -193,7 +193,7 @@ function(x, y, width, height) {
if (color.length == 2) color = '00' + color;
if (color.length == 4) color = '00' + color;
- var style = 'fill:#' + String(color) + ';stroke:black;stroke-width:1';
+ var style = 'fill:#' + String(color) + ';stroke:black;stroke-width:0';
var pathString = 'M' + x + ' ' + y +
' l' + width + ' ' + '0' +
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/806c28d7/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
index c205492..db36d3b 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/supportClasses/WedgeItemRenderer.js
@@ -185,7 +185,7 @@ function(x, y,
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:1';
+ 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);