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.LineChart; import de.jwic.demo.chart.util.DataModelCreator; public class LineChartDemo extends ChartDemo<LineChart, ValueListDatasetModel> { /** * */ private static final long serialVersionUID = -1899059941525891198L; public LineChartDemo(IControlContainer container) throws ChartInconsistencyException { super(container); } @Override 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.setFillColor(set.getFillColor()); el.setHighlightColor(set.getHighlightColor()); el.setValue(in.toString()); elements.add(el); i++; } } return elements; } @Override protected LineChart createChart(ValueListDatasetModel model) { LineChart chart = new LineChart(this, "chart", model); chart.getConfiguration().setCustomTooltip(true); chart.getConfiguration() .setCustomTooltipGenerator("JWic.controls.Chart.customTooltipGenerators.standardList"); 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); } }