de.jaret.util.ui.timebars.swt.renderer
Class OldDefaultTimeScaleRenderer

java.lang.Object
  extended by de.jaret.util.ui.timebars.swt.renderer.RendererBase
      extended by de.jaret.util.ui.timebars.swt.renderer.OldDefaultTimeScaleRenderer
All Implemented Interfaces:
TimeScaleRenderer

public class OldDefaultTimeScaleRenderer
extends RendererBase
implements TimeScaleRenderer

A default timescale renderer using the TickScaler to render a readable scale for use cases taht display something in the range of hours and more in the timebar viewer. A holiday enumerator is used to display special and holidays in the tooltip. Suports horizontal and ertical orientation.

Version:
$Id: OldDefaultTimeScaleRenderer.java 1086 2011-07-30 20:28:05Z kliem $
Author:
Peter Kliem

Field Summary
protected  de.jaret.util.date.holidayenumerator.HolidayEnumerator _holidayEnumerator
          holiday enumeratotr for tooltips.
protected static int MAJORLENGTH
          length of major ticks.
protected static int MINORLENGTH
          length of minor ticks.
protected static int PREFERREDHEIGHT
          preferred height.
 
Fields inherited from class de.jaret.util.ui.timebars.swt.renderer.RendererBase
_printer, _scaleX, _scaleY
 
Constructor Summary
OldDefaultTimeScaleRenderer()
          Default constructor.
OldDefaultTimeScaleRenderer(org.eclipse.swt.printing.Printer printer)
          Construct the renderer for a prinetr device.
 
Method Summary
 TimeScaleRenderer createPrintRenderer(org.eclipse.swt.printing.Printer printer)
          Create a timescale renderer setup for printing.
 void dispose()
          Dispose resources.
 void draw(org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle drawingArea, TimeBarViewerDelegate delegate, boolean top, boolean printing)
          Draw the Timescale.
 void drawHorizontal(org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle drawingArea, TimeBarViewerDelegate delegate, boolean top, boolean printing)
          Draw the horizontal scale.
 int getHeight()
          Returns the prferred height for rendering.
 java.lang.String getToolTipText(TimeBarViewer tbv, org.eclipse.swt.graphics.Rectangle drawingArea, int x, int y)
          Retrieve the tooltip text for a given locatin in the timescale.
protected  java.lang.String getToolTipTextForDate(de.jaret.util.date.JaretDate date, TickScaler.Range range)
          Convert date to string for tooltip display.
 void setHolidayEnumerator(de.jaret.util.date.holidayenumerator.HolidayEnumerator he)
          Set a holidayenumerator for diasplaying special days as tooltip.
 boolean supportsOptimizedScrolling()
          Report whether this renderer can be used with optimized scrolling.
 
Methods inherited from class de.jaret.util.ui.timebars.swt.renderer.RendererBase
drawFocus, getDefaultLineWidth, getPrinter, getScaleX, getScaleY, scaleX, scaleY
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PREFERREDHEIGHT

protected static final int PREFERREDHEIGHT
preferred height.

See Also:
Constant Field Values

MINORLENGTH

protected static final int MINORLENGTH
length of minor ticks.

See Also:
Constant Field Values

MAJORLENGTH

protected static final int MAJORLENGTH
length of major ticks.

See Also:
Constant Field Values

_holidayEnumerator

protected de.jaret.util.date.holidayenumerator.HolidayEnumerator _holidayEnumerator
holiday enumeratotr for tooltips.

Constructor Detail

OldDefaultTimeScaleRenderer

public OldDefaultTimeScaleRenderer(org.eclipse.swt.printing.Printer printer)
Construct the renderer for a prinetr device.

Parameters:
printer - printer device

OldDefaultTimeScaleRenderer

public OldDefaultTimeScaleRenderer()
Default constructor.

Method Detail

setHolidayEnumerator

public void setHolidayEnumerator(de.jaret.util.date.holidayenumerator.HolidayEnumerator he)
Set a holidayenumerator for diasplaying special days as tooltip.

Parameters:
he - holidayenumerator to use

draw

public void draw(org.eclipse.swt.graphics.GC gc,
                 org.eclipse.swt.graphics.Rectangle drawingArea,
                 TimeBarViewerDelegate delegate,
                 boolean top,
                 boolean printing)
Draw the Timescale.

Specified by:
draw in interface TimeScaleRenderer
Parameters:
gc - GraphicsContext to paint with.
drawingArea - Rectangel denoting the area to draw in. The gc is clipped to this area.
delegate - TimeBarViewerDelegate exposed for callbacks
top - if true the tmiescale is in position top, bottom otherwise
printing - flag to indicate printing.

drawHorizontal

public void drawHorizontal(org.eclipse.swt.graphics.GC gc,
                           org.eclipse.swt.graphics.Rectangle drawingArea,
                           TimeBarViewerDelegate delegate,
                           boolean top,
                           boolean printing)
Draw the horizontal scale.

Parameters:
gc - GC
drawingArea - drawing area
delegate - the timebar viewer delegate
top - true for top position
printing - true if printing

getToolTipText

public java.lang.String getToolTipText(TimeBarViewer tbv,
                                       org.eclipse.swt.graphics.Rectangle drawingArea,
                                       int x,
                                       int y)
Retrieve the tooltip text for a given locatin in the timescale.

Specified by:
getToolTipText in interface TimeScaleRenderer
Parameters:
tbv - TimeBarViewer
drawingArea - area in that the timescale has been painted
x - x coordinate
y - y coordinate
Returns:
tooltip text or null

getToolTipTextForDate

protected java.lang.String getToolTipTextForDate(de.jaret.util.date.JaretDate date,
                                                 TickScaler.Range range)
Convert date to string for tooltip display.

Parameters:
date - date
range - last range
Returns:
string for displaying as tooltip

getHeight

public int getHeight()
Returns the prferred height for rendering.

Specified by:
getHeight in interface TimeScaleRenderer
Returns:
preferred height

dispose

public void dispose()
Dispose resources.

Specified by:
dispose in interface TimeScaleRenderer

createPrintRenderer

public TimeScaleRenderer createPrintRenderer(org.eclipse.swt.printing.Printer printer)
Create a timescale renderer setup for printing.

Specified by:
createPrintRenderer in interface TimeScaleRenderer
Parameters:
printer - Printer device taht will be used.
Returns:
timescale renderer setup for printing.

supportsOptimizedScrolling

public boolean supportsOptimizedScrolling()
Report whether this renderer can be used with optimized scrolling. This will usually be the case if all elements drawn are positioned by the date.

Specified by:
supportsOptimizedScrolling in interface TimeScaleRenderer
Returns:
true if optimzed drawing can be used.


Copyright © 2012. All Rights Reserved.