1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package de.jaret.util.ui.timebars.swt.renderer;
21
22 import org.eclipse.swt.graphics.GC;
23 import org.eclipse.swt.graphics.Rectangle;
24 import org.eclipse.swt.printing.Printer;
25
26 import de.jaret.util.date.JaretDate;
27 import de.jaret.util.swt.SwtGraphicsHelper;
28 import de.jaret.util.ui.timebars.TimeBarViewerDelegate;
29 import de.jaret.util.ui.timebars.TimeBarViewerInterface;
30 import de.jaret.util.ui.timebars.swt.TimeBarViewer;
31
32
33
34
35
36
37
38
39 public class DateStripRenderer extends RendererBase implements TimeScaleRenderer {
40
41 public DateStripRenderer() {
42 super(null);
43 }
44
45 public DateStripRenderer(Printer printer) {
46 super(printer);
47 }
48
49 @Override
50 public void draw(GC gc, Rectangle drawingArea, TimeBarViewerDelegate delegate, boolean top, boolean printing) {
51 boolean horizontal = delegate.getOrientation().equals(TimeBarViewerInterface.Orientation.HORIZONTAL);
52 JaretDate startDate = delegate.getStartDate().copy();
53 if (horizontal) {
54
55
56
57 SwtGraphicsHelper.drawStringLeftAlignedVCenter(gc, startDate.toDisplayString(),
58 delegate.getYAxisWidth() + 5, drawingArea.y + drawingArea.height / 2);
59 gc.drawLine(drawingArea.x, drawingArea.y + drawingArea.height - 1, drawingArea.x + drawingArea.width,
60 drawingArea.y + drawingArea.height - 1);
61 } else {
62 SwtGraphicsHelper.drawStringVertical(gc, startDate.toDisplayString(), drawingArea.x , drawingArea.y + 5);
63
64
65 gc.drawLine(drawingArea.x+drawingArea.width-1, drawingArea.y, drawingArea.x+drawingArea.width-1,
66 drawingArea.y + drawingArea.height - 1);
67
68 }
69 }
70
71 @Override
72 public String getToolTipText(TimeBarViewer tbv, Rectangle drawingArea, int x, int y) {
73 return null;
74 }
75
76 @Override
77 public int getHeight() {
78 return scaleY(20);
79 }
80
81 @Override
82 public void dispose() {
83
84 }
85
86 @Override
87 public TimeScaleRenderer createPrintRenderer(Printer printer) {
88 return new DateStripRenderer(printer);
89 }
90
91
92
93
94 public boolean supportsOptimizedScrolling() {
95 return false;
96 }
97
98
99 }