Class UserQueryList
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.openstreetmap.josm.gui.widgets.SearchTextResultListPanel<UserQueryList.SelectorItem>
-
- org.openstreetmap.josm.gui.download.UserQueryList
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
public final class UserQueryList extends SearchTextResultListPanel<UserQueryList.SelectorItem>
A component to select user saved queries.- Since:
- 12880, 12574 as OverpassQueryList
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
UserQueryList.EditItemDialog
Dialog that provides functionality to add/edit an item from the list.private static class
UserQueryList.QueryCellRendered
This class defines the way each element is rendered in the list.private class
UserQueryList.QueryListMouseAdapter
static class
UserQueryList.SelectorItem
This class represents an Overpass query used by the user that can be shown withinUserQueryList
.-
Nested classes/interfaces inherited from class org.openstreetmap.josm.gui.widgets.SearchTextResultListPanel
SearchTextResultListPanel.ResultListModel<T>
-
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 java.awt.Component
componentParent
private static java.time.format.DateTimeFormatter
FORMAT
private java.util.Map<java.lang.String,UserQueryList.SelectorItem>
items
private static java.lang.String
KEY_KEY
private static java.lang.String
LAST_EDIT_KEY
private java.lang.String
preferenceKey
private static java.lang.String
QUERY_KEY
private javax.swing.text.JTextComponent
target
private static java.lang.String
TRANSLATED_HISTORY
-
Fields inherited from class org.openstreetmap.josm.gui.widgets.SearchTextResultListPanel
edSearchText, listSelectionListeners, lsResult, lsResultModel
-
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 UserQueryList(java.awt.Component parent, javax.swing.text.JTextComponent target, java.lang.String preferenceKey)
Constructs a newOverpassQueryList
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
createNewItem()
OpensUserQueryList.EditItemDialog
, saves the state to preferences if a new item is added and updates the view.private void
doubleClickEvent()
void
editSelectedItem()
OpensUserQueryList.EditItemDialog
for the selected item, saves the current state to preferences and updates the view.protected void
filterItems()
java.util.Optional<UserQueryList.SelectorItem>
getSelectedItem()
Returns currently selected element from the list.void
removeSelectedItem()
Removes currently selected item, saves the current state to preferences and updates the view.private java.util.Map<java.lang.String,UserQueryList.SelectorItem>
restorePreferences()
Loads the user saved items fromConfig.getPref()
.void
saveHistoricItem(java.lang.String query)
Adds a new historic item to the list.private void
savePreferences()
Saves all elements from the list toConfig.getPref()
.void
setDblClickListener(java.awt.event.ActionListener dblClickListener)
Sets a listener to be invoked on double click-
Methods inherited from class org.openstreetmap.josm.gui.widgets.SearchTextResultListPanel
addSelectionListener, clearSelection, getItemCount, getSearchText, init, removeSelectionListener, setClickListener
-
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, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
FORMAT
private static final java.time.format.DateTimeFormatter FORMAT
-
target
private final javax.swing.text.JTextComponent target
-
componentParent
private final java.awt.Component componentParent
-
items
private final transient java.util.Map<java.lang.String,UserQueryList.SelectorItem> items
-
KEY_KEY
private static final java.lang.String KEY_KEY
- See Also:
- Constant Field Values
-
QUERY_KEY
private static final java.lang.String QUERY_KEY
- See Also:
- Constant Field Values
-
LAST_EDIT_KEY
private static final java.lang.String LAST_EDIT_KEY
- See Also:
- Constant Field Values
-
preferenceKey
private final java.lang.String preferenceKey
-
TRANSLATED_HISTORY
private static final java.lang.String TRANSLATED_HISTORY
-
-
Constructor Detail
-
UserQueryList
public UserQueryList(java.awt.Component parent, javax.swing.text.JTextComponent target, java.lang.String preferenceKey)
Constructs a newOverpassQueryList
.- Parameters:
parent
- The parent of this component.target
- The text component to which the queries must be added.preferenceKey
- The preference key to store the user queries
-
-
Method Detail
-
getSelectedItem
public java.util.Optional<UserQueryList.SelectorItem> getSelectedItem()
Returns currently selected element from the list.- Returns:
- An
Optional.empty()
if nothing is selected, otherwise the idem is returned.
-
saveHistoricItem
public void saveHistoricItem(java.lang.String query)
Adds a new historic item to the list. The key has form 'history {current date}'. Note, the item is not saved if there is already a historic item with the same query.- Parameters:
query
- The query of the item.- Throws:
java.lang.IllegalArgumentException
- if the query is empty.java.lang.NullPointerException
- if the query isnull
.
-
removeSelectedItem
public void removeSelectedItem()
Removes currently selected item, saves the current state to preferences and updates the view.
-
editSelectedItem
public void editSelectedItem()
OpensUserQueryList.EditItemDialog
for the selected item, saves the current state to preferences and updates the view.
-
createNewItem
public void createNewItem()
OpensUserQueryList.EditItemDialog
, saves the state to preferences if a new item is added and updates the view.
-
setDblClickListener
public void setDblClickListener(java.awt.event.ActionListener dblClickListener)
Description copied from class:SearchTextResultListPanel
Sets a listener to be invoked on double click- Overrides:
setDblClickListener
in classSearchTextResultListPanel<UserQueryList.SelectorItem>
- Parameters:
dblClickListener
- The double click listener
-
filterItems
protected void filterItems()
- Specified by:
filterItems
in classSearchTextResultListPanel<UserQueryList.SelectorItem>
-
doubleClickEvent
private void doubleClickEvent()
-
savePreferences
private void savePreferences()
Saves all elements from the list toConfig.getPref()
.
-
restorePreferences
private java.util.Map<java.lang.String,UserQueryList.SelectorItem> restorePreferences()
Loads the user saved items fromConfig.getPref()
.- Returns:
- A set of the user saved items.
-
-