com.threerings.editor.swing.editors
Class PanelArrayListEditor

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 com.samskivert.swing.CollapsiblePanel
                      extended by com.threerings.editor.swing.BasePropertyEditor
                          extended by com.threerings.editor.swing.PropertyEditor
                              extended by com.threerings.editor.swing.editors.ArrayListEditor
                                  extended by com.threerings.editor.swing.editors.PanelArrayListEditor
All Implemented Interfaces:
ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible
Direct Known Subclasses:
EnumPanelArrayListEditor, ObjectPanelArrayListEditor

public abstract class PanelArrayListEditor
extends ArrayListEditor

An editor for arrays or lists of objects. Uses embedded panels.

See Also:
Serialized Form

Nested Class Summary
protected  class PanelArrayListEditor.EntryPanel
          A panel for a single entry.
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected static Icon _deleteIcon
          Entry panel icons.
protected static Icon _lowerIcon
          Entry panel icons.
protected  JPanel _panels
          The container holding the panels.
protected static Icon _raiseIcon
          Entry panel icons.
 
Fields inherited from class com.threerings.editor.swing.editors.ArrayListEditor
_add, _max, _min
 
Fields inherited from class com.threerings.editor.swing.PropertyEditor
_classesByName, _classesByType, _ctx, _lineage, _object, _property
 
Fields inherited from class com.threerings.editor.swing.BasePropertyEditor
_collapseIcon, _expandIcon, _highlight, _highlighted, _highlightIcon, _msgmgr, _msgs, BASE_BACKGROUND, DEFAULT_BACKGROUND, PANEL_BUTTON_SIZE, SHADE_DECREMENT
 
Fields inherited from class com.samskivert.swing.CollapsiblePanel
_content, _downIcon, _trigger, _upIcon
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, 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
PanelArrayListEditor()
           
 
Method Summary
protected abstract  void addPanel(Object value)
          Adds an object panel for the specified entry.
protected  void addValue(Object value)
          Adds an object to the end of the list.
protected  void didInit()
          Override to perform custom initialization.
protected  String getMousePath(Point pt)
          Returns the path of the property under the mouse cursor relative to this property.
 void makeVisible(int idx)
          Ensures that the specified index is visible.
protected  void removeValue(int idx)
          Removes the element at the specified index.
protected  void swapValues(int idx1, int idx2)
          Swaps two values in the list.
 void update()
          Updates the state of the editor from the object.
protected abstract  void updatePanel(PanelArrayListEditor.EntryPanel panel, Object value)
          Update the entry panel.
protected  void updatePanels()
          Updates the panels' button states and revalidates.
 
Methods inherited from class com.threerings.editor.swing.editors.ArrayListEditor
actionPerformed, copyValue, fireStateChanged, getActionLabel, getActionLabel, getLength, getValue, setValue
 
Methods inherited from class com.threerings.editor.swing.PropertyEditor
createEditor, getDefaultInstance, getMaximum, getMaxSize, getMinimum, getMinSize, getMode, getObject, getProperty, getPropertyColor, getPropertyLabel, getScale, getStep, getUnits, init, isTableCellType, registerEditorClass, registerEditorClass, setObject
 
Methods inherited from class com.threerings.editor.swing.BasePropertyEditor
addChangeListener, copyPropertyPath, createButton, darkenColor, fireStateChanged, getBackgroundColor, getColor, getColor, getColor, getDarkerBackground, getLabel, getLabel, getLabel, getLabel, getLabels, getLabels, getLabels, getMousePath, getPropertyColor, loadIcon, makeCollapsible, removeChangeListener, updateBorder
 
Methods inherited from class com.samskivert.swing.CollapsiblePanel
getContent, isCollapsed, setCollapsed, setGap, setTrigger, setTriggerContainer, setTriggerContainer, setTriggerContainer
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, 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, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, 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, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, 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, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_panels

protected JPanel _panels
The container holding the panels.


_raiseIcon

protected static Icon _raiseIcon
Entry panel icons.


_lowerIcon

protected static Icon _lowerIcon
Entry panel icons.


_deleteIcon

protected static Icon _deleteIcon
Entry panel icons.

Constructor Detail

PanelArrayListEditor

public PanelArrayListEditor()
Method Detail

update

public void update()
Description copied from class: PropertyEditor
Updates the state of the editor from the object.

Specified by:
update in class PropertyEditor

makeVisible

public void makeVisible(int idx)
Description copied from class: ArrayListEditor
Ensures that the specified index is visible.

Specified by:
makeVisible in class ArrayListEditor

didInit

protected void didInit()
Description copied from class: PropertyEditor
Override to perform custom initialization.

Overrides:
didInit in class ArrayListEditor

getMousePath

protected String getMousePath(Point pt)
Description copied from class: BasePropertyEditor
Returns the path of the property under the mouse cursor relative to this property.

Overrides:
getMousePath in class BasePropertyEditor
Parameters:
pt - the location of the mouse cursor.

addValue

protected void addValue(Object value)
Description copied from class: ArrayListEditor
Adds an object to the end of the list.

Overrides:
addValue in class ArrayListEditor

removeValue

protected void removeValue(int idx)
Description copied from class: ArrayListEditor
Removes the element at the specified index.

Overrides:
removeValue in class ArrayListEditor

swapValues

protected void swapValues(int idx1,
                          int idx2)
Swaps two values in the list.


addPanel

protected abstract void addPanel(Object value)
Adds an object panel for the specified entry.


updatePanels

protected void updatePanels()
Updates the panels' button states and revalidates.


updatePanel

protected abstract void updatePanel(PanelArrayListEditor.EntryPanel panel,
                                    Object value)
Update the entry panel.