maspack.widgets
Class PropertyPanel

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.LabeledComponentPanel
                      extended by maspack.widgets.PropertyPanel
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.PopupMenuListener, Disposable, HasAlignableLabels
Direct Known Subclasses:
ExpandablePropertyPanel, RenderPropsPanel

public class PropertyPanel
extends LabeledComponentPanel

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 boolean defaultExpandable
           
static boolean defaultOrganize
           
 
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
PropertyPanel()
           
PropertyPanel(HasProperties host)
           
PropertyPanel(java.lang.Iterable<? extends Property> props)
           
 
Method Summary
 void addGlobalValueChangeListener(ValueChangeListener l)
           
 void addPropertyWidget(Property prop, LabeledComponentBase widget)
           
 void addPropertyWidget(Property prop, LabeledComponentBase widget, int idx)
           
static void addValueChangeListener(LabeledControl ctrl, ValueChangeListener l)
           
 java.awt.Component addWidget(java.awt.Component comp, int idx)
           
 LabeledComponentBase addWidget(Property prop)
           
 LabeledComponentBase addWidget(Property prop, double min, double max)
           
 void addWidgets(java.lang.Iterable<?> items)
           
 void addWidgets(java.lang.Iterable<?> items, boolean organized, boolean expandable)
          Add widgets to the panel.
 void addWidgets(java.util.List<java.awt.Component> widgets)
           
 java.util.Collection<ValueChangeListener> getGlobalValueChangeListeners()
           
 LabeledComponentBase getPropertyWidget(java.lang.String propName)
           
 java.lang.Object getSynchronizeObject()
           
 Property getWidgetProperty(LabeledComponentBase comp)
           
 void processPropertyWidget(Property prop, LabeledComponentBase widget)
           
 java.awt.Component[] removeAllWidgets()
           
 boolean removeGlobalValueChangeListener(ValueChangeListener l)
           
 boolean removeWidget(java.awt.Component comp)
           
 void setSynchronizeObject(java.lang.Object syncObj)
           
 void updateWidgetValues()
           
 void updateWidgetValues(boolean updateFromSource)
          Update the widgets in this panel so that they reflect the values of the underlying properties.
 
Methods inherited from class maspack.widgets.LabeledComponentPanel
actionPerformed, addSelectionListener, addWidget, addWidget, areWidgetsDraggable, areWidgetsSelectable, deselectAllWidgets, deselectWidget, dispose, findWidget, getComponentIndex, getLabelSpacing, getLeftInsetToTop, getPreferredLabelSpacing, getSelectedWidgets, getSelectionListeners, getSpacing, getTopPanel, getWidget, getWidgets, isStretchable, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, numSelectedWidgets, numWidgets, popupMenuCanceled, popupMenuWillBecomeInvisible, popupMenuWillBecomeVisible, removeSelectionListener, removeWidget, repackContainingWindow, resetLabelAlignment, selectWidget, setLabelSpacing, setSpacing, setStretchable, setWidgetsDraggable, setWidgetsSelectable
 
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
 

Field Detail

defaultOrganize

public static boolean defaultOrganize

defaultExpandable

public static boolean defaultExpandable
Constructor Detail

PropertyPanel

public PropertyPanel()

PropertyPanel

public PropertyPanel(java.lang.Iterable<? extends Property> props)

PropertyPanel

public PropertyPanel(HasProperties host)
Method Detail

addWidgets

public void addWidgets(java.lang.Iterable<?> items)

addWidgets

public void addWidgets(java.lang.Iterable<?> items,
                       boolean organized,
                       boolean expandable)
Add widgets to the panel. If organize is true, then groups properties by their associated "groups" if any.

Parameters:
items -
organized -
expandable -

addWidgets

public void addWidgets(java.util.List<java.awt.Component> widgets)

addWidget

public java.awt.Component addWidget(java.awt.Component comp,
                                    int idx)
Overrides:
addWidget in class LabeledComponentPanel

addPropertyWidget

public void addPropertyWidget(Property prop,
                              LabeledComponentBase widget)

processPropertyWidget

public void processPropertyWidget(Property prop,
                                  LabeledComponentBase widget)

addPropertyWidget

public void addPropertyWidget(Property prop,
                              LabeledComponentBase widget,
                              int idx)

getPropertyWidget

public LabeledComponentBase getPropertyWidget(java.lang.String propName)

addWidget

public LabeledComponentBase addWidget(Property prop,
                                      double min,
                                      double max)

addWidget

public LabeledComponentBase addWidget(Property prop)

removeWidget

public boolean removeWidget(java.awt.Component comp)
Overrides:
removeWidget in class LabeledComponentPanel

removeAllWidgets

public java.awt.Component[] removeAllWidgets()
Overrides:
removeAllWidgets in class LabeledComponentPanel

updateWidgetValues

public void updateWidgetValues()

updateWidgetValues

public void updateWidgetValues(boolean updateFromSource)
Update the widgets in this panel so that they reflect the values of the underlying properties.

Underlying properties which are instances of EditingProperty will first normally update their own values from their source component(s). In some cases it may be desirable to suppress this behavior, which can be done by setting updateFromSource to false.

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

getWidgetProperty

public Property getWidgetProperty(LabeledComponentBase comp)

addValueChangeListener

public static void addValueChangeListener(LabeledControl ctrl,
                                          ValueChangeListener l)

addGlobalValueChangeListener

public void addGlobalValueChangeListener(ValueChangeListener l)

removeGlobalValueChangeListener

public boolean removeGlobalValueChangeListener(ValueChangeListener l)

getGlobalValueChangeListeners

public java.util.Collection<ValueChangeListener> getGlobalValueChangeListeners()

getSynchronizeObject

public java.lang.Object getSynchronizeObject()

setSynchronizeObject

public void setSynchronizeObject(java.lang.Object syncObj)