pt.uminho.generic.components
Interface DoubleBoundedRangeModel

All Superinterfaces:
javax.swing.BoundedRangeModel
All Known Implementing Classes:
DefaultDoubleBoundedRangeModel

public interface DoubleBoundedRangeModel
extends javax.swing.BoundedRangeModel

Caution this is a modified version of the infovis toolkit which strips down the minimal code to use the DoubleRangeSlider. Please find the orginial code at: http://ivtk.sourceforge.net/.

Double version of a BoundedRangeModel.

Version:
$Revision: 1.1 $
Author:
Jean-Daniel Fekete
See Also:
BoundedRangeModel

Method Summary
 void addChangeListener(javax.swing.event.ChangeListener x)
          Adds a ChangeListener to the sizeModel's listener list.
 double getExtentDouble()
          Returns the sizeModel's extent, the length of the inner range that begins at the sizeModel's value.
 double getMaximumDouble()
          Returns the sizeModel's maximum.
 double getMinimumDouble()
          Returns the minimum acceptable value.
 double getValueDouble()
          Returns the sizeModel's current value.
 boolean getValueIsAdjusting()
          Returns true if the current changes to the value property are part of a series of changes.
 void removeChangeListener(javax.swing.event.ChangeListener x)
          Removes a ChangeListener from the sizeModel's listener list.
 void setExtent(double newExtent)
          Sets the sizeModel's extent.
 void setMaximum(double newMaximum)
          Sets the sizeModel's maximum to newMaximum.
 void setMinimum(double newMinimum)
          Sets the sizeModel's minimum to newMinimum.
 void setRangeProperties(double value, double extent, double min, double max, boolean adjusting)
          This method sets all of the sizeModel's data with a single method call.
 void setValue(double newValue)
          Sets the sizeModel's current value to newValue if newValue satisfies the sizeModel's constraints.
 void setValueIsAdjusting(boolean b)
          This attribute indicates that any upcoming changes to the value of the sizeModel should be considered a single event.
 
Methods inherited from interface javax.swing.BoundedRangeModel
getExtent, getMaximum, getMinimum, getValue, setExtent, setMaximum, setMinimum, setRangeProperties, setValue
 

Method Detail

getMinimumDouble

double getMinimumDouble()
Returns the minimum acceptable value.

Returns:
the value of the minimum property
See Also:
setMinimum(double)

setMinimum

void setMinimum(double newMinimum)
Sets the sizeModel's minimum to newMinimum. The other three properties may be changed as well, to ensure that:
 minimum <= value <= value + extent <= maximum
 

Notifies any listeners if the sizeModel changes.

Parameters:
newMinimum - the sizeModel's new minimum
See Also:
BoundedRangeModel.getMinimum(), addChangeListener(javax.swing.event.ChangeListener)

getMaximumDouble

double getMaximumDouble()
Returns the sizeModel's maximum. Note that the upper limit on the sizeModel's value is (maximum - extent).

Returns:
the value of the maximum property.
See Also:
setMaximum(double), setExtent(double)

setMaximum

void setMaximum(double newMaximum)
Sets the sizeModel's maximum to newMaximum. The other three properties may be changed as well, to ensure that
 minimum <= value <= value + extent <= maximum
 

Notifies any listeners if the sizeModel changes.

Parameters:
newMaximum - the sizeModel's new maximum
See Also:
BoundedRangeModel.getMaximum(), addChangeListener(javax.swing.event.ChangeListener)

getValueDouble

double getValueDouble()
Returns the sizeModel's current value. Note that the upper limit on the sizeModel's value is maximum - extent and the lower limit is minimum.

Returns:
the sizeModel's value
See Also:
setValue(double)

setValue

void setValue(double newValue)
Sets the sizeModel's current value to newValue if newValue satisfies the sizeModel's constraints. Those constraints are:
 minimum <= value <= value + extent <= maximum
 
Otherwise, if newValue is less than minimum it's set to minimum, if its greater than maximum then it's set to maximum, and if it's greater than value+extent then it's set to value+extent.

When a BoundedRange sizeModel is used with a scrollbar the value specifies the origin of the scrollbar knob (aka the "thumb" or "elevator"). The value usually represents the origin of the visible part of the object being scrolled.

Notifies any listeners if the sizeModel changes.

Parameters:
newValue - the sizeModel's new value
See Also:
BoundedRangeModel.getValue()

setValueIsAdjusting

void setValueIsAdjusting(boolean b)
This attribute indicates that any upcoming changes to the value of the sizeModel should be considered a single event.

This attribute will be set to true at the start of a series of changes to the value, and will be set to false when the value has finished changing. Normally this allows a listener to only take action when the final value change in committed, instead of having to do updates for all intermediate values.

Sliders and scrollbars use this property when a drag is underway.

Specified by:
setValueIsAdjusting in interface javax.swing.BoundedRangeModel
Parameters:
b - true if the upcoming changes to the value property are part of a series

getValueIsAdjusting

boolean getValueIsAdjusting()
Returns true if the current changes to the value property are part of a series of changes.

Specified by:
getValueIsAdjusting in interface javax.swing.BoundedRangeModel
Returns:
the valueIsAdjustingProperty.
See Also:
setValueIsAdjusting(boolean)

getExtentDouble

double getExtentDouble()
Returns the sizeModel's extent, the length of the inner range that begins at the sizeModel's value.

Returns:
the value of the sizeModel's extent property
See Also:
setExtent(double), setValue(double)

setExtent

void setExtent(double newExtent)
Sets the sizeModel's extent. The newExtent is forced to be greater than or equal to zero and less than or equal to maximum - value.

When a BoundedRange sizeModel is used with a scrollbar the extent defines the length of the scrollbar knob (aka the "thumb" or "elevator"). The extent usually represents how much of the object being scrolled is visible. When used with a slider, the extent determines how much the value can "jump", for example when the user presses PgUp or PgDn.

Notifies any listeners if the sizeModel changes.

Parameters:
newExtent - the sizeModel's new extent
See Also:
BoundedRangeModel.getExtent(), setValue(double)

setRangeProperties

void setRangeProperties(double value,
                        double extent,
                        double min,
                        double max,
                        boolean adjusting)
This method sets all of the sizeModel's data with a single method call. The method results in a single change event being generated. This is convenient when you need to adjust all the sizeModel data simultaneously and do not want individual change events to occur.

Parameters:
value - an double giving the current value
extent - an double giving the amount by which the value can "jump"
min - an double giving the minimum value
max - an double giving the maximum value
adjusting - a boolean, true if a series of changes are in progress
See Also:
setValue(double), setExtent(double), setMinimum(double), setMaximum(double), setValueIsAdjusting(boolean)

addChangeListener

void addChangeListener(javax.swing.event.ChangeListener x)
Adds a ChangeListener to the sizeModel's listener list.

Specified by:
addChangeListener in interface javax.swing.BoundedRangeModel
Parameters:
x - the ChangeListener to add
See Also:
removeChangeListener(javax.swing.event.ChangeListener)

removeChangeListener

void removeChangeListener(javax.swing.event.ChangeListener x)
Removes a ChangeListener from the sizeModel's listener list.

Specified by:
removeChangeListener in interface javax.swing.BoundedRangeModel
Parameters:
x - the ChangeListener to remove
See Also:
addChangeListener(javax.swing.event.ChangeListener)