public abstract class ALcyModelCustomizerPanel extends ALcyCustomizerPanel
Abstract class that facilitates the implementation of ILcyCustomizerPanel
for
ILcdModel
objects. This class by can be used to edit instances of
TLcyModelContext
objects.
This class adds listeners to the layer so that when the editable property of a layer
changes the updateCustomizerPanelFromObject(boolean)
method is called with the
correct parameter.
JPanel.AccessibleJPanel
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
HINT_PINNED, HORIZONTAL_ALIGNMENT_HINT, LONG_DESCRIPTION, NAME, SHORT_DESCRIPTION, SMALL_ICON
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Modifier | Constructor and Description |
---|---|
protected |
ALcyModelCustomizerPanel(ILcdFilter aModelContextFilter,
String aName) |
Modifier and Type | Method and Description |
---|---|
boolean |
canSetObject(Object aObject)
Returns
true if and only if setObject would not throw an
IllegalArgumentException . |
protected ILcdLayer |
getLayer()
Convenience method to return the
ILcdLayer that was set by setting
a TLcyModelContext using setObject . |
protected ILcdModel |
getModel()
Convenience method to return the
ILcdModel that was set by setting
a TLcyModelContext using setObject . |
protected TLcyModelContext |
getModelContext()
Returns the
TLcyModelContext object that was set on this customizer. |
protected ILcdView |
getView()
Convenience method to return the
ILcdView that was set by setting
a TLcyModelContext using setObject . |
protected boolean |
isPanelEditable()
Returns whether the panel is editable or not.
|
void |
setObject(Object aObject)
Set the object to be edited.
|
protected void |
updateCustomizerPanelFromObject()
|
protected abstract void |
updateCustomizerPanelFromObject(boolean aPanelEditable)
This means updating the user interface state according to the current state of the set
Object . |
addUndoableListener, applyChanges, applyChangesImpl, cancelChanges, fireUndoableHappened, getObject, getObjectFilter, getValue, isChangesPending, isChangesValid, putValue, removeUndoableListener, setChangesPending, setChangesValid, setName, setObjectFilter
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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
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, transferFocusDownCycle, validate, validateTree
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, 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, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener
addPropertyChangeListener, removePropertyChangeListener
protected ALcyModelCustomizerPanel(ILcdFilter aModelContextFilter, String aName)
protected ILcdView getView()
ILcdView
that was set by setting
a TLcyModelContext
using setObject
.TLcyModelContext
is set, the ILcdView
related to that
context object otherwise.protected ILcdLayer getLayer()
ILcdLayer
that was set by setting
a TLcyModelContext
using setObject
.TLcyModelContext
is set, the ILcdLayer
related to that
context object otherwise.protected ILcdModel getModel()
ILcdModel
that was set by setting
a TLcyModelContext
using setObject
.TLcyModelContext
is set, the ILcdModel
related to that
context object otherwise.protected final TLcyModelContext getModelContext()
Returns the TLcyModelContext
object that was set on this customizer. This
context object can be used to retrieve the model and the layer and the view in which
it is contained.
TLcyModelContext
. This object can be null
when this customizer was deinitialized (with setObject(null)
).public boolean canSetObject(Object aObject)
ALcyCustomizerPanel
true
if and only if setObject
would not throw an
IllegalArgumentException
.
Only accepts null
or objects that pass the object filter. If the
filter itself is null
, all objects are accepted.canSetObject
in interface ILcyCustomizerPanel
canSetObject
in class ALcyCustomizerPanel
aObject
- The object to check.true
if setObject
would accept the object, false
if it would throw an exception.public void setObject(Object aObject)
ILcyCustomizerPanel
has been
added to any parent AWT container. It can be called afterwards as well however. In this case the user interface
should update itself to represent the newly set object.
A value of null
is set to inform this ILcyCustomizerPanel
to (temporarily) deinitialize
itself, it allows to perform cleanup tasks, such as removing listeners.
Invokes ALcyCustomizerPanel.updateCustomizerPanelFromObject()
to update the user interface.
Also adds a listener to the layer of the TLcyModelContext
object that calls
updateCustomizerPanelFromObject
when the "editable"
property
of that layer changes.
setObject
in interface ILcyCustomizerPanel
setObject
in class ALcyCustomizerPanel
aObject
- The object to be customized, or null
to inform that editing is temporarily disabled.protected void updateCustomizerPanelFromObject()
updateCustomizerPanelFromObject
in class ALcyCustomizerPanel
protected abstract void updateCustomizerPanelFromObject(boolean aPanelEditable)
Object
. This method is called whenever a new object is set using
setObject
, or when the changes are canceled using cancelChanges
.
It does not need to take care of "changesPending"
.
Consider for example that a TLcyLayerContext
is set and a new label
text is entered in a text field. When this method is called, the new label text should be
cleared and the original label of the ILcdLayer
(getLabel()
)
should be put in the text field.aPanelEditable
- True
if the panel should be editable, false
otherwise.
See isPanelEditable()
for more information.protected boolean isPanelEditable()
getLayer().isEditableSupported() && getLayer().isEditable()
or true
if getLayer()
is null
.
Override this method redefine when the panel is editable or not.True
if the panel should be editable, false
otherwise.