/*
*
*/
package ext.egantt.chart.generator;
import com.egantt.drawing.component.painter.part.BasicPartPainter;
import com.egantt.drawing.painter.generator.PathGeneratorPainter;
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;
public class LineGenerator2D
implements ChartGenerator
{
public LineGenerator2D()
{
}
public DrawingContext getDrawingContext()
{
BasicDrawingContext context = new BasicDrawingContext();
context.put("painter", ContextResources.DRAWING_PAINTER, new PathGeneratorPainter(1, 100));
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, axis.getView(0));
axis = new LongAxis();
axis.setInterval(new LongInterval(0L, 100L));
context.put(keys[1], ContextResources.AXIS_VIEW, axis.getView(1));
ListDrawingPart part = new ListDrawingPart(keys, "painter");
AxisInterval intervals[] = new AxisInterval[2];
intervals[0] = new LongInterval(10L, 90L);
intervals[1] = new LongInterval(10L, 90L);
Object values[] = new Object[10000];
for(int i = 0; i < 9999; i += 2)
{
values[i] = new Long(i);
values[i + 1] = new Long((long)i * 5L);
}
values[10] = new Long(999L);
part.add(((Object) (values)), intervals, "painter", "state", "context");
return part;
}
protected BasicDrawingContext context;
}