org.openstreetmap.josm.gui.preferences
Class SourceEditor

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by 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

public abstract class SourceEditor
extends javax.swing.JPanel

See Also:
Serialized Form

Nested Class Summary
(package private)  class SourceEditor.ActivateSourcesAction
           
protected  class SourceEditor.ActiveSourcesModel
           
protected static class SourceEditor.AvailableSourcesListModel
           
(package private)  class SourceEditor.EditActiveSourceAction
           
(package private)  class SourceEditor.EditIconPathAction
           
protected  class SourceEditor.EditSourceEntryDialog
           
static class SourceEditor.ExtendedSourceEntry
           
(package private)  class SourceEditor.FileOrUrlCellEditor
           
static class SourceEditor.I18nString
          Identifiers for strings that need to be provided.
protected static class SourceEditor.IconPathTableModel
           
(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.SourceEntryListCellRenderer
           
(package private) static class SourceEditor.SourceEntryTableCellRenderer
           
(package private)  class SourceEditor.SourceLoader
           
static class SourceEditor.SourcePrefHelper
           
 
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
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  SourceEditor.ActiveSourcesModel activeSourcesModel
           
protected  SourceEditor.AvailableSourcesListModel availableSourcesModel
           
protected  java.lang.String availableSourcesUrl
           
protected  SourceEditor.IconPathTableModel iconPathsModel
           
protected  boolean isMapPaint
           
protected  javax.swing.JList lstAvailableSources
           
protected  java.util.List<SourceProvider> sourceProviders
           
protected  boolean sourcesInitiallyLoaded
           
protected  javax.swing.JTable tblActiveSources
           
protected  javax.swing.JTable tblIconPaths
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
SourceEditor(boolean isMapPaint, java.lang.String availableSourcesUrl, java.util.List<SourceProvider> sourceProviders)
          constructor
 
Method Summary
private static void adjustColumnWidth(javax.swing.JTable tbl, int col)
          adjust the preferred width of column col to the maximum preferred width of the cells requires JTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
abstract  boolean finish()
          Save the settings after user clicked "Ok".
 java.util.Collection<SourceEntry> getActiveSources()
           
abstract  java.util.Collection<SourceEditor.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.
 boolean hasActiveSourcesChanged()
           
 void initiallyLoadAvailableSources()
           
protected  void reloadAvailableSources(java.lang.String url, java.util.List<SourceProvider> sourceProviders)
           
 void removeSources(java.util.Collection<java.lang.Integer> idxs)
           
 
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

isMapPaint

protected final boolean isMapPaint

tblActiveSources

protected final javax.swing.JTable tblActiveSources

activeSourcesModel

protected final SourceEditor.ActiveSourcesModel activeSourcesModel

lstAvailableSources

protected final javax.swing.JList lstAvailableSources

availableSourcesModel

protected final SourceEditor.AvailableSourcesListModel availableSourcesModel

tblIconPaths

protected final javax.swing.JTable tblIconPaths

iconPathsModel

protected final SourceEditor.IconPathTableModel iconPathsModel

availableSourcesUrl

protected final java.lang.String availableSourcesUrl

sourceProviders

protected final java.util.List<SourceProvider> sourceProviders

sourcesInitiallyLoaded

protected boolean sourcesInitiallyLoaded
Constructor Detail

SourceEditor

public SourceEditor(boolean isMapPaint,
                    java.lang.String availableSourcesUrl,
                    java.util.List<SourceProvider> sourceProviders)
constructor

Parameters:
isMapPaint - true for MapPaintPreference subclass, false for TaggingPresetPreference subclass
availableSourcesUrl - the URL to the list of available sources
sourceProviders - the list of additional source providers, from plugins
Method Detail

getInitialSourcesList

public abstract java.util.Collection<? extends SourceEntry> getInitialSourcesList()
Load the 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.


getDefault

public abstract java.util.Collection<SourceEditor.ExtendedSourceEntry> getDefault()
Get the default list of entries (used when resetting the list).


finish

public abstract boolean finish()
Save the settings after user clicked "Ok".

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 and Preset)


adjustColumnWidth

private static void adjustColumnWidth(javax.swing.JTable tbl,
                                      int col)
adjust the preferred width of column col to the maximum preferred width of the cells requires JTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);


hasActiveSourcesChanged

public boolean hasActiveSourcesChanged()

getActiveSources

public java.util.Collection<SourceEntry> getActiveSources()

removeSources

public void removeSources(java.util.Collection<java.lang.Integer> idxs)

reloadAvailableSources

protected void reloadAvailableSources(java.lang.String url,
                                      java.util.List<SourceProvider> sourceProviders)

initiallyLoadAvailableSources

public void initiallyLoadAvailableSources()


JOSM