public class DownloadDialog extends javax.swing.JDialog
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
DownloadDialog.CancelAction
Action that is executed when the cancel button is pressed.
|
(package private) class |
DownloadDialog.DownloadAction
Action that is executed when the download button is pressed.
|
private static class |
DownloadDialog.DownloadDialogSplitPane
A special split pane that acts according to a
DownloadSourceSizingPolicy
It attempts to size the top tab content correctly. |
private class |
DownloadDialog.DownloadSourceTabs
A special tabbed pane for
AbstractDownloadSourcePanels |
(package private) class |
DownloadDialog.WindowEventHandler |
javax.swing.JDialog.AccessibleJDialogjava.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityTypejava.awt.Window.AccessibleAWTWindow, java.awt.Window.TypeaccessibleContext, rootPane, rootPaneCheckingEnabledBOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT| Constructor and Description |
|---|
DownloadDialog(java.awt.Component parent)
Constructs a new
DownloadDialog. |
DownloadDialog(java.awt.Component parent,
java.lang.String helpTopic)
Constructs a new
DownloadDialog. |
| Modifier and Type | Method and Description |
|---|---|
void |
addDownloadAreaSelector(javax.swing.JPanel selector,
java.lang.String displayName)
Adds a new download area selector to the download dialog.
|
static <T> void |
addDownloadSource(DownloadSource<T> downloadSource)
Adds a new download source to the download dialog if it is not added.
|
protected <T> void |
addNewDownloadSourceTab(DownloadSource<T> downloadSource)
Adds the download source to the download sources tab.
|
static void |
autostartIfNeeded()
Automatically opens the download dialog, if autorun is enabled.
|
void |
boundingBoxChanged(Bounds b,
DownloadSelection eventSource)
Distributes a "bounding box changed" from one DownloadSelection
object to the others, so they may update or clear their input fields.
|
protected javax.swing.JPanel |
buildButtonPanel()
Builds the button pane of the dialog.
|
protected javax.swing.JPanel |
buildMainPanel()
Builds the main panel of the dialog.
|
DownloadSettings |
getDownloadSettings(boolean newLayer)
Gets the global settings of the download dialog.
|
private javax.swing.event.ChangeListener |
getDownloadSourceTabChangeListener()
Creates a listener that reacts on tab switches for
downloadSourcesTab in order
to adjust proper division of the dialog according to user saved preferences or minimal size
of the panel. |
private ExpertToggleAction.ExpertModeChangeListener |
getExpertModeListenerForDownloadSources()
Creates listener that removes/adds download sources from/to
downloadSourcesTab
depending on the current mode. |
static DownloadDialog |
getInstance()
Replies the unique instance of the download dialog
|
static Bounds |
getSavedDownloadBounds()
Returns the previously saved bounding box from preferences.
|
java.util.Optional<Bounds> |
getSelectedDownloadArea()
Returns an
Optional of the currently selected download area. |
static boolean |
isAutorunEnabled()
Determines if the dialog autorun is enabled in preferences.
|
boolean |
isCanceled()
Replies true if the dialog was canceled
|
boolean |
isZoomToDownloadedDataRequired()
Replies true if the user requires to zoom to new downloaded data
|
void |
refreshTileSources()
Refreshes the tile sources.
|
void |
rememberSettings()
Remembers the current settings in the download dialog.
|
void |
restoreSettings()
Restores the previous settings in the download dialog.
|
protected void |
setCanceled(boolean canceled) |
void |
setVisible(boolean visible) |
void |
startDownload()
Starts download.
|
void |
startDownload(Bounds b)
Starts download for the given bounding box
|
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, updateaddNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBackaddPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFrontadd, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTreeaction, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleprivate static final IntegerProperty DOWNLOAD_TAB
private static final StringProperty DOWNLOAD_SOURCE_TAB
private static final BooleanProperty DOWNLOAD_AUTORUN
private static final BooleanProperty DOWNLOAD_ZOOMTODATA
private static DownloadDialog instance
private static final ListenerList<DownloadSourceListener> downloadSourcesListeners
private static final java.util.List<DownloadSource<?>> downloadSources
protected final transient java.util.List<DownloadSelection> downloadSelections
protected final javax.swing.JTabbedPane tpDownloadAreaSelectors
protected final DownloadDialog.DownloadSourceTabs downloadSourcesTab
protected javax.swing.JCheckBox cbStartup
protected javax.swing.JCheckBox cbZoomToDownloadedData
protected SlippyMapChooser slippyMapChooser
protected javax.swing.JPanel mainPanel
protected DownloadDialog.DownloadDialogSplitPane dialogSplit
protected final transient ExpertToggleAction.ExpertModeChangeListener expertListener
protected transient Bounds currentBounds
protected boolean canceled
protected javax.swing.JButton btnDownload
protected javax.swing.JButton btnDownloadNewLayer
protected javax.swing.JButton btnCancel
protected javax.swing.JButton btnHelp
public DownloadDialog(java.awt.Component parent)
DownloadDialog.parent - the parent componentpublic DownloadDialog(java.awt.Component parent, java.lang.String helpTopic)
DownloadDialog.parent - the parent componenthelpTopic - the help topic to assignpublic static DownloadDialog getInstance()
protected final javax.swing.JPanel buildMainPanel()
protected final javax.swing.JPanel buildButtonPanel()
public void boundingBoxChanged(Bounds b, DownloadSelection eventSource)
b - new current boundseventSource - - the DownloadSelection object that fired this notification.public void startDownload(Bounds b)
b - bounding box to downloadpublic void startDownload()
public boolean isZoomToDownloadedDataRequired()
public static boolean isAutorunEnabled()
true if the download dialog must be open at startup, false otherwise.public void addDownloadAreaSelector(javax.swing.JPanel selector, java.lang.String displayName)
selector - the download are selector.displayName - the display name of the selector.public static <T> void addDownloadSource(DownloadSource<T> downloadSource)
T - The type of the download data.downloadSource - The download source to be added.JosmRuntimeException - If the download source is already added. Note, download sources are
compared by their reference.public final void refreshTileSources()
public void rememberSettings()
public void restoreSettings()
public static Bounds getSavedDownloadBounds()
null otherwise.public static void autostartIfNeeded()
isAutorunEnabled()public java.util.Optional<Bounds> getSelectedDownloadArea()
Optional of the currently selected download area.Optional of the currently selected download area.public void setVisible(boolean visible)
setVisible in class java.awt.Dialogpublic boolean isCanceled()
public DownloadSettings getDownloadSettings(boolean newLayer)
newLayer - The flag defining if a new layer must be created for the downloaded data.DownloadSettings object that describes the current state of
the download dialog.protected void setCanceled(boolean canceled)
protected <T> void addNewDownloadSourceTab(DownloadSource<T> downloadSource)
T - The type of the download data.downloadSource - The download source to be added.private ExpertToggleAction.ExpertModeChangeListener getExpertModeListenerForDownloadSources()
downloadSourcesTab
depending on the current mode.private javax.swing.event.ChangeListener getDownloadSourceTabChangeListener()
downloadSourcesTab in order
to adjust proper division of the dialog according to user saved preferences or minimal size
of the panel.