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:
ImageObserver
,MenuContainer
,Serializable
,Accessible
- Direct Known Subclasses:
MapPaintPreference.MapPaintSourceEditor
,TaggingPresetPreference.TaggingPresetSourceEditor
,ValidatorTagCheckerRulesPreference.TagCheckerRulesSourceEditor
public abstract class SourceEditor extends 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
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 protected SourceEditor.ActiveSourcesModel
activeSourcesModel
the underlying model of active sourcesprotected SourceEditor.AvailableSourcesModel
availableSourcesModel
the underlying model of available sourcesprotected 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 SourceEditor.IconPathTableModel
iconPathsModel
protected 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 JTable
tblActiveSources
the table of active sourcesprotected JTable
tblAvailableSources
the list of available sourcesprivate 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
-
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 Modifier Constructor Description protected
SourceEditor(SourceType sourceType, String availableSourcesUrl, 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(GridBagConstraints gbc)
void
deferLoading(JTabbedPane tab, Component component)
Defers loading of sources to the first time the adequate tab is selected.void
deferLoading(DefaultTabPreferenceSetting tab, Component component)
Defers loading of sources to the first time the adequate tab is selected.protected boolean
doFinish(SourcePrefHelper prefHelper, String iconPref)
Default implementation offinish()
.abstract boolean
finish()
Save the settings after user clicked "Ok".Collection<SourceEntry>
getActiveSources()
Returns the list of active sources.abstract Collection<ExtendedSourceEntry>
getDefault()
Get the default list of entries (used when resetting the list).abstract Collection<String>
getInitialIconPathsList()
Load the list of configured icon paths.abstract Collection<? extends SourceEntry>
getInitialSourcesList()
Load the list of source entries that the user has configured.protected abstract String
getStr(SourceEditor.I18nString ident)
Provide the GUI strings.protected 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.Collection<ExtendedSourceEntry>
loadAndGetAvailableSources()
Synchronously loads available sources and returns the parsed list.private static void
prepareFileChooser(String url, AbstractFileChooser fc)
protected void
reloadAvailableSources(String url, List<SourceProvider> sourceProviders)
Reload available sources.void
removeSources(Collection<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
-
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 JTable tblActiveSources
the table of active sources
-
activeSourcesModel
protected final SourceEditor.ActiveSourcesModel activeSourcesModel
the underlying model of active sources
-
tblAvailableSources
protected final JTable tblAvailableSources
the list of available sources
-
availableSourcesModel
protected final SourceEditor.AvailableSourcesModel availableSourcesModel
the underlying model of available sources
-
availableSourcesUrl
protected final String availableSourcesUrl
the URL from which the available sources are fetched
-
sourceProviders
protected final transient List<SourceProvider> sourceProviders
the list of source providers
-
tblIconPaths
private 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, String availableSourcesUrl, 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(GridBagConstraints gbc)
-
getInitialSourcesList
public abstract 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 Collection<String> getInitialIconPathsList()
Load the list of configured icon paths.- Returns:
- list of configured icon paths
-
getDefault
public abstract 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, 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 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 Collection<SourceEntry> getActiveSources()
Returns the list of active sources.- Returns:
- the list of active sources
-
loadAndGetAvailableSources
public final Collection<ExtendedSourceEntry> loadAndGetAvailableSources() throws SAXException, IOException, OsmTransferException
Synchronously loads available sources and returns the parsed list.- Returns:
- list of available sources
- Throws:
OsmTransferException
- in case of OSM transfer errorIOException
- in case of any I/O errorSAXException
- in case of any SAX error
-
removeSources
public void removeSources(Collection<Integer> idxs)
Remove sources associated with given indexes from active list.- Parameters:
idxs
- indexes of sources to remove
-
reloadAvailableSources
protected void reloadAvailableSources(String url, 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(String url, AbstractFileChooser fc)
-
deferLoading
public final void deferLoading(DefaultTabPreferenceSetting tab, 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(JTabbedPane tab, 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 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
-
-