View Javadoc

1   package de.jaret.examples.timebars.simple.swt.renderer;
2   
3   import org.eclipse.swt.graphics.GC;
4   import org.eclipse.swt.graphics.Rectangle;
5   
6   import de.jaret.util.date.Interval;
7   import de.jaret.util.ui.timebars.TimeBarViewerDelegate;
8   import de.jaret.util.ui.timebars.swt.renderer.DefaultRenderer;
9   
10  public class OtherIntervalRenderer extends DefaultRenderer{
11  	private final static int PREFWIDTH = 4;
12  	
13  	@Override
14  	public Rectangle getPreferredDrawingBounds(Rectangle intervalDrawingArea,
15  			TimeBarViewerDelegate delegate, Interval interval,
16  			boolean selected, boolean printing, boolean overlap) {
17  
18  	if (intervalDrawingArea.width<PREFWIDTH) {
19  		int diff = (PREFWIDTH-intervalDrawingArea.width/2);
20  		return new Rectangle(intervalDrawingArea.x-diff, intervalDrawingArea.y, intervalDrawingArea.width+2*diff, intervalDrawingArea.height);
21  	} else {
22  		return intervalDrawingArea;
23  	}
24  	
25  	}
26  	
27  	@Override
28  	public void draw(GC gc, Rectangle drawingArea,
29  			TimeBarViewerDelegate delegate, Interval interval,
30  			boolean selected, boolean printing, boolean overlap) {
31  
32  		if (drawingArea.width<PREFWIDTH) {
33  			int diff = (PREFWIDTH-drawingArea.width/2);
34  			drawingArea =  new Rectangle(drawingArea.x-diff, drawingArea.y, drawingArea.width+2*diff, drawingArea.height);
35  		} 
36  		
37  		super.draw(gc, drawingArea, delegate, interval, selected, printing, overlap);
38  	}
39  	
40  }