Package com.luciad.lucy.gui.customizer
Class ALcyModelCustomizerPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.luciad.lucy.gui.customizer.ALcyCustomizerPanel
com.luciad.lucy.gui.customizer.ALcyModelCustomizerPanel
- All Implemented Interfaces:
ILcdUndoableSource
,ILcyCustomizerPanel
,ILcdPropertyChangeSource
,ImageObserver
,MenuContainer
,Serializable
,Accessible
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.
- See Also:
-
Nested Class Summary
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
Fields inherited from class javax.swing.JComponent
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
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface com.luciad.lucy.gui.customizer.ILcyCustomizerPanel
HINT_PINNED, HORIZONTAL_ALIGNMENT_HINT, LONG_DESCRIPTION, NAME, SHORT_DESCRIPTION, SMALL_ICON
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ModifierConstructorDescriptionprotected
ALcyModelCustomizerPanel
(ILcdFilter aModelContextFilter, String aName) -
Method Summary
Modifier and TypeMethodDescriptionboolean
canSetObject
(Object aObject) Returnstrue
if and only ifsetObject
would not throw anIllegalArgumentException
.protected ILcdLayer
getLayer()
Convenience method to return theILcdLayer
that was set by setting aTLcyModelContext
usingsetObject
.protected ILcdModel
getModel()
Convenience method to return theILcdModel
that was set by setting aTLcyModelContext
usingsetObject
.protected final TLcyModelContext
Returns theTLcyModelContext
object that was set on this customizer.protected ILcdView
getView()
Convenience method to return theILcdView
that was set by setting aTLcyModelContext
usingsetObject
.protected boolean
Returns whether the panel is editable or not.void
Set the object to be edited.protected void
protected abstract void
updateCustomizerPanelFromObject
(boolean aPanelEditable) This means updating the user interface state according to the current state of the setObject
.Methods inherited from class com.luciad.lucy.gui.customizer.ALcyCustomizerPanel
addUndoableListener, applyChanges, applyChangesImpl, cancelChanges, fireUndoableHappened, getObject, getObjectFilter, getValue, isChangesPending, isChangesValid, putValue, removeUndoableListener, setChangesPending, setChangesValid, setName, setObjectFilter
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, 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
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, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.luciad.util.ILcdPropertyChangeSource
addPropertyChangeListener, removePropertyChangeListener
Methods inherited from interface com.luciad.lucy.gui.customizer.ILcyCustomizerPanel
addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener
-
Constructor Details
-
ALcyModelCustomizerPanel
-
-
Method Details
-
getView
Convenience method to return theILcdView
that was set by setting aTLcyModelContext
usingsetObject
.- Returns:
- Null if no
TLcyModelContext
is set, theILcdView
related to that context object otherwise.
-
getLayer
Convenience method to return theILcdLayer
that was set by setting aTLcyModelContext
usingsetObject
.- Returns:
- Null if no
TLcyModelContext
is set, theILcdLayer
related to that context object otherwise.
-
getModel
Convenience method to return theILcdModel
that was set by setting aTLcyModelContext
usingsetObject
.- Returns:
- Null if no
TLcyModelContext
is set, theILcdModel
related to that context object otherwise.
-
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.- Returns:
- The set
TLcyModelContext
. This object can benull
when this customizer was deinitialized (withsetObject(null)
).
-
canSetObject
Description copied from class:ALcyCustomizerPanel
Returnstrue
if and only ifsetObject
would not throw anIllegalArgumentException
. Only acceptsnull
or objects that pass the object filter. If the filter itself isnull
, all objects are accepted.- Specified by:
canSetObject
in interfaceILcyCustomizerPanel
- Overrides:
canSetObject
in classALcyCustomizerPanel
- Parameters:
aObject
- The object to check.- Returns:
true
ifsetObject
would accept the object,false
if it would throw an exception.
-
setObject
Set the object to be edited. This method should be called before theILcyCustomizerPanel
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 ofnull
is set to inform thisILcyCustomizerPanel
to (temporarily) deinitialize itself, it allows to perform cleanup tasks, such as removing listeners. InvokesALcyCustomizerPanel.updateCustomizerPanelFromObject()
to update the user interface.Also adds a listener to the layer of the
TLcyModelContext
object that callsupdateCustomizerPanelFromObject
when the"editable"
property of that layer changes.- Specified by:
setObject
in interfaceILcyCustomizerPanel
- Overrides:
setObject
in classALcyCustomizerPanel
- Parameters:
aObject
- The object to be customized, ornull
to inform that editing is temporarily disabled.
-
updateCustomizerPanelFromObject
protected void updateCustomizerPanelFromObject()- Specified by:
updateCustomizerPanelFromObject
in classALcyCustomizerPanel
-
updateCustomizerPanelFromObject
protected abstract void updateCustomizerPanelFromObject(boolean aPanelEditable) This means updating the user interface state according to the current state of the setObject
. This method is called whenever a new object is set usingsetObject
, or when the changes are canceled usingcancelChanges
. It does not need to take care of"changesPending"
. Consider for example that aTLcyLayerContext
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 theILcdLayer
(getLabel()
) should be put in the text field.- Parameters:
aPanelEditable
-True
if the panel should be editable,false
otherwise. SeeisPanelEditable()
for more information.
-
isPanelEditable
protected boolean isPanelEditable()Returns whether the panel is editable or not. Editable means the values it displays can be modified; for example, the content of a text field can be adapted. Not editable means the values it displays cannot be adapted; for example, a text field should be disabled. The default implementation returns
orgetLayer().isEditableSupported() && getLayer().isEditable()
true
ifgetLayer()
isnull
. Override this method redefine when the panel is editable or not.- Returns:
True
if the panel should be editable,false
otherwise.
-