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
LayerListDialogis 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 ActivateLayerActionactivateLayerActionprivate CycleLayerDownActioncycleLayerDownActionprivate CycleLayerUpActioncycleLayerUpActionprivate static BooleanPropertyDISPLAY_NUMBERSprivate static LayerListDialoginstancethe unique instance of the dialogprivate LayerListDialog.LayerListlayerListthe list of layers (technically its a JTable, but appears like a list)private MainLayerManagerlayerManagerTheMainLayerManagerthis list is for.private LayerListDialog.LayerListModelmodelthe model for the layer listprivate LayerListDialog.LayerListModelListenermodelListenerprivate LayerListDialog.PopupMenuHandlerpopupHandlerprivate ShowHideLayerActionshowHideLayerActionprivate LayerListDialog.ToggleLayerIndexVisibility[]visibilityToggleActionsprivate Shortcut[]visibilityToggleShortcutsprivate LayerListDialog.ColumnWidthAdaptionListenervisibilityWidthListener-
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 ActivateLayerActioncreateActivateLayerAction(Layer layer)(package private) static javax.swing.ImageIconcreateBlankIcon()DeleteLayerActioncreateDeleteLayerAction()Creates aDeleteLayerActionin the context of thisLayerListDialog.DuplicateActioncreateDuplicateLayerAction(Layer layer)static voidcreateInstance(MainLayerManager layerManager)Creates the instance of the dialog.MergeActioncreateMergeLayerAction(Layer layer)ShowHideLayerActioncreateShowHideLayerAction()Creates aShowHideLayerActionin the context of thisLayerListDialog.private voidcreateVisibilityToggleShortcuts()registers (shortcut to toggle right hand side toggle dialogs)+(number keys) shortcuts to toggle the visibility of the first ten layers.voiddestroy()Called when the object has been destroyed.private static booleandisplayLayerNumbers()voiddisplaySettingsChanged(TileSourceDisplaySettings.DisplaySettingsChangeEvent e)Called whenever the display settings have changed.static LayerListDialoggetInstance()Replies the instance of the dialogstatic LayergetLayerForIndex(int index)Returns the layer at given index, ornull.static MultikeyShortcutAction.MultikeyInfogetLayerInfo(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.MainLayerManagergetLayerManager()Gets the layer manager this dialog is for.LayerListDialog.LayerListModelgetModel()Returns the layer list model.voidhideNotify()Called when toggle dialog is hidden (collapsed, removed, MapFrame is removed, ...).static booleanisLayerValid(Layer l)Determines if a layer is valid (contained in global layer list).voidshowNotify()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
TheMainLayerManagerthis 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:ToggleDialogCalled 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:
showNotifyin classToggleDialog
-
hideNotify
public void hideNotify()
Description copied from class:ToggleDialogCalled when toggle dialog is hidden (collapsed, removed, MapFrame is removed, ...). Good place to unregister listeners- Overrides:
hideNotifyin classToggleDialog
-
getModel
public LayerListDialog.LayerListModel getModel()
Returns the layer list model.- Returns:
- the layer list model
-
destroy
public void destroy()
Description copied from interface:DestroyableCalled when the object has been destroyed.- Specified by:
destroyin interfaceDestroyable- Overrides:
destroyin classToggleDialog
-
createBlankIcon
static javax.swing.ImageIcon createBlankIcon()
-
createShowHideLayerAction
public ShowHideLayerAction createShowHideLayerAction()
Creates aShowHideLayerActionin the context of thisLayerListDialog.- Returns:
- the action
-
createDeleteLayerAction
public DeleteLayerAction createDeleteLayerAction()
Creates aDeleteLayerActionin 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
nullif 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:
trueif layerlis 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.DisplaySettingsChangeListenerCalled whenever the display settings have changed.- Specified by:
displaySettingsChangedin interfaceTileSourceDisplaySettings.DisplaySettingsChangeListener- Parameters:
e- The change event.
-
-