org.openstreetmap.josm.gui.io
Class UploadDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by org.openstreetmap.josm.gui.io.UploadDialog
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, Preferences.PreferenceChangedListener

public class UploadDialog
extends javax.swing.JDialog
implements java.beans.PropertyChangeListener, Preferences.PreferenceChangedListener

This is a dialog for entering upload options like the parameters for the upload changeset and the strategy for opening/closing a changeset.

See Also:
Serialized Form

Nested Class Summary
(package private)  class UploadDialog.CancelAction
          Action for canceling the dialog
(package private)  class UploadDialog.UploadAction
          Handles an upload
(package private)  class UploadDialog.WindowEventHandler
          Listens to window closing events and processes them as cancel events.
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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
private  javax.swing.JButton btnUpload
          the upload button
private  boolean canceled
           
private  ChangesetCommentModel changesetCommentModel
          the changeset comment model keeping the state of the changeset comment
private  BasicUploadSettingsPanel pnlBasicUploadSettings
           
private  ChangesetManagementPanel pnlChangesetManagement
          the panel to select the changeset used
private  TagSettingsPanel pnlTagSettings
          checkbox for selecting whether an atomic upload is to be used
private  UploadedObjectsSummaryPanel pnlUploadedObjects
          the panel with the objects to upload
private  UploadStrategySelectionPanel pnlUploadStrategySelectionPanel
           
private  javax.swing.JTabbedPane tpConfigPanels
          the tabbed pane used below of the list of primitives
private static UploadDialog uploadDialog
          the unique instance of the upload dialog
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
UploadDialog()
          constructor
 
Method Summary
protected  void build()
          builds the gui
protected  javax.swing.JPanel buildActionPanel()
          builds the panel with the OK and CANCEL buttons
protected  javax.swing.JPanel buildContentPanel()
          builds the content panel for the upload dialog
 Changeset getChangeset()
          Replies the current changeset
 java.util.Map<java.lang.String,java.lang.String> getDefaultChangesetTags()
           
protected  java.lang.String getUploadComment()
          Returns the current value for the upload comment
static UploadDialog getUploadDialog()
          Replies the unique instance of the upload dialog
 UploadStrategySpecification getUploadStrategySpecification()
          Replies the UploadStrategySpecification the user entered in the dialog.
 boolean isCanceled()
          Returns true if the dialog was canceled
 void preferenceChanged(Preferences.PreferenceChangeEvent e)
           
 void propertyChange(java.beans.PropertyChangeEvent evt)
           
 void rememberUserInput()
          Remembers the user input in the preference settings
protected  void setCanceled(boolean canceled)
          Sets whether the dialog was canceled
 void setDefaultChangesetTags(java.util.Map<java.lang.String,java.lang.String> tags)
           
 void setSelectedChangesetForNextUpload(Changeset cs)
           
 void setUploadedPrimitives(APIDataSet toUpload)
          Sets the collection of primitives to upload
 void setVisible(boolean visible)
           
 void startUserInput()
          Initializes the panel for user input
 
Methods inherited from class javax.swing.JDialog
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
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toFront
 
Methods inherited from class java.awt.Container
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, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, isOpaque, 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, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, 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

uploadDialog

private static UploadDialog uploadDialog
the unique instance of the upload dialog


pnlUploadedObjects

private UploadedObjectsSummaryPanel pnlUploadedObjects
the panel with the objects to upload


pnlChangesetManagement

private ChangesetManagementPanel pnlChangesetManagement
the panel to select the changeset used


pnlBasicUploadSettings

private BasicUploadSettingsPanel pnlBasicUploadSettings

pnlUploadStrategySelectionPanel

private UploadStrategySelectionPanel pnlUploadStrategySelectionPanel

pnlTagSettings

private TagSettingsPanel pnlTagSettings
checkbox for selecting whether an atomic upload is to be used


tpConfigPanels

private javax.swing.JTabbedPane tpConfigPanels
the tabbed pane used below of the list of primitives


btnUpload

private javax.swing.JButton btnUpload
the upload button


canceled

private boolean canceled

changesetCommentModel

private ChangesetCommentModel changesetCommentModel
the changeset comment model keeping the state of the changeset comment

Constructor Detail

UploadDialog

public UploadDialog()
constructor

Method Detail

getUploadDialog

public static UploadDialog getUploadDialog()
Replies the unique instance of the upload dialog

Returns:
the unique instance of the upload dialog

buildContentPanel

protected javax.swing.JPanel buildContentPanel()
builds the content panel for the upload dialog

Returns:
the content panel

buildActionPanel

protected javax.swing.JPanel buildActionPanel()
builds the panel with the OK and CANCEL buttons

Returns:

build

protected void build()
builds the gui


setUploadedPrimitives

public void setUploadedPrimitives(APIDataSet toUpload)
Sets the collection of primitives to upload

Parameters:
toUpload - the dataset with the objects to upload. If null, assumes the empty set of objects to upload

rememberUserInput

public void rememberUserInput()
Remembers the user input in the preference settings


startUserInput

public void startUserInput()
Initializes the panel for user input


getChangeset

public Changeset getChangeset()
Replies the current changeset

Returns:
the current changeset

setSelectedChangesetForNextUpload

public void setSelectedChangesetForNextUpload(Changeset cs)

getDefaultChangesetTags

public java.util.Map<java.lang.String,java.lang.String> getDefaultChangesetTags()

setDefaultChangesetTags

public void setDefaultChangesetTags(java.util.Map<java.lang.String,java.lang.String> tags)

getUploadStrategySpecification

public UploadStrategySpecification getUploadStrategySpecification()
Replies the UploadStrategySpecification the user entered in the dialog.

Returns:
the UploadStrategySpecification the user entered in the dialog.

getUploadComment

protected java.lang.String getUploadComment()
Returns the current value for the upload comment

Returns:
the current value for the upload comment

isCanceled

public boolean isCanceled()
Returns true if the dialog was canceled

Returns:
true if the dialog was canceled

setCanceled

protected void setCanceled(boolean canceled)
Sets whether the dialog was canceled

Parameters:
canceled - true if the dialog is canceled

setVisible

public void setVisible(boolean visible)
Overrides:
setVisible in class java.awt.Dialog

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

preferenceChanged

public void preferenceChanged(Preferences.PreferenceChangeEvent e)
Specified by:
preferenceChanged in interface Preferences.PreferenceChangedListener


JOSM