org.processmining.framework.util
Class GUIPropertyDouble

java.lang.Object
  extended by org.processmining.framework.util.GUIPropertyDouble
All Implemented Interfaces:
java.util.EventListener, javax.swing.event.ChangeListener

public class GUIPropertyDouble
extends java.lang.Object
implements javax.swing.event.ChangeListener

A double property that can be readily displayed as it maintains its own GUI panel. The property will be graphically represented as a label containing the name of the property and a spinner according to the provided value range and step size. If a description has been provided, it will be displayed as a tool tip.
Changes performed via the GUI will be immedeately propagated to the internally held property value. Furthermore, a notification target may be specified in order to be informed as soon as the value has been changed.

A typical usage scenario looks as follows:

JPanel testPanel = new Panel(); // create parent panel
testPanel.setLayout(new BoxLayout(testPanel, BoxLayout.PAGE_AXIS));
GUIPropertyDouble width = new GUIPropertyDouble("Width", 0.0, 0.0, 10.0, 0.1);
testPanel.add(width.getPropertyPanel()); // add one property
GUIPropertyDouble height = new GUIPropertyDouble("Height", "Height in cm", 0.0, 0.0, 20.0, 0.1);
testPanel.add(height.getPropertyPanel()); // add another property
return testPanel;

See Also:
getValue, getPropertyPanel

Constructor Summary
GUIPropertyDouble(java.lang.String name, double defaultValue, double minValue, double maxValue, double stepSize)
          Creates a double property without a discription and notification.
GUIPropertyDouble(java.lang.String name, double defaultValue, double minValue, double maxValue, double stepSize, GuiNotificationTarget target)
          Creates a double property without a discription.
GUIPropertyDouble(java.lang.String name, java.lang.String description, double defaultValue, double minValue, double maxValue, double stepSize)
          Creates a double property without notification.
GUIPropertyDouble(java.lang.String name, java.lang.String description, double defaultValue, double minValue, double maxValue, double stepSize, GuiNotificationTarget target)
          Creates a double property.
GUIPropertyDouble(java.lang.String name, java.lang.String description, double defaultValue, double stepSize, GuiNotificationTarget target)
          Creates a double property without a minimal or maximal value.
 
Method Summary
 javax.swing.JPanel getPropertyPanel()
          Creates GUI panel containg this property, ready to display in some settings dialog.
 double getValue()
          The method to be invoked when the value of this property is to be used.
 void setValue(double value)
          Sets the value of this property
 void stateChanged(javax.swing.event.ChangeEvent e)
          The method automatically invoked when changing the spinner status.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GUIPropertyDouble

public GUIPropertyDouble(java.lang.String name,
                         double defaultValue,
                         double minValue,
                         double maxValue,
                         double stepSize)
Creates a double property without a discription and notification.

Parameters:
name - the name of this property
defaultValue - the default value of this property
minValue - the minimal value that can be assigned to this property
maxValue - the maximal value that can be assigned to this property
stepSize - the distance between two adjacent values

GUIPropertyDouble

public GUIPropertyDouble(java.lang.String name,
                         java.lang.String description,
                         double defaultValue,
                         double minValue,
                         double maxValue,
                         double stepSize)
Creates a double property without notification.

Parameters:
name - the name of this property
description - of this property (to be displayed as a tool tip)
defaultValue - the default value of this property
minValue - the minimal value that can be assigned to this property
maxValue - the maximal value that can be assigned to this property
stepSize - the distance between two adjacent values

GUIPropertyDouble

public GUIPropertyDouble(java.lang.String name,
                         double defaultValue,
                         double minValue,
                         double maxValue,
                         double stepSize,
                         GuiNotificationTarget target)
Creates a double property without a discription.

Parameters:
name - the name of this property
defaultValue - the default value of this property
minValue - the minimal value that can be assigned to this property
maxValue - the maximal value that can be assigned to this property
stepSize - the distance between two adjacent values
target - the object to be notified as soon the state of this property changes

GUIPropertyDouble

public GUIPropertyDouble(java.lang.String name,
                         java.lang.String description,
                         double defaultValue,
                         double minValue,
                         double maxValue,
                         double stepSize,
                         GuiNotificationTarget target)
Creates a double property.

Parameters:
name - the name of this property
description - of this property (to be displayed as a tool tip)
defaultValue - the default value of this property
minValue - the minimal value that can be assigned to this property
maxValue - the maximal value that can be assigned to this property
stepSize - the distance between two adjacent values
target - the object to be notified as soon the state of this property changes

GUIPropertyDouble

public GUIPropertyDouble(java.lang.String name,
                         java.lang.String description,
                         double defaultValue,
                         double stepSize,
                         GuiNotificationTarget target)
Creates a double property without a minimal or maximal value.

Parameters:
name - the name of this property
description - of this property (to be displayed as a tool tip)
defaultValue - the default value of this property
stepSize - the distance between two adjacent values
target - the object to be notified as soon the state of this property changes
Method Detail

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent e)
The method automatically invoked when changing the spinner status.

Specified by:
stateChanged in interface javax.swing.event.ChangeListener
Parameters:
e - The passed change event (not used).

getValue

public double getValue()
The method to be invoked when the value of this property is to be used.

Returns:
the current value of this property

setValue

public void setValue(double value)
Sets the value of this property

Parameters:
value - double

getPropertyPanel

public javax.swing.JPanel getPropertyPanel()
Creates GUI panel containg this property, ready to display in some settings dialog.

Returns:
the graphical panel representing this property