de.unihalle.informatik.Alida.dataio.provider.swing.components
Class ALDParametrizedClassConfigWindow

java.lang.Object
  extended by de.unihalle.informatik.Alida.dataio.provider.swing.events.ALDSwingValueChangeReporter
      extended by de.unihalle.informatik.Alida.dataio.provider.swing.components.ALDParametrizedClassConfigWindow
All Implemented Interfaces:
ALDSwingValueChangeListener, java.awt.event.ActionListener, java.util.EventListener

public class ALDParametrizedClassConfigWindow
extends ALDSwingValueChangeReporter
implements java.awt.event.ActionListener, ALDSwingValueChangeListener

Configuration window for parametrized class objects.

Author:
moeller

Field Summary
private  java.lang.String className
          Name of parametrized class to configure.
private  Parameter.ExpertMode displayMode
          Mode for displaying parameters.
private  boolean displayOnly
          Flag to indicate if editing is allowed or only display is requested.
private  int frameWidth
          Fixed width of window.
private  javax.swing.JPanel mainPanel
          Main panel of main frame.
private  java.lang.Class<?> myclass
          Parametrized class to configure.
private  java.lang.Object myObj
          Object to configure associated with window.
private  java.util.LinkedList<ALDParameterDescriptor> paramDescrips
          Listed of associated parametrized class parameters.
private  ALDParameterPanel parameterPanel
          Parameter panel.
private  javax.swing.JFrame window
          Main configuration window.
 
Fields inherited from class de.unihalle.informatik.Alida.dataio.provider.swing.events.ALDSwingValueChangeReporter
listenerList
 
Constructor Summary
ALDParametrizedClassConfigWindow(java.lang.Class<?> c)
          Default constructor.
ALDParametrizedClassConfigWindow(java.lang.Object obj)
          Default constructor.
ALDParametrizedClassConfigWindow(java.lang.Object obj, boolean noEdit)
          Default constructor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
private  void buildWindow()
          Generates the window.
 void disableComponent()
          Disable component to prohibit value changes.
 void enableComponent()
          Enable component to allow for value changes.
 void handleValueChangeEvent(ALDSwingValueChangeEvent event)
          Method which is called on event occurence.
 java.lang.Object readData(java.lang.reflect.Field field, java.lang.Class<?> cl)
          Extracts current parametrized class configuration.
 void setDisplayOnly(boolean b)
          Enable or display parameter editing.
 void setEditable(boolean f)
          Disable or enable the elements in the window for editing.
 void setValue(java.lang.Object obj)
          Update parameter values in GUI.
 void setVisible(boolean b)
          Show or hide the window.
 
Methods inherited from class de.unihalle.informatik.Alida.dataio.provider.swing.events.ALDSwingValueChangeReporter
addValueChangeEventListener, fireALDSwingValueChangeEvent, removeValueChangeEventListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

className

private java.lang.String className
Name of parametrized class to configure.


displayMode

private Parameter.ExpertMode displayMode
Mode for displaying parameters.


displayOnly

private boolean displayOnly
Flag to indicate if editing is allowed or only display is requested.


frameWidth

private final int frameWidth
Fixed width of window.

See Also:
Constant Field Values

mainPanel

private javax.swing.JPanel mainPanel
Main panel of main frame.


myclass

private java.lang.Class<?> myclass
Parametrized class to configure.


myObj

private java.lang.Object myObj
Object to configure associated with window.


paramDescrips

private java.util.LinkedList<ALDParameterDescriptor> paramDescrips
Listed of associated parametrized class parameters.


parameterPanel

private ALDParameterPanel parameterPanel
Parameter panel.


window

private javax.swing.JFrame window
Main configuration window.

Constructor Detail

ALDParametrizedClassConfigWindow

public ALDParametrizedClassConfigWindow(java.lang.Class<?> c)
Default constructor.

Parameters:
c - Class associated with this window.

ALDParametrizedClassConfigWindow

public ALDParametrizedClassConfigWindow(java.lang.Object obj)
Default constructor.

Parameters:
obj - Object associated with this window.

ALDParametrizedClassConfigWindow

public ALDParametrizedClassConfigWindow(java.lang.Object obj,
                                        boolean noEdit)
Default constructor.

Parameters:
obj - Object to configure.
noEdit - If true, no parameter editing is possible.
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

buildWindow

private void buildWindow()
Generates the window.


disableComponent

public void disableComponent()
Disable component to prohibit value changes.


enableComponent

public void enableComponent()
Enable component to allow for value changes.


handleValueChangeEvent

public void handleValueChangeEvent(ALDSwingValueChangeEvent event)
Description copied from interface: ALDSwingValueChangeListener
Method which is called on event occurence.

Specified by:
handleValueChangeEvent in interface ALDSwingValueChangeListener
Parameters:
event - Event to be handled.

readData

public java.lang.Object readData(java.lang.reflect.Field field,
                                 java.lang.Class<?> cl)
                          throws ALDDataIOException
Extracts current parametrized class configuration.

Parameters:
field - Field of parametrized class object.
cl - Desired class.
Returns:
Value of parametrized class object.
Throws:
ALDDataIOException

setDisplayOnly

public void setDisplayOnly(boolean b)
Enable or display parameter editing.

Parameters:
b - If true, editing is disabled, otherwise enabled.

setEditable

public void setEditable(boolean f)
Disable or enable the elements in the window for editing.

Parameters:
f - If true, editing is possible, otherwise not.

setValue

public void setValue(java.lang.Object obj)
              throws ALDDataIOException
Update parameter values in GUI.

Parameters:
obj - New value of parameter object.
Throws:
ALDDataIOException

setVisible

public void setVisible(boolean b)
                throws ALDDataIOProviderException
Show or hide the window.

Parameters:
b - If true, window is displayed, otherwise hidden.
Throws:
ALDDataIOProviderException