package com.vaadin.addon.spreadsheet.charts.converter.confwriter; /* * #%L * Vaadin Spreadsheet Charts Integration * %% * Copyright (C) 2016 Vaadin Ltd * %% * This program is available under Commercial Vaadin Add-On License 3.0 * (CVALv3). * * See the file license.html distributed with this software for more * information about licensing. * * You should have received a copy of the CVALv3 along with this program. * If not, see <http://vaadin.com/license/cval-3>. * #L% */ import com.vaadin.addon.charts.model.AbstractPlotOptions; import com.vaadin.addon.charts.model.DataSeriesItem; import com.vaadin.addon.charts.model.PlotOptionsPie; import com.vaadin.addon.charts.model.Series; import com.vaadin.addon.spreadsheet.charts.converter.chartdata.AbstractSeriesData.SeriesPoint; import com.vaadin.addon.spreadsheet.charts.converter.chartdata.PieSeriesData; public class PieSeriesDataWriter extends AbstractSeriesDataWriter { public PieSeriesDataWriter(PieSeriesData series) { super(series); } @Override protected PieSeriesData getSeriesData() { return (PieSeriesData) super.getSeriesData(); } @Override public Series convertSeries(boolean blanksAsZeros) { // Highcharts does not accept pie charts with nulls return super.convertSeries(true); } @Override protected DataSeriesItem createDataSeriesItem(SeriesPoint point, boolean blanksAsZeros) { DataSeriesItem item = super.createDataSeriesItem(point, true); item.setSliced(getSeriesData().isExploded); return item; } @Override protected AbstractPlotOptions createPlotOptions() { PlotOptionsPie plotOptionsPie = new PlotOptionsPie(); if (getSeriesData().is3d) { // is this a parameter in Excel? plotOptionsPie.setDepth(20); } return plotOptionsPie; } }