lt.monarch.chart.chart2D.axis.layouters
Class DefaultLinearLabelLayouter

java.lang.Object
  extended by lt.monarch.chart.chart2D.axis.layouters.SimpleLinearLabelLayouter
      extended by lt.monarch.chart.chart2D.axis.layouters.DefaultLinearLabelLayouter
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, LinearLabelLayouter
Direct Known Subclasses:
MultiLevelLabelLayouter

public class DefaultLinearLabelLayouter
extends SimpleLinearLabelLayouter

Layouts labels by eliminating overlapping ones. Does this by keeping lower level labels and eliminating higher level labels

See Also:
Serialized Form

Field Summary
Modifier and Type Field and Description
 
Fields inherited from class lt.monarch.chart.chart2D.axis.layouters.SimpleLinearLabelLayouter
calculatePreferredDimensions, levels, prefferedHeight, prefferedWidth, sparseMode, start, stop, titleArea
 
Constructor Summary
Constructor and Description
DefaultLinearLabelLayouter()
          Constructs a new DefaultLinearLabelLayouter object.
 
Method Summary
Modifier and Type Method and Description
protected  void eliminateLevelsFrom(AbstractAxisLabel[] labels, int level)
          Eliminates the labels with level equal to or higher than the given one.
protected  void eliminateOutbound(AbstractAxisLabel[] labels)
          Eliminates labels, falling outside the visible axis range.
 int getMinimumLabelSpacing()
          Returns minimum spacing that must be kept between labels.
 void layout(AbstractAxisLabel[] labels)
          Layouts the specified labels.
 void prepare(AbstractAxisLabel[] labels)
          Non-API method. Calculates preferred size of all visible labels (maximum size of all labels).
 void setMinimumLabelSpacing(int spacing)
          Sets the minimum spacing to be kept between labels.
 
Methods inherited from class lt.monarch.chart.chart2D.axis.layouters.SimpleLinearLabelLayouter
clone, compareLabels, dispose, findMaxLevel, getMaxLevel, getPreferredHeight, getPreferredWidth, setSparseMode, setTitleArea, setVisibleRange, sort
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultLinearLabelLayouter

public DefaultLinearLabelLayouter()
Constructs a new DefaultLinearLabelLayouter object.

Method Detail

setMinimumLabelSpacing

public void setMinimumLabelSpacing(int spacing)
Sets the minimum spacing to be kept between labels. Default value is 6 pixels.

Parameters:
spacing - minimum spacing between labels in pixels.

eliminateOutbound

protected void eliminateOutbound(AbstractAxisLabel[] labels)
Description copied from class: SimpleLinearLabelLayouter
Eliminates labels, falling outside the visible axis range.

Overrides:
eliminateOutbound in class SimpleLinearLabelLayouter
Parameters:
labels - labels to layout

getMinimumLabelSpacing

public int getMinimumLabelSpacing()
Returns minimum spacing that must be kept between labels.

Returns:
minimum spacing between labels

layout

public void layout(AbstractAxisLabel[] labels)
Layouts the specified labels.

Specified by:
layout in interface LinearLabelLayouter
Overrides:
layout in class SimpleLinearLabelLayouter
Parameters:
labels - the labels to layout

eliminateLevelsFrom

protected void eliminateLevelsFrom(AbstractAxisLabel[] labels,
                                   int level)
Eliminates the labels with level equal to or higher than the given one.

Parameters:
labels - label array
level - given level number

prepare

public void prepare(AbstractAxisLabel[] labels)
Description copied from interface: LinearLabelLayouter
Non-API method. Calculates preferred size of all visible labels (maximum size of all labels).

Specified by:
prepare in interface LinearLabelLayouter
Overrides:
prepare in class SimpleLinearLabelLayouter
Parameters:
labels - label array