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 classUserQueryList.EditItemDialogDialog that provides functionality to add/edit an item from the list.private static classUserQueryList.QueryCellRenderedThis class defines the way each element is rendered in the list.private classUserQueryList.QueryListMouseAdapterstatic classUserQueryList.SelectorItemThis 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.ComponentcomponentParentprivate static java.time.format.DateTimeFormatterFORMATprivate java.util.Map<java.lang.String,UserQueryList.SelectorItem>itemsprivate static java.lang.StringKEY_KEYprivate static java.lang.StringLAST_EDIT_KEYprivate java.lang.StringpreferenceKeyprivate static java.lang.StringQUERY_KEYprivate javax.swing.text.JTextComponenttargetprivate static java.lang.StringTRANSLATED_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 voidcreateNewItem()OpensUserQueryList.EditItemDialog, saves the state to preferences if a new item is added and updates the view.private voiddoubleClickEvent()voideditSelectedItem()OpensUserQueryList.EditItemDialogfor the selected item, saves the current state to preferences and updates the view.protected voidfilterItems()java.util.Optional<UserQueryList.SelectorItem>getSelectedItem()Returns currently selected element from the list.voidremoveSelectedItem()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().voidsaveHistoricItem(java.lang.String query)Adds a new historic item to the list.private voidsavePreferences()Saves all elements from the list toConfig.getPref().voidsetDblClickListener(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.EditItemDialogfor 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:SearchTextResultListPanelSets a listener to be invoked on double click- Overrides:
setDblClickListenerin classSearchTextResultListPanel<UserQueryList.SelectorItem>- Parameters:
dblClickListener- The double click listener
-
filterItems
protected void filterItems()
- Specified by:
filterItemsin 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.
-
-