Add donut option to PieChart
Make PieCharts more tasty!
Change-Id: Ice9f9f14c980ac3aac393f7a76c5df1f4f3fa559
diff --git a/bundles/org.eclipse.rap.addons.chart/src/org/eclipse/rap/addons/chart/basic/PieChart.java b/bundles/org.eclipse.rap.addons.chart/src/org/eclipse/rap/addons/chart/basic/PieChart.java
index a673373..138140f 100644
--- a/bundles/org.eclipse.rap.addons.chart/src/org/eclipse/rap/addons/chart/basic/PieChart.java
+++ b/bundles/org.eclipse.rap.addons.chart/src/org/eclipse/rap/addons/chart/basic/PieChart.java
@@ -18,6 +18,7 @@
public class PieChart extends NvChart {
private boolean showLabels = true;
+ private boolean donut;
public PieChart( Composite parent, int style ) {
super( parent, style, "nv-pie" );
@@ -37,6 +38,17 @@
return showLabels;
}
+ public void setDonut( boolean donut ) {
+ if( this.donut != donut ) {
+ this.donut = donut;
+ setOption( "donut", donut );
+ }
+ }
+
+ public boolean getDonut() {
+ return donut;
+ }
+
public void setItems( PieItem... items ) {
JsonArray values = new JsonArray();
for( PieItem item : items ) {
diff --git a/examples/org.eclipse.rap.addons.chart.demo/src/org/eclipse/rap/addons/chart/nv/demo/PieChartSnippet.java b/examples/org.eclipse.rap.addons.chart.demo/src/org/eclipse/rap/addons/chart/nv/demo/PieChartSnippet.java
index dabddd9..0463f9d 100644
--- a/examples/org.eclipse.rap.addons.chart.demo/src/org/eclipse/rap/addons/chart/nv/demo/PieChartSnippet.java
+++ b/examples/org.eclipse.rap.addons.chart.demo/src/org/eclipse/rap/addons/chart/nv/demo/PieChartSnippet.java
@@ -41,6 +41,7 @@
pieChart = new PieChart( parent, SWT.NONE );
pieChart.setLayoutData( new GridData( SWT.FILL, SWT.FILL, true, true ) );
pieChart.setShowLabels( true );
+ pieChart.setDonut( true );
pieChart.addListener( SWT.Selection, new Listener() {
@Override
public void handleEvent( Event event ) {
diff --git a/tests/org.eclipse.rap.addons.chart.test/src/org/eclipse/rap/addons/chart/basic/PieChart_Test.java b/tests/org.eclipse.rap.addons.chart.test/src/org/eclipse/rap/addons/chart/basic/PieChart_Test.java
index b667bca..2cbabbe 100644
--- a/tests/org.eclipse.rap.addons.chart.test/src/org/eclipse/rap/addons/chart/basic/PieChart_Test.java
+++ b/tests/org.eclipse.rap.addons.chart.test/src/org/eclipse/rap/addons/chart/basic/PieChart_Test.java
@@ -86,47 +86,26 @@
verify( remoteObject ).call( "setOptions", new JsonObject().add( "showLabels", false ) );
}
-// @Test
-// public void testStartAngle_defaultValue() {
-// assertEquals( 0, chart.getStartAngle(), 0 );
-// }
-//
-// @Test
-// public void testStartAngle_changeValue() {
-// chart.setStartAngle( 0.5f );
-//
-// assertEquals( 0.5, chart.getStartAngle(), 0 );
-// }
-//
-// @Test
-// public void testStartAngle_isRendered() {
-// reset( remoteObject );
-//
-// chart.setStartAngle( -0.5f );
-//
-// verify( remoteObject ).call( "setOptions", new JsonObject().add( "startAngle", -Math.PI ) );
-// }
-//
-// @Test
-// public void testEndAngle_defaultValue() {
-// assertEquals( 1, chart.getEndAngle(), 0 );
-// }
-//
-// @Test
-// public void testEndAngle_changeValue() {
-// chart.setEndAngle( 0.5f );
-//
-// assertEquals( 0.5, chart.getEndAngle(), 0 );
-// }
-//
-// @Test
-// public void testEndAngle_isRendered() {
-// reset( remoteObject );
-//
-// chart.setEndAngle( 0.5f );
-//
-// verify( remoteObject ).call( "setOptions", new JsonObject().add( "endAngle", Math.PI ) );
-// }
+ @Test
+ public void testDonut_defaultValue() {
+ assertFalse( chart.getDonut() );
+ }
+
+ @Test
+ public void testDonut_changeValue() {
+ chart.setDonut( true );
+
+ assertTrue( chart.getDonut() );
+ }
+
+ @Test
+ public void testDonut_isRendered() {
+ reset( remoteObject );
+
+ chart.setDonut( true );
+
+ verify( remoteObject ).call( "setOptions", new JsonObject().add( "donut", true ) );
+ }
@Test
public void testSetItems() {