info.monitorenter.gui.chart.errorbars
Class ErrorBarPainter

java.lang.Object
  extended by info.monitorenter.gui.chart.errorbars.ErrorBarPainter
All Implemented Interfaces:
IErrorBarPainter, java.io.Serializable
Direct Known Subclasses:
ErrorBarPainterLine

public class ErrorBarPainter
extends java.lang.Object
implements IErrorBarPainter

Implementation of an error bar painter that allows configuration of the way the connection, start point and end point of an error bar is painted by the use of IPointPainter.

Property change events are fired as described in method IErrorBarPainter.addPropertyChangeListener(String, PropertyChangeListener) . Note that adding property change listeners to the nested access facades of type IErrorBarPainter.ISegment accessible via getXXXSegment() methods will fire the corresponding events for listeners of this instance (as they delegate the calls) while they fire events for properties defined in IErrorBarPainter.ISegment too. If you register for events of this instance and for the retrieved segments you will receive two PropertyChangeListener.propertyChange(java.beans.PropertyChangeEvent) for the same value changed.

Version:
$Revision: 1.27 $
Author:
Achim Westermann
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface info.monitorenter.gui.chart.IErrorBarPainter
IErrorBarPainter.ISegment
 
Field Summary
static java.awt.Color DEFAULT_SEGMENT_COLOR
          Default color for all segments in case their IPointPainterConfigurableUI has not been configured with a color.
protected  java.beans.PropertyChangeSupport m_propertyChangeSupport
          The instance that add support for firing PropertyChangeEvents and maintaining PropertyChangeListeners.
 
Fields inherited from interface info.monitorenter.gui.chart.IErrorBarPainter
PROPERTY_CONNECTION, PROPERTY_CONNECTION_COLOR, PROPERTY_ENDPOINT, PROPERTY_ENDPOINT_COLOR, PROPERTY_STARTPOINT, PROPERTY_STARTPOINT_COLOR
 
Constructor Summary
ErrorBarPainter()
          Creates an instance that by default will not render any error bar.
 
Method Summary
 void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
          Registers a property change listener that will be informed about changes of the property identified by the given propertyName.
 boolean equals(java.lang.Object obj)
           
 java.awt.Color getConnectionColor()
          Returns the color of the connection segment or null if unconfigured.
 IPointPainterConfigurableUI<?> getConnectionPainter()
          Returns the painter for the connection segment of the error bar.
 java.awt.Color getEndPointColor()
          Returns the color of the end point or null if unconfigured.
 IPointPainterConfigurableUI<?> getEndPointPainter()
          Returns the painter for the end point of the error bar.
 java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String property)
          Returns all property change listeners for the given property.
 IErrorBarPainter.ISegment getSegmentConnection()
          Returns the facade instance for accessing the connection segment of this configurable error bar painter.
 IErrorBarPainter.ISegment getSegmentEnd()
          Returns the facade instance for accessing the end segment of this configurable error bar painter.
 IErrorBarPainter.ISegment getSegmentStart()
          Returns the facade instance for accessing the start segment of this configurable error bar painter.
 java.awt.Color getStartPointColor()
          Returns the color of the start point or null if unconfigured.
 IPointPainterConfigurableUI<?> getStartPointPainter()
          Returns the painter for the start point of the error bar.
 int hashCode()
           
 void paintErrorBar(int absoluteX, int absoluteY, ITracePoint2D original, java.awt.Graphics g, IErrorBarPixel errorBar)
          Paint the error bar for the point given by absolute coordinates on the given graphic context.
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
          Unregisters a property change listener that has been registered for listening on all properties.
 void removePropertyChangeListener(java.lang.String property, java.beans.PropertyChangeListener listener)
          Removes a property change listener for listening on the given property.
 void setConnectionColor(java.awt.Color connectionColor)
          Sets the color for the connection segment.
 void setConnectionPainter(IPointPainterConfigurableUI<?> connectionPainter)
          Note that the choice for the right point painter has to be taken with care: It is senseless to use an implementation that does not interconnect both coordinates given to IPointPainter.paintPoint(int, int, int, int, Graphics, ITracePoint2D) .
 void setEndPointColor(java.awt.Color endPointColor)
          Sets the color for the end point.
 void setEndPointPainter(IPointPainterConfigurableUI<?> endPointPainter)
          Sets the painter for the end point of the error bar.
 void setStartPointColor(java.awt.Color startPointColor)
          Sets the color for the start point.
 void setStartPointPainter(IPointPainterConfigurableUI<?> startPointPainter)
          Note that the choice for the right point painter has to be taken with care: It is senseless to use an implementation that interconnects both coordinates given to IPointPainter.paintPoint(int, int, int, int, Graphics, ITracePoint2D) .
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_propertyChangeSupport

protected java.beans.PropertyChangeSupport m_propertyChangeSupport
The instance that add support for firing PropertyChangeEvents and maintaining PropertyChangeListeners.


DEFAULT_SEGMENT_COLOR

public static final java.awt.Color DEFAULT_SEGMENT_COLOR
Default color for all segments in case their IPointPainterConfigurableUI has not been configured with a color.

Constructor Detail

ErrorBarPainter

public ErrorBarPainter()
Creates an instance that by default will not render any error bar.

It then has to be configured with the remaining methods as desired.

See Also:
setEndPointColor(Color), setEndPointPainter(IPointPainterConfigurableUI), setConnectionColor(Color), setConnectionPainter(IPointPainterConfigurableUI), setStartPointColor(Color), setStartPointPainter(IPointPainterConfigurableUI)
Method Detail

addPropertyChangeListener

public final void addPropertyChangeListener(java.lang.String propertyName,
                                            java.beans.PropertyChangeListener listener)
Description copied from interface: IErrorBarPainter
Registers a property change listener that will be informed about changes of the property identified by the given propertyName.

PropertyChangeEvents

PropertyChangeListener instances may be added via Container.addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener) . They inherit the properties to listen from Container.addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener) . Additionally more PropertyChangeEvents should be triggered (contract for implementation!).

Property Change events

The following PropertyChangeEvent instances will be fired to registered PropertyChangeListener instances.
getPropertyName() getSource() getOldValue() getNewValue() comment
IErrorBarPainter.PROPERTY_ENDPOINT IErrorBarPainter that changed. IPointPainter. IPointPainter. Note that null as the old value indicates a new painter. Null as the new value is valid and means that the end point rendering is turned off.
IErrorBarPainter.PROPERTY_STARTPOINT IErrorBarPainter that changed. IPointPainter. IPointPainter. Note that null as the old value indicates a new painter. Null as the new value is valid and means that the start point rendering is turned off.
IErrorBarPainter.PROPERTY_CONNECTION IErrorBarPainter that changed. IPointPainter. IPointPainter. Note that null as the old value indicates a new painter. Null as the new value is valid and means that the connection segment point rendering is turned off.
IErrorBarPainter.PROPERTY_ENDPOINT_COLOR IErrorBarPainter that changed. Color. Color. Note that null as the old value indicates a new color different from the default. Null as the new value is valid and means that the end point color is switched to default.
IErrorBarPainter.PROPERTY_STARTPOINT_COLOR IErrorBarPainter that changed. Color. Color. Note that null as the old value indicates a new color different from the default. Null as the new value is valid and means that the start point color is switched to default.
IErrorBarPainter.PROPERTY_CONNECTION_COLOR IErrorBarPainter that changed. Color. Color. Note that null as the old value indicates a new color different from the default. Null as the new value is valid and means that the connection segment color is switched to default.

Specified by:
addPropertyChangeListener in interface IErrorBarPainter
Parameters:
propertyName - the name of the property the listener is interested in
listener - a listener that will only be informed if the property identified by the argument propertyName changes
See Also:
IErrorBarPainter.addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object
See Also:
Object.equals(java.lang.Object)

getConnectionColor

public final java.awt.Color getConnectionColor()
Description copied from interface: IErrorBarPainter
Returns the color of the connection segment or null if unconfigured.

Specified by:
getConnectionColor in interface IErrorBarPainter
Returns:
the color of the connection segment or null if unconfigured.
See Also:
IErrorBarPainter.getConnectionColor()

getConnectionPainter

public final IPointPainterConfigurableUI<?> getConnectionPainter()
Description copied from interface: IErrorBarPainter
Returns the painter for the connection segment of the error bar.

Specified by:
getConnectionPainter in interface IErrorBarPainter
Returns:
The painter for the connection segment of the error bar.
See Also:
IErrorBarPainter.getConnectionPainter()

getEndPointColor

public final java.awt.Color getEndPointColor()
Description copied from interface: IErrorBarPainter
Returns the color of the end point or null if unconfigured.

Specified by:
getEndPointColor in interface IErrorBarPainter
Returns:
the color of the end point or null if unconfigured.
See Also:
IErrorBarPainter.getEndPointColor()

getEndPointPainter

public final IPointPainterConfigurableUI<?> getEndPointPainter()
Description copied from interface: IErrorBarPainter
Returns the painter for the end point of the error bar.

Specified by:
getEndPointPainter in interface IErrorBarPainter
Returns:
The painter for the end point of the error bar.
See Also:
IErrorBarPainter.getEndPointPainter()

getPropertyChangeListeners

public java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String property)
Description copied from interface: IErrorBarPainter
Returns all property change listeners for the given property.

Specified by:
getPropertyChangeListeners in interface IErrorBarPainter
Parameters:
property - one of the constants with the PROPERTY_ prefix defined in this class or subclasses.
Returns:
the property change listeners for the given property.
See Also:
IErrorBarPainter.getPropertyChangeListeners(java.lang.String)

getSegmentConnection

public IErrorBarPainter.ISegment getSegmentConnection()
Description copied from interface: IErrorBarPainter
Returns the facade instance for accessing the connection segment of this configurable error bar painter.

Specified by:
getSegmentConnection in interface IErrorBarPainter
Returns:
the facade instance for accessing the connection segment of this configurable error bar painter.
See Also:
IErrorBarPainter.getSegmentConnection()

getSegmentEnd

public IErrorBarPainter.ISegment getSegmentEnd()
Description copied from interface: IErrorBarPainter
Returns the facade instance for accessing the end segment of this configurable error bar painter.

Specified by:
getSegmentEnd in interface IErrorBarPainter
Returns:
the facade instance for accessing the end segment of this configurable error bar painter.
See Also:
IErrorBarPainter.getSegmentEnd()

getSegmentStart

public IErrorBarPainter.ISegment getSegmentStart()
Description copied from interface: IErrorBarPainter
Returns the facade instance for accessing the start segment of this configurable error bar painter.

Specified by:
getSegmentStart in interface IErrorBarPainter
Returns:
the facade instance for accessing the start segment of this configurable error bar painter.
See Also:
IErrorBarPainter.getSegmentStart()

getStartPointColor

public final java.awt.Color getStartPointColor()
Description copied from interface: IErrorBarPainter
Returns the color of the start point or null if unconfigured.

Specified by:
getStartPointColor in interface IErrorBarPainter
Returns:
the color of the start point or null if unconfigured.
See Also:
IErrorBarPainter.getStartPointColor()

getStartPointPainter

public final IPointPainterConfigurableUI<?> getStartPointPainter()
Description copied from interface: IErrorBarPainter
Returns the painter for the start point of the error bar.

Specified by:
getStartPointPainter in interface IErrorBarPainter
Returns:
the painter for the start point of the error bar.
See Also:
IErrorBarPainter.getStartPointPainter()

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object
See Also:
Object.hashCode()

paintErrorBar

public void paintErrorBar(int absoluteX,
                          int absoluteY,
                          ITracePoint2D original,
                          java.awt.Graphics g,
                          IErrorBarPixel errorBar)
Description copied from interface: IErrorBarPainter
Paint the error bar for the point given by absolute coordinates on the given graphic context.

Basic implementations should modularize further and allow configuration for the way of painting the connection segments, the start point (origin) and end point of the error bar with implementations of IPointPainter.

Specified by:
paintErrorBar in interface IErrorBarPainter
Parameters:
absoluteX - the ready to use x value for the point to paint.
absoluteY - the ready to use y value for the point to paint.
original - the original trace point this error bar is painted for.
g - the graphic context to paint on.
errorBar - contains the data for the errors to render.
See Also:
IErrorBarPainter.paintErrorBar(int, int, ITracePoint2D, Graphics, IErrorBarPixel)

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Description copied from interface: IErrorBarPainter
Unregisters a property change listener that has been registered for listening on all properties.

Specified by:
removePropertyChangeListener in interface IErrorBarPainter
Parameters:
listener - a listener that will only be informed if the property identified by the argument propertyName changes
See Also:
IErrorBarPainter.removePropertyChangeListener(java.beans.PropertyChangeListener)

removePropertyChangeListener

public void removePropertyChangeListener(java.lang.String property,
                                         java.beans.PropertyChangeListener listener)
Description copied from interface: IErrorBarPainter
Removes a property change listener for listening on the given property.

Specified by:
removePropertyChangeListener in interface IErrorBarPainter
Parameters:
property - one of the constants with teh PROPERTY_ prefix defined in this class or subclasses.
listener - the listener for this property change.
See Also:
IErrorBarPainter.removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)

setConnectionColor

public final void setConnectionColor(java.awt.Color connectionColor)
Description copied from interface: IErrorBarPainter
Sets the color for the connection segment.

If this is not used or null is provided, the color of the corresponding trace will be used. If no underlying connection painter exists nothing will be done.

Specified by:
setConnectionColor in interface IErrorBarPainter
Parameters:
connectionColor - The connection segment color to set.
See Also:
IErrorBarPainter.setConnectionColor(java.awt.Color)

setConnectionPainter

public final void setConnectionPainter(IPointPainterConfigurableUI<?> connectionPainter)
Description copied from interface: IErrorBarPainter
Note that the choice for the right point painter has to be taken with care: It is senseless to use an implementation that does not interconnect both coordinates given to IPointPainter.paintPoint(int, int, int, int, Graphics, ITracePoint2D) .

Choosing a PointPainterLine will have the same visual effect as setting such an instance for the start point painter.

Currently the only useful choice is the PointPainterLine or null (to make the connection segment invisible). But the interface is open enough to use implementations that would paint interpolated dots, discs, squares,... whatever you think of (contribute!).

Specified by:
setConnectionPainter in interface IErrorBarPainter
Parameters:
connectionPainter - The connection segmentPainter to set.
See Also:
IErrorBarPainter.setConnectionPainter(info.monitorenter.gui.chart.IPointPainterConfigurableUI)

setEndPointColor

public final void setEndPointColor(java.awt.Color endPointColor)
Description copied from interface: IErrorBarPainter
Sets the color for the end point.

If this is not used or null is provided, the color of the corresponding trace will be used. If no underlying end point painter exists nothing will be done.

Specified by:
setEndPointColor in interface IErrorBarPainter
Parameters:
endPointColor - The end point color to set.
See Also:
IErrorBarPainter.setEndPointColor(java.awt.Color)

setEndPointPainter

public final void setEndPointPainter(IPointPainterConfigurableUI<?> endPointPainter)
Description copied from interface: IErrorBarPainter
Sets the painter for the end point of the error bar.

Note that the choice for the right point painter has to be taken with care: It is senseless to use an implementation that interconnects both coordinates given to IPointPainter.paintPoint(int, int, int, int, Graphics, ITracePoint2D).

Choosing a PointPainterLine will have the same visual effect as setting such an instance for the connection segment painter.

Specified by:
setEndPointPainter in interface IErrorBarPainter
Parameters:
endPointPainter - The end point painter to set.
See Also:
IErrorBarPainter.setEndPointPainter(info.monitorenter.gui.chart.IPointPainterConfigurableUI)

setStartPointColor

public final void setStartPointColor(java.awt.Color startPointColor)
Description copied from interface: IErrorBarPainter
Sets the color for the start point.

If this is not used or null is provided, the color of the corresponding trace will be used. If no underlying start point painter exists nothing will be done.

Specified by:
setStartPointColor in interface IErrorBarPainter
Parameters:
startPointColor - The start point color to set.
See Also:
IErrorBarPainter.setStartPointColor(java.awt.Color)

setStartPointPainter

public final void setStartPointPainter(IPointPainterConfigurableUI<?> startPointPainter)
Description copied from interface: IErrorBarPainter
Note that the choice for the right point painter has to be taken with care: It is senseless to use an implementation that interconnects both coordinates given to IPointPainter.paintPoint(int, int, int, int, Graphics, ITracePoint2D) .

Choosing a PointPainterLine will have the same visual effect as setting such an instance for the connection segment painter.

Specified by:
setStartPointPainter in interface IErrorBarPainter
Parameters:
startPointPainter - The startPointPainter to set.
See Also:
IErrorBarPainter.setStartPointPainter(IPointPainterConfigurableUI)


Copyright © 2001 - 2010 LGPL, All Rights Footloose.