info.monitorenter.gui.chart.axis.scalepolicy
Class AxisScalePolicyManualTicks

java.lang.Object
  extended by info.monitorenter.gui.chart.axis.scalepolicy.AxisScalePolicyManualTicks
All Implemented Interfaces:
IAxisScalePolicy

public class AxisScalePolicyManualTicks
extends java.lang.Object
implements IAxisScalePolicy

Scale policy implementation that ensures the following:

While this strategy is quite comfortable and prevents visual oddities there are some consequences to it:

Author:
Achim Westermann

Constructor Summary
AxisScalePolicyManualTicks()
           
 
Method Summary
protected  LabeledValue createLabeledValue(double value, double majorTickSpacing, IAxis<?> axis)
          Just a helper to create a labeled value instance.
protected  java.util.List<LabeledValue> getLabels(IAxis<?> axis)
          Returns the labels for this axis.
 java.util.List<LabeledValue> getScaleValues(java.awt.Graphics g2d, IAxis<?> axis)
          Returns the array of labeled values that will be used by the Chart2D to paint labels.
 void initPaintIteration(IAxis<?> axis)
          Performs expensive calculations for various values that are used by many calls throughout a paint iterations.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AxisScalePolicyManualTicks

public AxisScalePolicyManualTicks()
Method Detail

createLabeledValue

protected LabeledValue createLabeledValue(double value,
                                          double majorTickSpacing,
                                          IAxis<?> axis)
Just a helper to create a labeled value instance.

Parameters:
value - the value use.
majorTickSpacing - if value % majorTickSpacing is zero then the resulting LabeledValue will be judged as a major tick.
axis - needed to re-parse the value into the label string by using the formatter of it.
Returns:
the value rounded to minor or major ticks.

getLabels

protected java.util.List<LabeledValue> getLabels(IAxis<?> axis)
Returns the labels for this axis.

Returns:
the labels for the axis.

getScaleValues

public java.util.List<LabeledValue> getScaleValues(java.awt.Graphics g2d,
                                                   IAxis<?> axis)
Description copied from interface: IAxisScalePolicy
Returns the array of labeled values that will be used by the Chart2D to paint labels.

Specified by:
getScaleValues in interface IAxisScalePolicy
Parameters:
g2d - Provides information about the graphic context (e.g. font metrics).
axis - the axis to work for.
Returns:
the labeled values that will be used by the Chart2D to paint labels.
See Also:
IAxisScalePolicy.getScaleValues(java.awt.Graphics, info.monitorenter.gui.chart.IAxis)

initPaintIteration

public void initPaintIteration(IAxis<?> axis)
Description copied from interface: IAxisScalePolicy
Performs expensive calculations for various values that are used by many calls throughout a paint iterations.

These values are constant throughout a paint iteration by the contract that no point is added removed or changed in this period. Because these values are used from many methods it is impossible to calculate them at a "transparent" method that may perform this caching over a paint period without knowledge from outside. The first method called in a paint iteration is called several further times in the iteration. So this is the common hook to invoke before painting a chart.

Specified by:
initPaintIteration in interface IAxisScalePolicy
Parameters:
axis - the axis to read data from.
See Also:
IAxisScalePolicy.initPaintIteration(info.monitorenter.gui.chart.IAxis)


Copyright © 2001 - 2010 LGPL, All Rights Footloose.