Class LayerListDialog
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.openstreetmap.josm.gui.dialogs.ToggleDialog
-
- org.openstreetmap.josm.gui.dialogs.LayerListDialog
-
- All Implemented Interfaces:
java.awt.event.AWTEventListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,Helpful
,TileSourceDisplaySettings.DisplaySettingsChangeListener
,ShowHideButtonListener
,PreferenceChangedListener
,Destroyable
public class LayerListDialog extends ToggleDialog implements TileSourceDisplaySettings.DisplaySettingsChangeListener
This is a toggle dialog which displays the list of layers. Actions allow to change the ordering of the layers, to hide/show layers, to activate layers, and to delete layers.Support for multiple
LayerListDialog
is currently not complete but intended for the future.- Since:
- 17
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.openstreetmap.josm.gui.dialogs.ToggleDialog
ToggleDialog.ButtonHidingType, ToggleDialog.TitleBar, ToggleDialog.ToggleDialogAction
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description private ActivateLayerAction
activateLayerAction
private CycleLayerDownAction
cycleLayerDownAction
private CycleLayerUpAction
cycleLayerUpAction
private static BooleanProperty
DISPLAY_NUMBERS
private static LayerListDialog
instance
the unique instance of the dialogprivate LayerListDialog.LayerList
layerList
the list of layers (technically its a JTable, but appears like a list)private MainLayerManager
layerManager
TheMainLayerManager
this list is for.private LayerListDialog.LayerListModel
model
the model for the layer listprivate LayerListDialog.LayerListModelListener
modelListener
private LayerListDialog.PopupMenuHandler
popupHandler
private ShowHideLayerAction
showHideLayerAction
private LayerListDialog.ToggleLayerIndexVisibility[]
visibilityToggleActions
private Shortcut[]
visibilityToggleShortcuts
private LayerListDialog.ColumnWidthAdaptionListener
visibilityWidthListener
-
Fields inherited from class org.openstreetmap.josm.gui.dialogs.ToggleDialog
button, buttonHiding, detachedDialog, dialogsPanel, isCollapsed, isDocked, isShowing, name, preferenceClass, preferencePrefix, PROP_DYNAMIC_BUTTONS, titleBar, toggleAction, windowMenuItem
-
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
-
-
Constructor Summary
Constructors Constructor Description LayerListDialog(MainLayerManager layerManager)
Creates a layer list and attach it to the given layer manager.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ActivateLayerAction
createActivateLayerAction(Layer layer)
(package private) static javax.swing.ImageIcon
createBlankIcon()
DeleteLayerAction
createDeleteLayerAction()
Creates aDeleteLayerAction
in the context of thisLayerListDialog
.DuplicateAction
createDuplicateLayerAction(Layer layer)
static void
createInstance(MainLayerManager layerManager)
Creates the instance of the dialog.MergeAction
createMergeLayerAction(Layer layer)
ShowHideLayerAction
createShowHideLayerAction()
Creates aShowHideLayerAction
in the context of thisLayerListDialog
.private void
createVisibilityToggleShortcuts()
registers (shortcut to toggle right hand side toggle dialogs)+(number keys) shortcuts to toggle the visibility of the first ten layers.void
destroy()
Called when the object has been destroyed.private static boolean
displayLayerNumbers()
void
displaySettingsChanged(TileSourceDisplaySettings.DisplaySettingsChangeEvent e)
Called whenever the display settings have changed.static LayerListDialog
getInstance()
Replies the instance of the dialogstatic Layer
getLayerForIndex(int index)
Returns the layer at given index, ornull
.static MultikeyShortcutAction.MultikeyInfo
getLayerInfo(Layer l)
Returns info about layer.static java.util.List<MultikeyShortcutAction.MultikeyInfo>
getLayerInfoByClass(java.lang.Class<?> layerClass)
Returns a list of info on all layers of a given class.MainLayerManager
getLayerManager()
Gets the layer manager this dialog is for.LayerListDialog.LayerListModel
getModel()
Returns the layer list model.void
hideNotify()
Called when toggle dialog is hidden (collapsed, removed, MapFrame is removed, ...).static boolean
isLayerValid(Layer l)
Determines if a layer is valid (contained in global layer list).void
showNotify()
Called when toggle dialog is shown (after it was created or expanded).-
Methods inherited from class org.openstreetmap.josm.gui.dialogs.ToggleDialog
buttonHidden, buttonShown, clearButtonActions, closeDetachedDialog, collapse, createLayout, createLayout, detach, dock, dockWhenClosingDetachedDlg, eventDispatched, expand, getButton, getDefaultDetachedSize, getLastHeight, getName, getPreferencePrefix, getPreferredHeight, getToggleAction, helpTopic, hideDialog, isDialogInCollapsedView, isDialogInDefaultView, isDialogShowing, preferenceChanged, registerInWindowMenu, rememberHeight, setButton, setContentVisible, setDialogsPanel, setIsButtonHiding, setIsCollapsed, setIsDocked, setIsShowing, setTitle, showDialog, stateChanged, toggleButtonHook, toString, unfurlDialog
-
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, 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, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
instance
private static volatile LayerListDialog instance
the unique instance of the dialog
-
DISPLAY_NUMBERS
private static final BooleanProperty DISPLAY_NUMBERS
-
model
private final LayerListDialog.LayerListModel model
the model for the layer list
-
layerList
private final LayerListDialog.LayerList layerList
the list of layers (technically its a JTable, but appears like a list)
-
visibilityWidthListener
private final LayerListDialog.ColumnWidthAdaptionListener visibilityWidthListener
-
activateLayerAction
private final ActivateLayerAction activateLayerAction
-
showHideLayerAction
private final ShowHideLayerAction showHideLayerAction
-
cycleLayerUpAction
private final CycleLayerUpAction cycleLayerUpAction
-
cycleLayerDownAction
private final CycleLayerDownAction cycleLayerDownAction
-
visibilityToggleShortcuts
private final transient Shortcut[] visibilityToggleShortcuts
-
visibilityToggleActions
private final LayerListDialog.ToggleLayerIndexVisibility[] visibilityToggleActions
-
layerManager
private final transient MainLayerManager layerManager
TheMainLayerManager
this list is for.
-
popupHandler
private LayerListDialog.PopupMenuHandler popupHandler
-
modelListener
private LayerListDialog.LayerListModelListener modelListener
-
-
Constructor Detail
-
LayerListDialog
public LayerListDialog(MainLayerManager layerManager)
Creates a layer list and attach it to the given layer manager.- Parameters:
layerManager
- The layer manager this list is for- Since:
- 10467
-
-
Method Detail
-
createInstance
public static void createInstance(MainLayerManager layerManager)
Creates the instance of the dialog. It's connected to the layer manager- Parameters:
layerManager
- the layer manager- Since:
- 11885 (signature)
-
getInstance
public static LayerListDialog getInstance()
Replies the instance of the dialog- Returns:
- the instance of the dialog
- Throws:
java.lang.IllegalStateException
- if the dialog is not created yet- See Also:
createInstance(MainLayerManager)
-
createVisibilityToggleShortcuts
private void createVisibilityToggleShortcuts()
registers (shortcut to toggle right hand side toggle dialogs)+(number keys) shortcuts to toggle the visibility of the first ten layers.
-
displayLayerNumbers
private static boolean displayLayerNumbers()
-
getLayerManager
public MainLayerManager getLayerManager()
Gets the layer manager this dialog is for.- Returns:
- The layer manager.
- Since:
- 10288
-
showNotify
public void showNotify()
Description copied from class:ToggleDialog
Called when toggle dialog is shown (after it was created or expanded). Descendants may overwrite this method, it's a good place to register listeners needed to keep dialog updated- Overrides:
showNotify
in classToggleDialog
-
hideNotify
public void hideNotify()
Description copied from class:ToggleDialog
Called when toggle dialog is hidden (collapsed, removed, MapFrame is removed, ...). Good place to unregister listeners- Overrides:
hideNotify
in classToggleDialog
-
getModel
public LayerListDialog.LayerListModel getModel()
Returns the layer list model.- Returns:
- the layer list model
-
destroy
public void destroy()
Description copied from interface:Destroyable
Called when the object has been destroyed.- Specified by:
destroy
in interfaceDestroyable
- Overrides:
destroy
in classToggleDialog
-
createBlankIcon
static javax.swing.ImageIcon createBlankIcon()
-
createShowHideLayerAction
public ShowHideLayerAction createShowHideLayerAction()
Creates aShowHideLayerAction
in the context of thisLayerListDialog
.- Returns:
- the action
-
createDeleteLayerAction
public DeleteLayerAction createDeleteLayerAction()
Creates aDeleteLayerAction
in the context of thisLayerListDialog
.- Returns:
- the action
-
createActivateLayerAction
public ActivateLayerAction createActivateLayerAction(Layer layer)
- Parameters:
layer
- the layer- Returns:
- the action
-
createMergeLayerAction
public MergeAction createMergeLayerAction(Layer layer)
- Parameters:
layer
- the layer- Returns:
- the action
-
createDuplicateLayerAction
public DuplicateAction createDuplicateLayerAction(Layer layer)
- Parameters:
layer
- the layer- Returns:
- the action
-
getLayerForIndex
public static Layer getLayerForIndex(int index)
Returns the layer at given index, ornull
.- Parameters:
index
- the index- Returns:
- the layer at given index, or
null
if index out of range
-
getLayerInfoByClass
public static java.util.List<MultikeyShortcutAction.MultikeyInfo> getLayerInfoByClass(java.lang.Class<?> layerClass)
Returns a list of info on all layers of a given class.- Parameters:
layerClass
- The layer class. This is notClass<? extends Layer>
on purpose, to allow asking for layers implementing some interface- Returns:
- list of info on all layers assignable from
layerClass
-
isLayerValid
public static boolean isLayerValid(Layer l)
Determines if a layer is valid (contained in global layer list).- Parameters:
l
- the layer- Returns:
true
if layerl
is contained in current layer list
-
getLayerInfo
public static MultikeyShortcutAction.MultikeyInfo getLayerInfo(Layer l)
Returns info about layer.- Parameters:
l
- the layer- Returns:
- info about layer
l
-
displaySettingsChanged
public void displaySettingsChanged(TileSourceDisplaySettings.DisplaySettingsChangeEvent e)
Description copied from interface:TileSourceDisplaySettings.DisplaySettingsChangeListener
Called whenever the display settings have changed.- Specified by:
displaySettingsChanged
in interfaceTileSourceDisplaySettings.DisplaySettingsChangeListener
- Parameters:
e
- The change event.
-
-