maspack.widgets
Class CompositePropertyPanel

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.LabeledPanel
                          extended by maspack.widgets.CompositePropertyPanel
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, ValueChangeListener

public class CompositePropertyPanel
extends LabeledPanel
implements ValueChangeListener

A composite property panel is a widget that (a) exposes all the properties of a CompositeProperty in a single panel, and (b) allows the type of CompositeProperty itself to be selected by a selection widget. When the type changes, the panel's widgets are changed to reflect the new properties.

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 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
CompositePropertyPanel()
           
CompositePropertyPanel(java.lang.String name, boolean nullAllowed)
          Create a new CompositePropertyPanel.
CompositePropertyPanel(java.lang.String name, Property prop)
          Create a new CompositePropertyPanel.
 
Method Summary
 void addGlobalValueChangeListener(ValueChangeListener l)
           
 boolean containsWidget(java.lang.Object obj)
           
 void dispose()
           
 void fireGlobalValueChangeListeners(ValueChangeEvent vce)
           
 PropertyList getAllPropertyInfo()
          Returns a list giving static information about all properties exported by this object.
 PropertyInfo.ExpandState getExpandState()
           
 Property getProperty()
          Returns the property handle for thecomposite property.
 void initializeSelection(java.lang.Class<?>[] selectableClasses, Property prop)
           
 void initializeSelection(Property prop)
           
 void removeGlobalValueChangeListener(ValueChangeListener l)
           
 void setExpandState(PropertyInfo.ExpandState state)
           
 void setProperty(Property prop)
          Sets the property handle for the composite property.
 void updateWidgetValues(boolean updateFromSource)
          Updates the current set of widgets in this panel so that their values reflect the underlying property values.
 void valueChange(ValueChangeEvent e)
          Called when the composite property type is changed via the composite property type selector.
 
Methods inherited from class maspack.widgets.LabeledPanel
getLabel, getLabelSpacing, getMainComponent, getPreferredLabelSpacing, setLabelSpacing
 
Methods inherited from class maspack.widgets.LabeledComponentBase
actionPerformed, getActions, getBackgroundColor, getLabelFontColor, getLabelText, getLeftInset, getProperty, isSelected, setBackgroundColor, setLabelFontColor, setLabelText, 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, 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, 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

CompositePropertyPanel

public CompositePropertyPanel()

CompositePropertyPanel

public CompositePropertyPanel(java.lang.String name,
                              boolean nullAllowed)
Create a new CompositePropertyPanel.

Parameters:
name - name for the composite property type selector field
nullAllowed - if true, indicates that the composite property is allowed to assume null values.

CompositePropertyPanel

public CompositePropertyPanel(java.lang.String name,
                              Property prop)
Create a new CompositePropertyPanel.

Parameters:
name - name for the composite property type selector field
prop - property handle used to access the composite property itself.
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 LabeledComponentBase
Returns:
static information for all exported properties

getExpandState

public PropertyInfo.ExpandState getExpandState()

setExpandState

public void setExpandState(PropertyInfo.ExpandState state)

initializeSelection

public void initializeSelection(Property prop)

initializeSelection

public void initializeSelection(java.lang.Class<?>[] selectableClasses,
                                Property prop)

setProperty

public void setProperty(Property prop)
Sets the property handle for the composite property.


getProperty

public Property getProperty()
Returns the property handle for thecomposite property.


valueChange

public void valueChange(ValueChangeEvent e)
Called when the composite property type is changed via the composite property type selector.

Specified by:
valueChange in interface ValueChangeListener

updateWidgetValues

public void updateWidgetValues(boolean updateFromSource)
Updates the current set of widgets in this panel so that their values reflect the underlying property values.

Overrides:
updateWidgetValues in class LabeledPanel
Parameters:
updateFromSource - if false, do not update the values of EditingProperties from their underlying source component(s).

addGlobalValueChangeListener

public void addGlobalValueChangeListener(ValueChangeListener l)

removeGlobalValueChangeListener

public void removeGlobalValueChangeListener(ValueChangeListener l)

fireGlobalValueChangeListeners

public void fireGlobalValueChangeListeners(ValueChangeEvent vce)

containsWidget

public boolean containsWidget(java.lang.Object obj)

dispose

public void dispose()
Specified by:
dispose in interface Disposable
Overrides:
dispose in class LabeledComponentBase