maspack.widgets
Class VectorField

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 maspack.widgets.LabeledComponentBase
                      extended by maspack.widgets.LabeledComponent
                          extended by maspack.widgets.LabeledControl
                              extended by maspack.widgets.LabeledTextField
                                  extended by maspack.widgets.VectorField
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, HasProperties, Disposable, HasAlignableLabels, LabeledWidget
Direct Known Subclasses:
RectangleField, SymmetricMatrix3dField, VariableVectorField

public class VectorField
extends LabeledTextField

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
static PropertyList myProps
           
 
Fields inherited from class maspack.widgets.LabeledTextField
MAX_COLUMNS
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
VectorField()
          Creates a default VectorField with an empty label and a vector size of one.
VectorField(java.lang.String labelText, int vectorSize)
          Creates a new VectorField with specified label text and number of elements.
VectorField(java.lang.String labelText, Vector initialValue, java.lang.String fmtStr)
          Creates a new VectorField with specified label text and initial value.
 
Method Summary
 PropertyList getAllPropertyInfo()
          Returns a list giving static information about all properties exported by this object.
 double getMaximum()
          Gets the maximum value associated with this control.
 double getMinimum()
          Gets the minimum value associated with this control.
 NumericInterval getRange()
           
 Vector getResultHolder()
          Returns the current result holder for this control.
 double getValue(int idx)
           
 int getVectorSize()
          Returns the size of the vector value associated with this control.
 VectorNd getVectorValue()
           
 void setFormat(NumberFormat fmt)
          Directly sets the formatter used used to convert numeric values into text.
 void setFormat(java.lang.String fmtStr)
          Sets the formatter used to convert numeric values into text.
 void setGUIVoidEnabled(boolean enable)
          
 void setRange(double min, double max)
          Sets the minimum and maximum values associated with this control.
 void setRange(NumericInterval range)
           
 void setResultHolder(Vector holder)
          Sets the result holder for this control, into which updated values are copied.
 void setVectorSize(int size)
          Sets the size of the vector associated with this vector field.
 java.lang.Object textToValue(java.lang.String text, BooleanHolder corrected, StringHolder errMsg)
          Parses text that has been received by the text box and returns the associated value.
 
Methods inherited from class maspack.widgets.LabeledTextField
getColumns, getDefaultFormat, getFormat, getFormatRange, getText, getTextField, lastEntryWasAccepted, setColumns
 
Methods inherited from class maspack.widgets.LabeledControl
addValueChangeListener, addValueCheckListener, dispose, getGUIVoidEnabled, getNullValueEnabled, getValue, getValueChangeListeners, getValueCheckListeners, getVoidValueEnabled, isEnabledAll, maskValueChangeListeners, maskValueChecks, removeValueChangeListener, setBackgroundAll, setEnabledAll, setValue, setVoidValueEnabled, valueChangeListenersMasked, valueChecksMasked, valueIsNull, valueIsVoid
 
Methods inherited from class maspack.widgets.LabeledComponent
actionPerformed, addMajorComponent, addMajorComponent, getActions, getLabel, getLabelSpacing, getMainComponent, getMajorComponent, getMaximumSize, getMinimumSize, getPreferredLabelSpacing, getSpacing, indexOfMajor, isLabelStretchable, isStretchable, numMajorComponents, removeMajorComponent, setLabelSpacing, setLabelStretchable, setLabelText, setSpacing, setStretchable
 
Methods inherited from class maspack.widgets.LabeledComponentBase
getBackgroundColor, getLabelFontColor, getLabelText, getLeftInset, getProperty, isSelected, setBackgroundColor, setLabelFontColor, setSelected
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, 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, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface maspack.widgets.LabeledWidget
getToolTipText, setToolTipText
 

Field Detail

myProps

public static PropertyList myProps
Constructor Detail

VectorField

public VectorField()
Creates a default VectorField with an empty label and a vector size of one.


VectorField

public VectorField(java.lang.String labelText,
                   int vectorSize)
Creates a new VectorField with specified label text and number of elements.

Parameters:
labelText - text for the control label
vectorSize - number of elements in the vector

VectorField

public VectorField(java.lang.String labelText,
                   Vector initialValue,
                   java.lang.String fmtStr)
Creates a new VectorField with specified label text and initial value. A format string is provided which specifies how to convert numeric values to text.

Parameters:
labelText - text for the control label
initialValue - initial value for the vector
fmtStr - format string (printf style; see setFormat)
Method Detail

getAllPropertyInfo

public PropertyList getAllPropertyInfo()
Description copied from interface: HasProperties
Returns a list giving static information about all properties exported by this object.

Specified by:
getAllPropertyInfo in interface HasProperties
Overrides:
getAllPropertyInfo in class LabeledTextField
Returns:
static information for all exported properties

getResultHolder

public Vector getResultHolder()
Returns the current result holder for this control.

Returns:
result holder
See Also:
setResultHolder(maspack.matrix.Vector)

setResultHolder

public void setResultHolder(Vector holder)
Sets the result holder for this control, into which updated values are copied. No copying is performed if the result holder is set to null.

Parameters:
holder - new result holder for this control
Throws:
java.lang.IllegalArgumentException - if holder does not have the same size as the vector associated with this control.
See Also:
getResultHolder()

getVectorSize

public int getVectorSize()
Returns the size of the vector value associated with this control.

Returns:
size of this control's vector value.

setVectorSize

public void setVectorSize(int size)
Sets the size of the vector associated with this vector field. Changing the vector size will cause the result holder to be cleared, and the current vector value to be reset to a zero vector of the indicated size. The number of columns in the field will also be reset.

Parameters:
size - new vector size

setFormat

public void setFormat(java.lang.String fmtStr)
Sets the formatter used to convert numeric values into text. The formatter is specified using a C printf style format string. A space is inserted between values. For a description of the format string syntax, see NumberFormat. The format conversion character must be appropriate for floating point values (i.e., one of "eEfgaA").

Overrides:
setFormat in class LabeledTextField
Parameters:
fmtStr - format specification string
See Also:
LabeledTextField.getFormat()

setFormat

public void setFormat(NumberFormat fmt)
Directly sets the formatter used used to convert numeric values into text. The format conversion character must be appropriate for floating point values (i.e., one of "eEfgaA").

Overrides:
setFormat in class LabeledTextField
Parameters:
fmt - numeric formatter
See Also:
LabeledTextField.getFormat(), LabeledTextField.setFormat(String)

getValue

public double getValue(int idx)

getVectorValue

public VectorNd getVectorValue()

getMinimum

public double getMinimum()
Gets the minimum value associated with this control.

Returns:
minimum control value
See Also:
setRange(double, double)

getMaximum

public double getMaximum()
Gets the maximum value associated with this control.

Returns:
maximum control value
See Also:
setRange(double, double)

setRange

public void setRange(double min,
                     double max)
Sets the minimum and maximum values associated with this control.

Parameters:
min - minimum value
max - maximum value
See Also:
getMaximum(), getMinimum()

setRange

public void setRange(NumericInterval range)

getRange

public NumericInterval getRange()

textToValue

public java.lang.Object textToValue(java.lang.String text,
                                    BooleanHolder corrected,
                                    StringHolder errMsg)
Description copied from class: LabeledTextField
Parses text that has been received by the text box and returns the associated value. If the text is malformed, then an IllegalValueException should be thrown with an appropriate error message; this will be caught by the widget and used to produce an error message dialog. If the text generates a value that is then corrected to a legal value (such as clipping an integer to lie within its maximum range), then the boolean value in corrected should be set to true

Parameters:
text - text to generate value for
Returns:
value corresponding to text

setGUIVoidEnabled

public void setGUIVoidEnabled(boolean enable)