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.api.ValueListDataset;
import de.jwic.controls.chart.api.ValueListDatasetModel;
import de.jwic.controls.chart.impl.BarChart;
import de.jwic.demo.chart.util.DataModelCreator;
/**
*
* @author Karolina Marek (karolina-marek.eu)
*
* @date 19.10.2015
*/
public class BarChartDemo extends ChartDemo<BarChart, ValueListDatasetModel> {
/**
*
*/
private static final long serialVersionUID = -1899059941525891198L;
public BarChartDemo(IControlContainer container) {
super(container);
}
protected ValueListDatasetModel createModel() {
return DataModelCreator.getValueListDatasetModel();
}
@Override
protected List<TableElement> convertChartModelToTableElements() {
List<TableElement> elements = new ArrayList<TableElement>();
for (ValueListDataset 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;
}
public void changeFillColorOfTheDataset(String color) throws ChartInconsistencyException {
model.changeFillColor(1, color);
}
public void changeHightlightColorOfTheDataset(String color) throws ChartInconsistencyException {
model.changeHightlightColor(1, color);
}
@Override
protected BarChart createChart(ValueListDatasetModel model) {
BarChart chart = new BarChart(this, "chart", model);
chart.getConfiguration().setResponsive(true);
return chart;
}
@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);
}
}