public final class UserQueryList extends SearchTextResultListPanel<UserQueryList.SelectorItem>
Modifier and Type | Class and 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 within
UserQueryList . |
SearchTextResultListPanel.ResultListModel<T>
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and 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 |
edSearchText, listSelectionListeners, lsResult, lsResultModel
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
UserQueryList(java.awt.Component parent,
javax.swing.text.JTextComponent target,
java.lang.String preferenceKey)
Constructs a new
OverpassQueryList . |
Modifier and Type | Method and Description |
---|---|
void |
createNewItem()
Opens
UserQueryList.EditItemDialog , saves the state to preferences if a new item is added
and updates the view. |
private void |
doubleClickEvent() |
void |
editSelectedItem()
Opens
UserQueryList.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 from
Config.getPref() . |
void |
saveHistoricItem(java.lang.String query)
Adds a new historic item to the list.
|
private void |
savePreferences()
Saves all elements from the list to
Config.getPref() . |
void |
setDblClickListener(java.awt.event.ActionListener dblClickListener)
Sets a listener to be invoked on double click
|
addSelectionListener, clearSelection, getItemCount, init, removeSelectionListener, setClickListener
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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
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
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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
private static final java.time.format.DateTimeFormatter FORMAT
private final javax.swing.text.JTextComponent target
private final java.awt.Component componentParent
private final transient java.util.Map<java.lang.String,UserQueryList.SelectorItem> items
private static final java.lang.String KEY_KEY
private static final java.lang.String QUERY_KEY
private static final java.lang.String LAST_EDIT_KEY
private final java.lang.String preferenceKey
private static final java.lang.String TRANSLATED_HISTORY
public UserQueryList(java.awt.Component parent, javax.swing.text.JTextComponent target, java.lang.String preferenceKey)
OverpassQueryList
.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 queriespublic java.util.Optional<UserQueryList.SelectorItem> getSelectedItem()
Optional.empty()
if nothing is selected, otherwise
the idem is returned.public void saveHistoricItem(java.lang.String query)
query
- The query of the item.java.lang.IllegalArgumentException
- if the query is empty.java.lang.NullPointerException
- if the query is null
.public void removeSelectedItem()
public void editSelectedItem()
UserQueryList.EditItemDialog
for the selected item, saves the current state
to preferences and updates the view.public void createNewItem()
UserQueryList.EditItemDialog
, saves the state to preferences if a new item is added
and updates the view.public void setDblClickListener(java.awt.event.ActionListener dblClickListener)
SearchTextResultListPanel
setDblClickListener
in class SearchTextResultListPanel<UserQueryList.SelectorItem>
dblClickListener
- The double click listenerprotected void filterItems()
filterItems
in class SearchTextResultListPanel<UserQueryList.SelectorItem>
private void doubleClickEvent()
private void savePreferences()
Config.getPref()
.private java.util.Map<java.lang.String,UserQueryList.SelectorItem> restorePreferences()
Config.getPref()
.