/* * */ package ext.egantt.drawing.module; import com.egantt.awt.graphics.GraphicsContext; import com.egantt.awt.graphics.GraphicsManager; import com.egantt.awt.graphics.state.GraphicsState2D; import com.egantt.drawing.DrawingPainter; import com.egantt.drawing.painter.RangePainter; import com.egantt.drawing.painter.basic.BasicRectanglePainter; import com.egantt.drawing.painter.range.BasicRangePainter; import com.egantt.drawing.painter.range.model.GranularityRangeModel; import com.egantt.model.drawing.ContextResources; import com.egantt.model.drawing.DrawingContext; import com.egantt.model.drawing.painter.state.BasicPainterState; import ext.egantt.drawing.DrawingModule; import ext.egantt.drawing.painter.context.BasicPainterContext; import ext.egantt.model.drawing.granularity.CachedCalendarGranularity; import ext.egantt.model.drawing.granularity.CalendarConstants; import java.awt.BasicStroke; import java.awt.Color; import java.util.List; public class LineCalendarModule implements DrawingModule { public void initialise(DrawingContext drawingcontext, List eventList) { } public LineCalendarModule(String key, GranularityRangeModel model) { this.key = key; this.model = model; granularity = new CachedCalendarGranularity(1, CalendarConstants.FORMAT_KEYS); } public void setGraphics(GraphicsManager graphics) { this.graphics = graphics; } public void setRangeModel(GranularityRangeModel model) { this.model = model; } public void initialise(DrawingContext context) { context.put(key, ContextResources.GRAPHICS_CONTEXT, createContext()); context.put(key, ContextResources.DRAWING_PAINTER, createPainter()); context.put(key, ContextResources.PAINTER_STATE, new BasicPainterState()); } public void terminate(DrawingContext context) { context.put(key, ContextResources.GRAPHICS_CONTEXT, null); context.put(key, ContextResources.DRAWING_PAINTER, null); context.put(key, ContextResources.PAINTER_STATE, null); } protected GraphicsContext createContext() { BasicPainterContext context = new BasicPainterContext(); context.setDrawingGranularity(granularity); context.setPaint(Color.black); context.setStroke(new BasicStroke(0.0F)); return context; } protected DrawingPainter createPainter() { RangePainter painter = new BasicRangePainter(graphics, true); painter.setModel(model); painter.setPainter(new BasicRectanglePainter()); painter.setState(new GraphicsState2D()); return painter; } protected final CachedCalendarGranularity granularity; protected final String key; protected GranularityRangeModel model; protected GraphicsManager graphics; }