Class SourceEditor
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.openstreetmap.josm.gui.preferences.SourceEditor
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
- Direct Known Subclasses:
MapPaintPreference.MapPaintSourceEditor
,TaggingPresetPreference.TaggingPresetSourceEditor
,ValidatorTagCheckerRulesPreference.TagCheckerRulesSourceEditor
public abstract class SourceEditor extends javax.swing.JPanel
Editor for JOSM extensions source entries.- Since:
- 1743
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
SourceEditor.ActivateSourcesAction
protected class
SourceEditor.ActiveSourcesModel
Table model of active sources.protected static class
SourceEditor.AvailableSourcesModel
List model of available sources.(package private) class
SourceEditor.EditActiveSourceAction
(package private) class
SourceEditor.EditIconPathAction
protected class
SourceEditor.EditSourceEntryDialog
Dialog to edit a source entry.(package private) static class
SourceEditor.FancySourceEntryTableCellRenderer
(package private) class
SourceEditor.FileOrUrlCellEditor
static class
SourceEditor.I18nString
Identifiers for strings that need to be provided.protected static class
SourceEditor.IconPathTableModel
Table model for icons paths.(package private) class
SourceEditor.MoveUpDownAction
The action to move the currently selected entries up or down in the list.(package private) class
SourceEditor.NewActiveSourceAction
(package private) class
SourceEditor.NewIconPathAction
(package private) class
SourceEditor.ReloadSourcesAction
(package private) class
SourceEditor.RemoveActiveSourcesAction
(package private) class
SourceEditor.RemoveIconPathAction
(package private) class
SourceEditor.ResetAction
(package private) static class
SourceEditor.ScrollHackTable
(package private) static class
SourceEditor.SourceEntryTableCellRenderer
(package private) class
SourceEditor.SourceLoader
-
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 protected SourceEditor.ActiveSourcesModel
activeSourcesModel
the underlying model of active sourcesprotected SourceEditor.AvailableSourcesModel
availableSourcesModel
the underlying model of available sourcesprotected java.lang.String
availableSourcesUrl
the URL from which the available sources are fetchedprotected boolean
canEnable
determines if the entry type can be enabled (set as active)private static java.lang.String
DELETE
private static java.lang.String
DIALOGS
private SourceEditor.IconPathTableModel
iconPathsModel
protected java.util.List<SourceProvider>
sourceProviders
the list of source providersprotected boolean
sourcesInitiallyLoaded
determines if the source providers have been initially loadedprotected SourceType
sourceType
the type of source entryprotected javax.swing.JTable
tblActiveSources
the table of active sourcesprotected javax.swing.JTable
tblAvailableSources
the list of available sourcesprivate javax.swing.JTable
tblIconPaths
-
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 Modifier Constructor Description protected
SourceEditor(SourceType sourceType, java.lang.String availableSourcesUrl, java.util.List<SourceProvider> sourceProviders, boolean handleIcons)
Constructs a newSourceEditor
.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private void
buildIcons(java.awt.GridBagConstraints gbc)
void
deferLoading(javax.swing.JTabbedPane tab, java.awt.Component component)
Defers loading of sources to the first time the adequate tab is selected.void
deferLoading(DefaultTabPreferenceSetting tab, java.awt.Component component)
Defers loading of sources to the first time the adequate tab is selected.protected boolean
doFinish(SourcePrefHelper prefHelper, java.lang.String iconPref)
Default implementation offinish()
.abstract boolean
finish()
Save the settings after user clicked "Ok".java.util.Collection<SourceEntry>
getActiveSources()
Returns the list of active sources.abstract java.util.Collection<ExtendedSourceEntry>
getDefault()
Get the default list of entries (used when resetting the list).abstract java.util.Collection<java.lang.String>
getInitialIconPathsList()
Load the list of configured icon paths.abstract java.util.Collection<? extends SourceEntry>
getInitialSourcesList()
Load the list of source entries that the user has configured.protected abstract java.lang.String
getStr(SourceEditor.I18nString ident)
Provide the GUI strings.protected java.lang.String
getTitleForSourceEntry(SourceEntry entry)
Returns the title of the given source entry.boolean
hasActiveSourcesChanged()
Determines whether the list of active sources has changed.void
initiallyLoadAvailableSources()
Performs the initial loading of source providers.java.util.Collection<ExtendedSourceEntry>
loadAndGetAvailableSources()
Synchronously loads available sources and returns the parsed list.private static void
prepareFileChooser(java.lang.String url, AbstractFileChooser fc)
protected void
reloadAvailableSources(java.lang.String url, java.util.List<SourceProvider> sourceProviders)
Reload available sources.void
removeSources(java.util.Collection<java.lang.Integer> idxs)
Remove sources associated with given indexes from active list.-
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
-
DELETE
private static final java.lang.String DELETE
- See Also:
- Constant Field Values
-
DIALOGS
private static final java.lang.String DIALOGS
- See Also:
- Constant Field Values
-
sourceType
protected final SourceType sourceType
the type of source entry
-
canEnable
protected final boolean canEnable
determines if the entry type can be enabled (set as active)
-
tblActiveSources
protected final javax.swing.JTable tblActiveSources
the table of active sources
-
activeSourcesModel
protected final SourceEditor.ActiveSourcesModel activeSourcesModel
the underlying model of active sources
-
tblAvailableSources
protected final javax.swing.JTable tblAvailableSources
the list of available sources
-
availableSourcesModel
protected final SourceEditor.AvailableSourcesModel availableSourcesModel
the underlying model of available sources
-
availableSourcesUrl
protected final java.lang.String availableSourcesUrl
the URL from which the available sources are fetched
-
sourceProviders
protected final transient java.util.List<SourceProvider> sourceProviders
the list of source providers
-
tblIconPaths
private javax.swing.JTable tblIconPaths
-
iconPathsModel
private SourceEditor.IconPathTableModel iconPathsModel
-
sourcesInitiallyLoaded
protected boolean sourcesInitiallyLoaded
determines if the source providers have been initially loaded
-
-
Constructor Detail
-
SourceEditor
protected SourceEditor(SourceType sourceType, java.lang.String availableSourcesUrl, java.util.List<SourceProvider> sourceProviders, boolean handleIcons)
Constructs a newSourceEditor
.- Parameters:
sourceType
- the type of source managed by this editoravailableSourcesUrl
- the URL to the list of available sourcessourceProviders
- the list of additional source providers, from pluginshandleIcons
-true
if icons may be managed,false
otherwise
-
-
Method Detail
-
buildIcons
private void buildIcons(java.awt.GridBagConstraints gbc)
-
getInitialSourcesList
public abstract java.util.Collection<? extends SourceEntry> getInitialSourcesList()
Load the list of source entries that the user has configured.- Returns:
- list of source entries that the user has configured
-
getInitialIconPathsList
public abstract java.util.Collection<java.lang.String> getInitialIconPathsList()
Load the list of configured icon paths.- Returns:
- list of configured icon paths
-
getDefault
public abstract java.util.Collection<ExtendedSourceEntry> getDefault()
Get the default list of entries (used when resetting the list).- Returns:
- default list of entries
-
finish
public abstract boolean finish()
Save the settings after user clicked "Ok".- Returns:
- true if restart is required
-
doFinish
protected boolean doFinish(SourcePrefHelper prefHelper, java.lang.String iconPref)
Default implementation offinish()
.- Parameters:
prefHelper
- Helper class for specialized extensions preferencesiconPref
- icons path preference- Returns:
- true if restart is required
-
getStr
protected abstract java.lang.String getStr(SourceEditor.I18nString ident)
Provide the GUI strings. (There are differences for MapPaint, Preset and TagChecker Rule)- Parameters:
ident
- anySourceEditor.I18nString
value- Returns:
- the translated string for
ident
-
hasActiveSourcesChanged
public boolean hasActiveSourcesChanged()
Determines whether the list of active sources has changed.- Returns:
true
if the list of active sources has changed,false
otherwise
-
getActiveSources
public java.util.Collection<SourceEntry> getActiveSources()
Returns the list of active sources.- Returns:
- the list of active sources
-
loadAndGetAvailableSources
public final java.util.Collection<ExtendedSourceEntry> loadAndGetAvailableSources() throws org.xml.sax.SAXException, java.io.IOException, OsmTransferException
Synchronously loads available sources and returns the parsed list.- Returns:
- list of available sources
- Throws:
OsmTransferException
- in case of OSM transfer errorjava.io.IOException
- in case of any I/O errororg.xml.sax.SAXException
- in case of any SAX error
-
removeSources
public void removeSources(java.util.Collection<java.lang.Integer> idxs)
Remove sources associated with given indexes from active list.- Parameters:
idxs
- indexes of sources to remove
-
reloadAvailableSources
protected void reloadAvailableSources(java.lang.String url, java.util.List<SourceProvider> sourceProviders)
Reload available sources.- Parameters:
url
- the URL from which the available sources are fetchedsourceProviders
- the list of source providers
-
initiallyLoadAvailableSources
public void initiallyLoadAvailableSources()
Performs the initial loading of source providers. Does nothing if already done.
-
prepareFileChooser
private static void prepareFileChooser(java.lang.String url, AbstractFileChooser fc)
-
deferLoading
public final void deferLoading(DefaultTabPreferenceSetting tab, java.awt.Component component)
Defers loading of sources to the first time the adequate tab is selected.- Parameters:
tab
- The preferences tabcomponent
- The tab component- Since:
- 6670
-
deferLoading
public final void deferLoading(javax.swing.JTabbedPane tab, java.awt.Component component)
Defers loading of sources to the first time the adequate tab is selected.- Parameters:
tab
- The tabbed panecomponent
- The tab component- Since:
- 17161
-
getTitleForSourceEntry
protected java.lang.String getTitleForSourceEntry(SourceEntry entry)
Returns the title of the given source entry.- Parameters:
entry
- source entry- Returns:
- the title of the given source entry, or null if empty
-
-