de.jaret.util.ui.timebars.swt.renderer
Interface TimeBarRenderer2

All Known Implementing Classes:
AbstractTimeBarRenderer, DefaultRenderer

public interface TimeBarRenderer2

FOR FUTURE USE (AND WILL BE REFACTORED AT A LATER TIME!) Renderer for rendering intervals in the time bar viewer.

Version:
$Id: TimeBarRenderer2.java 800 2008-12-27 22:27:33Z kliem $
Author:
Peter Kliem

Method Summary
 boolean contains(TimeBarViewerDelegate delegate, de.jaret.util.date.Interval interval, org.eclipse.swt.graphics.Rectangle drawingArea, int x, int y, boolean overlapping)
          Check whether a given coordinate is contained in the rendered interval.
 TimeBarRenderer createPrintrenderer(org.eclipse.swt.printing.Printer printer)
          Create a similar renderer for printing.
 void dispose()
          Dispose the renderer.
 void draw(org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle drawingArea, TimeBarViewerDelegate delegate, de.jaret.util.date.Interval interval, boolean selected, boolean printing, boolean overlap)
          Render the given interval.
 org.eclipse.swt.graphics.Rectangle getContainingRectangle(TimeBarViewerDelegate delegate, de.jaret.util.date.Interval interval, org.eclipse.swt.graphics.Rectangle drawingArea, boolean overlapping)
          Retrieve the bounding rectangle of the interval rendering.
 org.eclipse.swt.graphics.Rectangle getPreferredDrawingBounds(org.eclipse.swt.graphics.Rectangle intervalDrawingArea, TimeBarViewerDelegate delegate, de.jaret.util.date.Interval interval, boolean selected, boolean printing, boolean overlap)
          Retrieve the preferred drawing bounds for a specific interval.
 java.lang.String getToolTipText(TimeBarViewerDelegate delegate, de.jaret.util.date.Interval interval, org.eclipse.swt.graphics.Rectangle drawingArea, int x, int y, boolean overlapping)
          Retrieve the tooltip text for the interval.
 

Method Detail

draw

void draw(org.eclipse.swt.graphics.GC gc,
          org.eclipse.swt.graphics.Rectangle drawingArea,
          TimeBarViewerDelegate delegate,
          de.jaret.util.date.Interval interval,
          boolean selected,
          boolean printing,
          boolean overlap)
Render the given interval. Flags show if the rendering is done for printing and whether the interval is alone in its loation (overlap = false).

Parameters:
gc - GC
drawingArea - the rectangle to render the interval in.
delegate - the viewer delegate
interval - the interval to be rendered
selected - true if the interval is selected
printing - true if rendering is done for a prinetr
overlap - true if the interval is drawn as one of several intervals that overlap while beeing drawn.

getPreferredDrawingBounds

org.eclipse.swt.graphics.Rectangle getPreferredDrawingBounds(org.eclipse.swt.graphics.Rectangle intervalDrawingArea,
                                                             TimeBarViewerDelegate delegate,
                                                             de.jaret.util.date.Interval interval,
                                                             boolean selected,
                                                             boolean printing,
                                                             boolean overlap)
Retrieve the preferred drawing bounds for a specific interval.

Parameters:
intervalDrawingArea - the rectangle to render the interval in.
delegate - the viewer delegate
interval - the interval to be rendered
selected - true if the interval is selected
printing - true if rendering is done for a prinetr
overlap - true if the interval is drawn as one of several intervals that overlap while beeing drawn.
Returns:
the bounding rectangle that the renderer will paint in when rendering

getToolTipText

java.lang.String getToolTipText(TimeBarViewerDelegate delegate,
                                de.jaret.util.date.Interval interval,
                                org.eclipse.swt.graphics.Rectangle drawingArea,
                                int x,
                                int y,
                                boolean overlapping)
Retrieve the tooltip text for the interval. Coordniates and drwaing area are given, so it is possible to return different tooltips for different locations on the rendered interval.

Parameters:
delegate - timebar viewer delegate
interval - the interval
drawingArea - area the interval has been randered in
x - x coordinate in the drawing area (relative)
y - y coordniate in the drawing area (relative)
overlapping - true if the interval is not alone at this location
Returns:
tooltip text or null indicating no tooltip should be displayed

contains

boolean contains(TimeBarViewerDelegate delegate,
                 de.jaret.util.date.Interval interval,
                 org.eclipse.swt.graphics.Rectangle drawingArea,
                 int x,
                 int y,
                 boolean overlapping)
Check whether a given coordinate is contained in the rendered interval. This is used for exact selection.

Parameters:
delegate - timebar viewer delegate
interval - the interval
drawingArea - area the interval has been randered in
x - x coordinate in the drawing area
y - y coordniate in the drawing area
overlapping - true if overlapping occurred
Returns:
true if the coordinate belongs to the interval representation

getContainingRectangle

org.eclipse.swt.graphics.Rectangle getContainingRectangle(TimeBarViewerDelegate delegate,
                                                          de.jaret.util.date.Interval interval,
                                                          org.eclipse.swt.graphics.Rectangle drawingArea,
                                                          boolean overlapping)
Retrieve the bounding rectangle of the interval rendering.

Parameters:
delegate - timebar viewer delegate
interval - the interval
drawingArea - area the interval has been randered in
overlapping - true if overlapping occurred
Returns:
containing rectangle of the interval's representation

dispose

void dispose()
Dispose the renderer. Should free up any resources locked.


createPrintrenderer

TimeBarRenderer createPrintrenderer(org.eclipse.swt.printing.Printer printer)
Create a similar renderer for printing. The creation should copy settings made to the producing renderer.

Parameters:
printer - Printer device
Returns:
a configured renderer for printing.


Copyright © 2012. All Rights Reserved.