/* * */ package ext.egantt.chart.factory; import com.egantt.awt.graphics.state.GraphicsState2D; import com.egantt.drawing.component.DrawingComponent2D; import com.egantt.drawing.component.painter.state.BasicStatePainter; import com.egantt.model.drawing.state.SingletonDrawingState; import com.egantt.swing.cell.state.BasicCellState; import ext.egantt.chart.*; import ext.egantt.chart.generator.LineGenerator2D; import ext.egantt.chart.generator.PieGenerator2D; import javax.swing.JComponent; public class ChartFactory2D implements ChartFactory { public ChartFactory2D() { } public JComponent createAreaChart() { return null; } public JComponent createBarChart() { return null; } public JComponent createGanttChart() { return null; } public JComponent createLineChart(String title, ChartModel model) { LineGenerator2D generator = new LineGenerator2D(); return generateChart(generator, model); } public JComponent createPieChart(String title, ChartModel model) { PieGenerator2D generator = new PieGenerator2D(); return generateChart(generator, model); } public JComponent createStackBarChart() { return null; } public JComponent createXYChart() { return null; } protected JComponent generateChart(ChartGenerator generator, ChartModel model) { com.egantt.model.drawing.DrawingContext context = generator.getDrawingContext(); com.egantt.model.drawing.DrawingState state = new SingletonDrawingState(generator.getDrawingPart(model, context)); BasicStatePainter painter = new BasicStatePainter(context); com.egantt.swing.cell.CellState cellState = new BasicCellState(state); DrawingComponent2D component = new DrawingComponent2D(); component.setComponentPainter(painter); component.setGraphicsState(new GraphicsState2D()); component.setCellState(cellState); return component; } }