Class ALcyShapeCustomizerPanel
- All Implemented Interfaces:
ILcdUndoableSource
,ILcyCustomizerPanel
,ILcdPropertyChangeSource
,ImageObserver
,MenuContainer
,Serializable
,Accessible
Abstract class that facilitates the implementation of ILcyCustomizerPanel
for
shapes. This class can only be used to edit instances of
TLcyShapeContext
.
- Since:
- 8.2
- 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
ALcyShapeCustomizerPanel
(ILcdFilter aShapeContextFilter, String aName) Constructs a newALcyGeometryCustomizerPanel
. -
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 aTLcyShapeContext
usingsetObject
.protected ILcdModel
getModel()
Convenience method to return theILcdModel
that was set by setting aTLcyShapeContext
usingsetObject
.protected ILcdShape
getShape()
Convenience method to return the geometry (e.g. polyline) that was set by setting aTLcyShapeContext
usingsetObject
.protected final TLcyShapeContext
Returns theTLcyShapeContext
object that was set on this customizer.protected ILcdView
getView()
Convenience method to return theILcdView
that was set by setting aTLcyShapeContext
usingsetObject
.protected boolean
Returns whether the panel is editable or not.protected void
CallsupdateCustomizerPanelFromObject( isPanelEditable() )
.protected abstract void
updateCustomizerPanelFromObject
(boolean aPanelEditable) This means updating the user interface state according to the current state of the setTLcyShapeContext
.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, setObject, 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
-
ALcyShapeCustomizerPanel
Constructs a newALcyGeometryCustomizerPanel
.- Parameters:
aShapeContextFilter
- TheILcdFilter
that defines which objects are accepted bycanSetObject
andsetObject
. See alsoALcyCustomizerPanel.setObjectFilter(com.luciad.util.ILcdFilter)
setPaintState}.aName
- The name for thisALcyGeometryCustomizerPanel
, seeILcyCustomizerPanel.NAME
.
-
-
Method Details
-
getView
Convenience method to return theILcdView
that was set by setting aTLcyShapeContext
usingsetObject
.- Returns:
- Null if no
TLcyShapeContext
is set, theILcdView
related to that context object otherwise.
-
getLayer
Convenience method to return theILcdLayer
that was set by setting aTLcyShapeContext
usingsetObject
.- Returns:
- Null if no
TLcyShapeContext
is set, theILcdLayer
related to that context object otherwise.
-
getModel
Convenience method to return theILcdModel
that was set by setting aTLcyShapeContext
usingsetObject
.- Returns:
- Null if no
TLcyShapeContext
is set, theILcdModel
related to that context object otherwise.
-
getShape
Convenience method to return the geometry (e.g. polyline) that was set by setting aTLcyShapeContext
usingsetObject
.- Returns:
- Null if no
TLcyShapeContext
object is set, the geometry (e.g., polyline) related to that context object otherwise.
-
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.
-
getShapeContext
Returns the
TLcyShapeContext
object that was set on this customizer. This context object can be used to retrieve the geometry, layer and view in which the geometry is shown.- Returns:
- The set
TLcyShapeContext
. This object can benull
when this customizer was deinitialized (withsetObject(null)
).
-
updateCustomizerPanelFromObject
protected void updateCustomizerPanelFromObject()Calls
updateCustomizerPanelFromObject( isPanelEditable() )
.Updates the user interface state according to the current state of the set
Object
. 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 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 theILcdLayer
(getLabel()
) should be put in the text field.- 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 setTLcyShapeContext
. 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 aTLcyShapeContext
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 to redefine when the panel is editable or not.- Returns:
True
if the panel should be editable,false
otherwise.
-