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
AbstractDownloadSourcePanel s |
(package private) class |
DownloadDialog.WindowEventHandler |
javax.swing.JDialog.AccessibleJDialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
accessibleContext, rootPane, rootPaneCheckingEnabled
BOTTOM_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.
|
static boolean |
removeDownloadSource(DownloadSource<?> downloadSource)
Remove a download source from 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, update
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
addPropertyChangeListener, 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, toFront
add, 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, validateTree
action, 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, transferFocusUpCycle
private 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 static boolean removeDownloadSource(DownloadSource<?> downloadSource)
downloadSource
- The download source to be removed.List.remove(java.lang.Object)
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.Dialog
public 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.