package de.jwic.demo.chart;
import java.util.ArrayList;
import java.util.List;
import de.jwic.base.IControlContainer;
import de.jwic.controls.chart.api.ChartInconsistencyException;
import de.jwic.controls.chart.impl.RadarChart;
import de.jwic.controls.chart.impl.RadarChartDataset;
import de.jwic.controls.chart.impl.RadarChartModel;
/**
*
* @author Karolina Marek (karolina-marek.eu)
*
* @date 19.10.2015
*/
public class RadarChartDemo extends ChartDemo<RadarChart, RadarChartModel> {
/**
*
*/
private static final long serialVersionUID = -1899059941525891198L;
public RadarChartDemo(IControlContainer container)
throws ChartInconsistencyException {
super(container);
}
private List<RadarChartDataset> createDatasets() {
List<RadarChartDataset> datasets = new ArrayList<RadarChartDataset>();
List<Double> values = new ArrayList<Double>();
values.add(1D);
values.add(2D);
values.add(3D);
values.add(4D);
values.add(5D);
values.add(6D);
values.add(7D);
values.add(10D);
RadarChartDataset chartd1 = new RadarChartDataset("First", values);
chartd1.setFillColor("#3366cc");
datasets.add(chartd1);
List<Double> values2 = new ArrayList<Double>();
values2.add(5D);
values2.add(4D);
values2.add(12D);
values2.add(8D);
values2.add(7D);
values2.add(4D);
values2.add(2D);
values2.add(10D);
RadarChartDataset chartd2 = new RadarChartDataset("Second", values2);
datasets.add(chartd2);
return datasets;
}
@Override
protected RadarChart createChart(RadarChartModel model) {
return new RadarChart(this, "chart", model);
}
@Override
protected RadarChartModel createModel() {
List<String> labels = new ArrayList<String>();
labels.add("Eating");
labels.add("Drinking");
labels.add("Sleeping");
labels.add("Testing");
labels.add("Driving");
labels.add("Working");
labels.add("Sweeming");
labels.add("Running");
return new RadarChartModel(labels, createDatasets());
}
@Override
protected List<TableElement> convertChartModelToTableElements() {
List<TableElement> elements = new ArrayList<TableElement>();
for (RadarChartDataset set : model.getDatasets()) {
int i = 0;
for (Double in : set.getData()) {
TableElement el = new TableElement();
el.setTitle(model.getLabels().get(i));
el.setValue(in.toString());
el.setFillColor(set.getFillColor());
el.setHighlightColor(set.getHighlightColor());
elements.add(el);
i++;
}
}
return elements;
}
@Override
protected void addElementToTheChart(TableElement element)
throws ChartInconsistencyException {
model.addDataToModel(element.getTitle(), 1,
Double.valueOf(element.getValue()));
}
@Override
protected void updateElementInChart(TableElement selectedTableElement)
throws ChartInconsistencyException {
model.changeDataByModel(selectedTableElement.getTitle(), 1, 5D);
}
@Override
protected void deleteElementFromChart(TableElement selectedTableElement)
throws ChartInconsistencyException {
model.removeDataFromModel(selectedTableElement.getTitle());
}
@Override
protected void changeFillColor(String color)
throws ChartInconsistencyException {
model.changeFillColor(1, color);
}
@Override
protected void changeHighColor(String color)
throws ChartInconsistencyException {
model.changeHightlightColor(1, color);
}
}