Class TagEditorPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.openstreetmap.josm.gui.tagging.TagEditorPanel
-
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
public class TagEditorPanel extends JPanel
TagEditorPanel is aJPanel
which can be embedded as UI component in UIs. It provides a spreadsheet like tabular control for editing tag names and tag values. Two action buttons are placed on the left, one for adding a new tag and one for deleting the currently selected tags.- Since:
- 2040
- See Also:
- Serialized Form
-
-
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 Modifier and Type Field Description private TagEditorModel
model
the tag editor modelprivate TaggingPresetHandler
presetHandler
private PresetListPanel
presetListPanel
private TagTable
tagTable
the tag table-
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
Constructor Summary
Constructors Constructor Description TagEditorPanel(OsmPrimitive primitive, TaggingPresetHandler presetHandler)
Creates a new tag editor panel.TagEditorPanel(TagEditorModel model, TaggingPresetHandler presetHandler, int maxCharacters)
Creates a new tag editor panel with a supplied model.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
build()
builds the GUIprivate void
buildButton(JPanel pnl, AbstractAction action)
protected JPanel
buildButtonsPanel()
builds the panel with the button rowprotected JPanel
buildTagTableEditorPanel()
builds the panel with the table for editing tagsTagEditorModel
getModel()
Replies the tag editor model used by this panel.AbstractAction
getPasteAction()
Returns the paste action.void
initAutoCompletion(OsmDataLayer layer)
Initializes the auto completion infrastructure used in this tag editor panel.void
saveEdits()
Save all outstanding edits to the model.void
setEnabled(boolean enabled)
void
setNextFocusComponent(Component nextFocusComponent)
Sets the next component to request focus after navigation (with tab or enter).private void
setupKeyboardShortcuts()
private void
updatePresets()
-
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, 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, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
model
private TagEditorModel model
the tag editor model
-
presetListPanel
private PresetListPanel presetListPanel
-
presetHandler
private final transient TaggingPresetHandler presetHandler
-
-
Constructor Detail
-
TagEditorPanel
public TagEditorPanel(OsmPrimitive primitive, TaggingPresetHandler presetHandler)
Creates a new tag editor panel. The editor model is created internally and can be retrieved withgetModel()
.- Parameters:
primitive
- primitive to considerpresetHandler
- tagging preset handler
-
TagEditorPanel
public TagEditorPanel(TagEditorModel model, TaggingPresetHandler presetHandler, int maxCharacters)
Creates a new tag editor panel with a supplied model. Ifmodel
is null, a new model is created.- Parameters:
model
- the tag editor modelpresetHandler
- tagging preset handlermaxCharacters
- maximum number of characters allowed, 0 for unlimited
-
-
Method Detail
-
buildTagTableEditorPanel
protected JPanel buildTagTableEditorPanel()
builds the panel with the table for editing tags- Returns:
- the panel
-
setNextFocusComponent
public void setNextFocusComponent(Component nextFocusComponent)
Sets the next component to request focus after navigation (with tab or enter).- Parameters:
nextFocusComponent
- next component to request focus after navigation (with tab or enter)- See Also:
TagTable.setNextFocusComponent(java.awt.Component)
-
buildButtonsPanel
protected JPanel buildButtonsPanel()
builds the panel with the button row- Returns:
- the panel
-
buildButton
private void buildButton(JPanel pnl, AbstractAction action)
-
getPasteAction
public AbstractAction getPasteAction()
Returns the paste action.- Returns:
- the paste action
-
build
protected final void build()
builds the GUI
-
setupKeyboardShortcuts
private void setupKeyboardShortcuts()
-
getModel
public TagEditorModel getModel()
Replies the tag editor model used by this panel.- Returns:
- the tag editor model used by this panel
-
initAutoCompletion
public void initAutoCompletion(OsmDataLayer layer)
Initializes the auto completion infrastructure used in this tag editor panel.layer
is the data layer from whose data set tag values are proposed as auto completion items.- Parameters:
layer
- the data layer. Must not be null.- Throws:
IllegalArgumentException
- iflayer
is null
-
setEnabled
public void setEnabled(boolean enabled)
- Overrides:
setEnabled
in classJComponent
-
updatePresets
private void updatePresets()
-
saveEdits
public void saveEdits()
Save all outstanding edits to the model.- Since:
- 18173
- See Also:
UploadDialog.saveEdits()
-
-