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) classSourceEditor.ActivateSourcesActionprotected classSourceEditor.ActiveSourcesModelTable model of active sources.protected static classSourceEditor.AvailableSourcesModelList model of available sources.(package private) classSourceEditor.EditActiveSourceAction(package private) classSourceEditor.EditIconPathActionprotected classSourceEditor.EditSourceEntryDialogDialog to edit a source entry.(package private) static classSourceEditor.FancySourceEntryTableCellRenderer(package private) classSourceEditor.FileOrUrlCellEditorstatic classSourceEditor.I18nStringIdentifiers for strings that need to be provided.protected static classSourceEditor.IconPathTableModelTable model for icons paths.(package private) classSourceEditor.MoveUpDownActionThe action to move the currently selected entries up or down in the list.(package private) classSourceEditor.NewActiveSourceAction(package private) classSourceEditor.NewIconPathAction(package private) classSourceEditor.ReloadSourcesAction(package private) classSourceEditor.RemoveActiveSourcesAction(package private) classSourceEditor.RemoveIconPathAction(package private) classSourceEditor.ResetAction(package private) static classSourceEditor.ScrollHackTable(package private) static classSourceEditor.SourceEntryTableCellRenderer(package private) classSourceEditor.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.ActiveSourcesModelactiveSourcesModelthe underlying model of active sourcesprotected SourceEditor.AvailableSourcesModelavailableSourcesModelthe underlying model of available sourcesprotected java.lang.StringavailableSourcesUrlthe URL from which the available sources are fetchedprotected booleancanEnabledetermines if the entry type can be enabled (set as active)private static java.lang.StringDELETEprivate static java.lang.StringDIALOGSprivate SourceEditor.IconPathTableModeliconPathsModelprotected java.util.List<SourceProvider>sourceProvidersthe list of source providersprotected booleansourcesInitiallyLoadeddetermines if the source providers have been initially loadedprotected SourceTypesourceTypethe type of source entryprotected javax.swing.JTabletblActiveSourcesthe table of active sourcesprotected javax.swing.JTabletblAvailableSourcesthe list of available sourcesprivate javax.swing.JTabletblIconPaths-
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 protectedSourceEditor(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 voidbuildIcons(java.awt.GridBagConstraints gbc)voiddeferLoading(javax.swing.JTabbedPane tab, java.awt.Component component)Defers loading of sources to the first time the adequate tab is selected.voiddeferLoading(DefaultTabPreferenceSetting tab, java.awt.Component component)Defers loading of sources to the first time the adequate tab is selected.protected booleandoFinish(SourcePrefHelper prefHelper, java.lang.String iconPref)Default implementation offinish().abstract booleanfinish()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.StringgetStr(SourceEditor.I18nString ident)Provide the GUI strings.protected java.lang.StringgetTitleForSourceEntry(SourceEntry entry)Returns the title of the given source entry.booleanhasActiveSourcesChanged()Determines whether the list of active sources has changed.voidinitiallyLoadAvailableSources()Performs the initial loading of source providers.java.util.Collection<ExtendedSourceEntry>loadAndGetAvailableSources()Synchronously loads available sources and returns the parsed list.private static voidprepareFileChooser(java.lang.String url, AbstractFileChooser fc)protected voidreloadAvailableSources(java.lang.String url, java.util.List<SourceProvider> sourceProviders)Reload available sources.voidremoveSources(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-trueif icons may be managed,falseotherwise
-
-
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.I18nStringvalue- Returns:
- the translated string for
ident
-
hasActiveSourcesChanged
public boolean hasActiveSourcesChanged()
Determines whether the list of active sources has changed.- Returns:
trueif the list of active sources has changed,falseotherwise
-
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
-
-