EASE.Sensing.Specification
Class EnhancedCombo

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--EASE.Sensing.Specification.EnhancedCombo

public class EnhancedCombo
extends javax.swing.JPanel
implements java.awt.event.ActionListener, CellChangeListener, Constants

Class for special combo that handles parameterizable options.

There are two different modes here, one for setting that something is to be a parameter and another for setting the value of a parameter from something further down the tree.

The objects arguement to the constructor is the values that can be selected. A value Parameter is automatically added.

The otherOptions parameter to the constructor is a vector of Cells that cannot be used as a value in the combo but can be used as a value for an instantiated parameter.

See Also:
Serialized Form

Inner Class Summary
(package private)  class EnhancedCombo.InstantiatePanel
           
(package private)  class EnhancedCombo.ListInstantiatePanel
           
(package private)  class EnhancedCombo.ShowParamsPane
          This class shows parameters for an enhanced combo
 
Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardBinding, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
private  boolean allowFactorySuggestion
           
private  boolean allowFactorySuggestionInstantiated
           
private  javax.swing.JComboBox combo
           
private  Debugger debugger
           
private static java.util.Hashtable factoriesH
           
private  javax.swing.JList factoryList
           
private  boolean factoryOptionsVisible
           
private  FactorySuggestion factorySuggestion
           
private  int fieldWidth
           
private  java.awt.GridBagConstraints gbParamComment
           
private  java.awt.GridBagConstraints gbParamList
           
private  java.awt.GridBagConstraints gbParamName
           
private  java.util.Vector instantiated
           
private static java.util.Vector names
           
private  java.util.Vector objectInfo
           
private  javax.swing.JComboBox objectInfoC
           
private  boolean objectOptionsVisible
           
private  java.util.Vector objects
           
private  java.util.Vector options
           
private  Parameter param
           
private  javax.swing.JTextField paramComment
           
private  boolean paramListVisible
           
private  javax.swing.JTextField paramName
           
private  boolean paramNameVisible
           
private  EnhancedCombo.ShowParamsPane showParamsPane
           
 
Fields inherited from class javax.swing.JPanel
defaultLayout, uiClassID
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, alignmentX, alignmentY, ANCESTOR_USING_BUFFER, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, flags, HAS_FOCUS, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, uiClassID, UNDEFINED_CONDITION, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
EnhancedCombo(java.util.Vector objects, java.util.Vector otherOptions)
           
EnhancedCombo(java.util.Vector objects, java.util.Vector otherOptions, java.util.Vector instantiated)
           
 
Method Summary
(package private)  void ()
           
(package private)  void ()
           
(package private)  void ()
           
(package private)  void ()
           
(package private)  void ()
           
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void allowFactoryParameter(boolean allow)
          Allow or disallow a factorySuggestion option to appear in the main combo.
 void allowFactoryParameterInstantiate(boolean allow)
          Allow or disallow a factorySuggestion option to appear as an option for instantiating parameters.
 void changeObjects(java.util.Vector newObjects)
          Method for changing the objects that are displayed.
private static void createVectorNames(VectorFactorySpecification fv, java.lang.String prefix)
           
private  FactorySpecification getFactoryByName(java.lang.String name)
           
 java.util.Vector getInstantiatedParams()
          If something is returned it is a Vector containing InstantiatedParameter objects with actual Parameters and value Cell objects.
 Cell getSelectedItem()
           
private  void GUISet(java.util.Vector objects, java.util.Vector otherOptions)
           
private  void hideFactoryOptions()
           
private  void hideObjectOptions()
           
 void hideParamList()
           
 void hideParamName()
           
 void notifyChange(Cell c)
           
 void setSelectedIndex(int i)
           
 void setSelectedItem(java.lang.Object sel)
          This sets the selected item of the enhanced combo to be the parameter sel.
private static void setUpFactoryInfo()
           
private  void showFactoryOptions()
           
private  void showObjectOptions()
           
 void showParamList(java.util.Vector params)
           
 void showParamName()
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI, writeObject
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, bindingForKeyStroke, computeVisibleRect, computeVisibleRect, contains, createToolTip, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, keyboardBindings, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyOrientation, countComponents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, nextFocus, paintComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, print, printComponents, printOneComponent, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFocusOwner, setLayout, transferFocus, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, constructComponentName, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

allowFactorySuggestion

private boolean allowFactorySuggestion

allowFactorySuggestionInstantiated

private boolean allowFactorySuggestionInstantiated

factoryList

private javax.swing.JList factoryList

factoriesH

private static java.util.Hashtable factoriesH

names

private static java.util.Vector names

fieldWidth

private final int fieldWidth

objects

private java.util.Vector objects

instantiated

private java.util.Vector instantiated

options

private java.util.Vector options

objectInfo

private java.util.Vector objectInfo

factorySuggestion

private FactorySuggestion factorySuggestion

combo

private javax.swing.JComboBox combo

objectInfoC

private javax.swing.JComboBox objectInfoC

paramName

private javax.swing.JTextField paramName

paramComment

private javax.swing.JTextField paramComment

showParamsPane

private EnhancedCombo.ShowParamsPane showParamsPane

debugger

private Debugger debugger

param

private Parameter param

paramNameVisible

private boolean paramNameVisible

paramListVisible

private boolean paramListVisible

objectOptionsVisible

private boolean objectOptionsVisible

factoryOptionsVisible

private boolean factoryOptionsVisible

gbParamName

private java.awt.GridBagConstraints gbParamName

gbParamComment

private java.awt.GridBagConstraints gbParamComment

gbParamList

private java.awt.GridBagConstraints gbParamList
Constructor Detail

EnhancedCombo

public EnhancedCombo(java.util.Vector objects,
                     java.util.Vector otherOptions)

EnhancedCombo

public EnhancedCombo(java.util.Vector objects,
                     java.util.Vector otherOptions,
                     java.util.Vector instantiated)
Method Detail

GUISet

private void GUISet(java.util.Vector objects,
                    java.util.Vector otherOptions)

setSelectedIndex

public void setSelectedIndex(int i)

getSelectedItem

public Cell getSelectedItem()

getInstantiatedParams

public java.util.Vector getInstantiatedParams()
If something is returned it is a Vector containing InstantiatedParameter objects with actual Parameters and value Cell objects. I.e. as opposed to references.


allowFactoryParameter

public void allowFactoryParameter(boolean allow)
Allow or disallow a factorySuggestion option to appear in the main combo.


allowFactoryParameterInstantiate

public void allowFactoryParameterInstantiate(boolean allow)
Allow or disallow a factorySuggestion option to appear as an option for instantiating parameters.


setSelectedItem

public void setSelectedItem(java.lang.Object sel)
This sets the selected item of the enhanced combo to be the parameter sel.

Four special cases are handled: Parameters, InputData, InputObjects and factory suggestions; as well as the standard case of a Cell.


changeObjects

public void changeObjects(java.util.Vector newObjects)
Method for changing the objects that are displayed.

Previous objects are removed.


actionPerformed

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

showFactoryOptions

private void showFactoryOptions()

hideFactoryOptions

private void hideFactoryOptions()

void ()
Overrides:
in class javax.swing.JPanel

setUpFactoryInfo

private static void setUpFactoryInfo()

createVectorNames

private static void createVectorNames(VectorFactorySpecification fv,
                                      java.lang.String prefix)

getFactoryByName

private FactorySpecification getFactoryByName(java.lang.String name)

showParamName

public void showParamName()

hideParamName

public void hideParamName()

showParamList

public void showParamList(java.util.Vector params)

hideParamList

public void hideParamList()

showObjectOptions

private void showObjectOptions()

hideObjectOptions

private void hideObjectOptions()

notifyChange

public void notifyChange(Cell c)
Specified by:
notifyChange in interface CellChangeListener

void ()
Overrides:
in class javax.swing.JPanel

void ()
Overrides:
in class javax.swing.JPanel

void ()
Overrides:
in class javax.swing.JPanel

void ()
Overrides:
in class javax.swing.JPanel