edu.jhu.ece.iacl.jist.pipeline.view.input
Class ParamInputView

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by edu.jhu.ece.iacl.jist.pipeline.view.input.ParamInputView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
ParamBooleanInputView, ParamCollectionInputView, ParamCollectionPipelineInputView, ParamColorInputView, ParamDoubleSliderInputView, ParamFileCollectionInputView, ParamFileInputView, ParamHiddenInputView, ParamInformationInputView, ParamMatrixInputView, ParamMipavDialogInputView, ParamMultiOptionInputView, ParamNumberCollectionInputView, ParamNumberSliderInputView, ParamNumberSpinnerInputView, ParamNumberTextInputView, ParamOptionCollectionInputView, ParamOptionInputView, ParamPointDoubleTextInputView, ParamPointFloatTextInputView, ParamPointSpinnerInputView, ParamTextInputView, ParamURIInputView, ParamVolumeCollectionInputView, ParamVolumeInputView, ParamVolumeURICollectionInputView, ParamVolumeURIInputView, PortListBox

public abstract class ParamInputView
extends javax.swing.JPanel

Generic input view to enter a parameter value. The input view can be extended to support more types of data input. This class should not store any parameter information because this class is not exported as part of the XML. Input views should be atomic in respect that they are only responsible for manipulating one type of parameter. The input view should also not communicate with any other input views and only respond to events generated by GUI components for this input view.

Author:
Blake Lucas
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  java.lang.Object constraints
          The constraints.
static java.awt.Dimension defaultLabelDimension
          The Constant defaultLabelDimension.
static java.awt.Dimension defaultNumberFieldDimension
          The Constant defaultNumberFieldDimension.
static java.awt.Dimension defaultTextFieldDimension
          The Constant defaultTextFieldDimension.
protected  ParamModel param
          The parameter.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ParamInputView(ParamModel param)
          Instantiates a new parameter input view.
 
Method Summary
 void addObserver(ParamViewObserver observer)
          Add observer to listen for changes to parameter values.
protected  void buildLabel(java.lang.String location)
          Initialize label for parameter input.
protected  void buildLabelAndParam(javax.swing.JComponent field)
          Build panel that contains the label and parameter formatted in a standard way.
abstract  void commit()
          Force commitment of GUI input changes to parameter value.
abstract  javax.swing.JComponent getField()
           
 java.lang.Object getLayoutConstraints()
          Get layout constraints.
 java.util.ArrayList<ParamViewObserver> getObservers()
          Get observers
 ParamModel getParameter()
          Get the parameter being viewed.
 void notifyObservers(ParamModel param, ParamInputView view)
          Notify all observers that this parameter has changed in this input view.
 void removeObserver(ParamViewObserver observer)
          Remove observer from list of observers
 void setLayoutConstraints(java.lang.Object obj)
          Set layout constraints.
abstract  void update()
          Update the input view with the current parameter value.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

defaultLabelDimension

public static final java.awt.Dimension defaultLabelDimension
The Constant defaultLabelDimension.


defaultNumberFieldDimension

public static final java.awt.Dimension defaultNumberFieldDimension
The Constant defaultNumberFieldDimension.


defaultTextFieldDimension

public static final java.awt.Dimension defaultTextFieldDimension
The Constant defaultTextFieldDimension.


param

protected ParamModel param
The parameter.


constraints

protected java.lang.Object constraints
The constraints.

Constructor Detail

ParamInputView

public ParamInputView(ParamModel param)
Instantiates a new parameter input view.

Parameters:
param - the parameter
Method Detail

removeObserver

public void removeObserver(ParamViewObserver observer)
Remove observer from list of observers

Parameters:
observer - view observer

getObservers

public java.util.ArrayList<ParamViewObserver> getObservers()
Get observers

Returns:
observers

addObserver

public void addObserver(ParamViewObserver observer)
Add observer to listen for changes to parameter values. This allows the processing dialog to be aware of input changes without knowledge of how the parameter is viewed.

Parameters:
observer - view observer

buildLabel

protected void buildLabel(java.lang.String location)
Initialize label for parameter input. A lot of input views have the same look-and-feel for the label, so this functionality was implemented here. However, extending input views can choose their own look-and-feel for the parameter input view.

Parameters:
location - the location

buildLabelAndParam

protected void buildLabelAndParam(javax.swing.JComponent field)
Build panel that contains the label and parameter formatted in a standard way.

Parameters:
field - the field

commit

public abstract void commit()
Force commitment of GUI input changes to parameter value.


getLayoutConstraints

public java.lang.Object getLayoutConstraints()
Get layout constraints.

Returns:
the layout constraints

getParameter

public ParamModel getParameter()
Get the parameter being viewed.

Returns:
the parameter

notifyObservers

public void notifyObservers(ParamModel param,
                            ParamInputView view)
Notify all observers that this parameter has changed in this input view.

Parameters:
param - parameter
view - input view

setLayoutConstraints

public void setLayoutConstraints(java.lang.Object obj)
Set layout constraints.

Parameters:
obj - the object

update

public abstract void update()
Update the input view with the current parameter value.


getField

public abstract javax.swing.JComponent getField()