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.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested 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_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface com.luciad.lucy.gui.customizer.ILcyCustomizerPanel
HINT_PINNED, HORIZONTAL_ALIGNMENT_HINT, LONG_DESCRIPTION, NAME, SHORT_DESCRIPTION, SMALL_ICONFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedALcyModelCustomizerPanel(ILcdFilter aModelContextFilter, String aName) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanSetObject(Object aObject) Returnstrueif and only ifsetObjectwould not throw anIllegalArgumentException.protected ILcdLayergetLayer()Convenience method to return theILcdLayerthat was set by setting aTLcyModelContextusingsetObject.protected ILcdModelgetModel()Convenience method to return theILcdModelthat was set by setting aTLcyModelContextusingsetObject.protected final TLcyModelContextReturns theTLcyModelContextobject that was set on this customizer.protected ILcdViewgetView()Convenience method to return theILcdViewthat was set by setting aTLcyModelContextusingsetObject.protected booleanReturns whether the panel is editable or not.voidSet the object to be edited.protected voidprotected abstract voidupdateCustomizerPanelFromObject(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, setObjectFilterMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.luciad.util.ILcdPropertyChangeSource
addPropertyChangeListener, removePropertyChangeListenerMethods inherited from interface com.luciad.lucy.gui.customizer.ILcyCustomizerPanel
addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener
-
Constructor Details
-
ALcyModelCustomizerPanel
-
-
Method Details
-
getView
Convenience method to return theILcdViewthat was set by setting aTLcyModelContextusingsetObject.- Returns:
- Null if no
TLcyModelContextis set, theILcdViewrelated to that context object otherwise.
-
getLayer
Convenience method to return theILcdLayerthat was set by setting aTLcyModelContextusingsetObject.- Returns:
- Null if no
TLcyModelContextis set, theILcdLayerrelated to that context object otherwise.
-
getModel
Convenience method to return theILcdModelthat was set by setting aTLcyModelContextusingsetObject.- Returns:
- Null if no
TLcyModelContextis set, theILcdModelrelated to that context object otherwise.
-
getModelContext
Returns the
TLcyModelContextobject 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 benullwhen this customizer was deinitialized (withsetObject(null)).
-
canSetObject
Description copied from class:ALcyCustomizerPanelReturnstrueif and only ifsetObjectwould not throw anIllegalArgumentException. Only acceptsnullor objects that pass the object filter. If the filter itself isnull, all objects are accepted.- Specified by:
canSetObjectin interfaceILcyCustomizerPanel- Overrides:
canSetObjectin classALcyCustomizerPanel- Parameters:
aObject- The object to check.- Returns:
trueifsetObjectwould accept the object,falseif it would throw an exception.
-
setObject
Set the object to be edited. This method should be called before theILcyCustomizerPanelhas 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 ofnullis set to inform thisILcyCustomizerPanelto (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
TLcyModelContextobject that callsupdateCustomizerPanelFromObjectwhen the"editable"property of that layer changes.- Specified by:
setObjectin interfaceILcyCustomizerPanel- Overrides:
setObjectin classALcyCustomizerPanel- Parameters:
aObject- The object to be customized, ornullto inform that editing is temporarily disabled.
-
updateCustomizerPanelFromObject
protected void updateCustomizerPanelFromObject()- Specified by:
updateCustomizerPanelFromObjectin 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 aTLcyLayerContextis 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-Trueif the panel should be editable,falseotherwise. 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()trueifgetLayer()isnull. Override this method redefine when the panel is editable or not.- Returns:
Trueif the panel should be editable,falseotherwise.
-