/* * */ package ext.egantt.chart.generator; import com.egantt.drawing.component.painter.part.BasicPartPainter; import com.egantt.drawing.painter.filled.FilledArcPainter; import com.egantt.model.drawing.*; import com.egantt.model.drawing.axis.AxisInterval; import com.egantt.model.drawing.axis.LongAxis; import com.egantt.model.drawing.axis.interval.LongInterval; import com.egantt.model.drawing.context.BasicDrawingContext; import com.egantt.model.drawing.painter.state.BasicPainterState; import com.egantt.model.drawing.part.ListDrawingPart; import ext.egantt.chart.ChartGenerator; import ext.egantt.chart.ChartModel; import ext.egantt.chart.scheme.BasicPaintScheme; import ext.egantt.drawing.painter.context.BasicPainterContext; import java.awt.Color; import java.util.Iterator; public class PieGenerator2D implements ChartGenerator { public PieGenerator2D() { } public DrawingContext getDrawingContext() { BasicDrawingContext context = new BasicDrawingContext(); context.put("painter", ContextResources.DRAWING_PAINTER, new FilledArcPainter(2)); BasicPainterContext painterContext = new BasicPaintScheme(); context.put("context", ContextResources.GRAPHICS_CONTEXT, painterContext); painterContext = new BasicPainterContext(); painterContext.put("Paint", Color.black); context.put("context", ContextResources.GRAPHICS_CONTEXT, painterContext); BasicPartPainter partPainter = new BasicPartPainter(); context.put("painter", ContextResources.PART_PAINTER, partPainter); context.put("state", ContextResources.PAINTER_STATE, new BasicPainterState()); return context; } public DrawingPart getDrawingPart(ChartModel model, DrawingContext context) { Object keys[] = new String[2]; keys[0] = "xAxis"; keys[1] = "yAxis"; LongAxis axis = new LongAxis(); axis.setInterval(new LongInterval(0L, 100L)); context.put(keys[0], ContextResources.AXIS_VIEW, Integer.valueOf(0)); axis = new LongAxis(); axis.setInterval(new LongInterval(0L, 100L)); context.put(keys[1], ContextResources.AXIS_VIEW, Integer.valueOf(1)); ListDrawingPart part = new ListDrawingPart(keys, "painter"); AxisInterval intervals[] = new AxisInterval[2]; intervals[0] = new LongInterval(10L, 90L); intervals[1] = new LongInterval(10L, 90L); for(Iterator iter = model.keys(); iter.hasNext(); part.add(model.getInterval(null, iter.next()), intervals, "painter", "state", "context")); return part; } protected BasicDrawingContext context; }