Author: abearez
Date: Sun Jan  5 23:54:12 2020
New Revision: 1872363

URL: http://svn.apache.org/viewvc?rev=1872363&view=rev
Log:
Clear all chart's properties as if newly created

Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java?rev=1872363&r1=1872362&r2=1872363&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java 
Sun Jan  5 23:54:12 2020
@@ -189,6 +189,21 @@ public abstract class XDDFChart extends
     }
 
     /**
+     * Clear all properties, as if a new instance had just been created.
+     * @since POI 4.1.2
+     */
+    public void clear() {
+        axes.clear();
+        seriesCount = 0;
+        if (workbook != null) {
+            workbook.removeSheetAt(0);
+            workbook.createSheet();
+        }
+        chart.set(CTChart.Factory.newInstance());
+        chart.addNewPlotArea();
+    }
+
+    /**
      * @return true if only visible cells will be present on the chart, false
      *         otherwise
      */
@@ -477,6 +492,78 @@ public abstract class XDDFChart extends
         return series;
     }
 
+    /**
+     * Clear all chart series, as if a new instance had just been created.
+     * @since POI 4.1.2
+     */
+    public void clearChartSeries() {
+        CTPlotArea plotArea = getCTPlotArea();
+
+        for (int i = plotArea.sizeOfAreaChartArray(); i > 0; i--) {
+            plotArea.removeAreaChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfArea3DChartArray(); i > 0; i--) {
+            plotArea.removeArea3DChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfBarChartArray(); i > 0; i--) {
+            plotArea.removeBarChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfBar3DChartArray(); i > 0; i--) {
+            plotArea.removeBar3DChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfBubbleChartArray(); i > 0; i--) {
+            plotArea.removeBubbleChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfDoughnutChartArray(); i > 0; i--) {
+            plotArea.removeDoughnutChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfLineChartArray(); i > 0; i--) {
+            plotArea.removeLineChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfLine3DChartArray(); i > 0; i--) {
+            plotArea.removeLine3DChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfOfPieChartArray(); i > 0; i--) {
+            plotArea.removeOfPieChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfPieChartArray(); i > 0; i--) {
+            plotArea.removePieChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfPie3DChartArray(); i > 0; i--) {
+            plotArea.removePie3DChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfRadarChartArray(); i > 0; i--) {
+            plotArea.removeRadarChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfScatterChartArray(); i > 0; i--) {
+            plotArea.removeScatterChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfStockChartArray(); i > 0; i--) {
+            plotArea.removeStockChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfSurfaceChartArray(); i > 0; i--) {
+            plotArea.removeSurfaceChart(i - 1);
+        }
+
+        for (int i = plotArea.sizeOfSurface3DChartArray(); i > 0; i--) {
+            plotArea.removeSurface3DChart(i - 1);
+        }
+    }
+
     private Map<Long, XDDFChartAxis> getCategoryAxes() {
         CTPlotArea plotArea = getCTPlotArea();
         int sizeOfArray = plotArea.sizeOfCatAxArray();



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org
For additional commands, e-mail: commits-h...@poi.apache.org

Reply via email to