artisynth.core.gui.widgets
Class ComponentPropertyField

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 artisynth.core.gui.widgets.ComponentPropertyField
All Implemented Interfaces:
SelectionListener, 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:
ComponentField, PropertyField

public abstract class ComponentPropertyField
extends LabeledTextField
implements SelectionListener

Base class for ComponentField, which selects component paths, and PropertyFields, which manages property paths. The two classes are almost identical except that the latter also contains a property selection field. The code for managing the property selection field is contained in this base class, because of it's tight coupling with the component text field.

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
 
Fields inherited from class maspack.widgets.LabeledTextField
MAX_COLUMNS, myProps
 
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
ComponentPropertyField(java.lang.String labelText, int ncols, Main main)
          Creates a ComponentPropertyField with specified label text.
 
Method Summary
 void dispose()
          Releases all the resources held by this control.
 HasProperties getHost()
           
 boolean getIgnoreDeselection()
          Returns true if deselection events are ignored.
 java.lang.String getLeafPropName()
           
 ModelComponent getModelComponent()
           
 Property getProperty()
           
 PropertyInfo getPropertyInfo()
           
 java.lang.String getPropertyPath()
           
 StringSelector getPropertySelector()
           
 java.lang.Object getValueForHost()
           
 boolean isNumeric(PropertyInfo info)
           
 boolean isSelectionManagementEnabled()
          Returns true if selection management is enabled.
 void selectionChanged(SelectionEvent e)
           
 void setIgnoreDeselection(boolean ignore)
          Sets this control to ignore deselection events.
 void setSelectionManagementEnabled(boolean enable)
          Enables the selection manager.
 
Methods inherited from class maspack.widgets.LabeledTextField
getAllPropertyInfo, getColumns, getDefaultFormat, getFormat, getFormatRange, getText, getTextField, lastEntryWasAccepted, setColumns, setFormat, setFormat
 
Methods inherited from class maspack.widgets.LabeledControl
addValueChangeListener, addValueCheckListener, 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
 

Constructor Detail

ComponentPropertyField

public ComponentPropertyField(java.lang.String labelText,
                              int ncols,
                              Main main)
Creates a ComponentPropertyField with specified label text.

Parameters:
labelText - text for the control label
ncols - approximate width of the text field in columns
Method Detail

setIgnoreDeselection

public void setIgnoreDeselection(boolean ignore)
Sets this control to ignore deselection events. This means that any selected component/property will persist until the next selection event, or the contents of the text box are changed.

Parameters:
ignore - if true, ignore deselection events

getIgnoreDeselection

public boolean getIgnoreDeselection()
Returns true if deselection events are ignored.

Returns:
true if deselection events are ignored.

getLeafPropName

public java.lang.String getLeafPropName()

getHost

public HasProperties getHost()

getValueForHost

public java.lang.Object getValueForHost()

getModelComponent

public ModelComponent getModelComponent()

getProperty

public Property getProperty()

getPropertyInfo

public PropertyInfo getPropertyInfo()

getPropertyPath

public java.lang.String getPropertyPath()

dispose

public void dispose()
Description copied from class: LabeledControl
Releases all the resources held by this control.

Specified by:
dispose in interface Disposable
Overrides:
dispose in class LabeledControl

selectionChanged

public void selectionChanged(SelectionEvent e)
Specified by:
selectionChanged in interface SelectionListener

getPropertySelector

public StringSelector getPropertySelector()

isNumeric

public boolean isNumeric(PropertyInfo info)

setSelectionManagementEnabled

public void setSelectionManagementEnabled(boolean enable)
Enables the selection manager. If the selection manager is enabled, then the selection manager and this widget are tied together: set a new ModelComponent value for this widget will cause the component to be selected, and selecting a ModelComponent in the selection manager will cause it to set as a value in this widget.

Parameters:
enable - if true, enables selection management

isSelectionManagementEnabled

public boolean isSelectionManagementEnabled()
Returns true if selection management is enabled.

Returns:
true if selection management is enabled