Class ConflictDialog
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.openstreetmap.josm.gui.dialogs.ToggleDialog
-
- org.openstreetmap.josm.gui.dialogs.ConflictDialog
-
- All Implemented Interfaces:
java.awt.event.AWTEventListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,IConflictListener
,DataSelectionListener
,Helpful
,MainLayerManager.ActiveLayerChangeListener
,ShowHideButtonListener
,PreferenceChangedListener
,Destroyable
public final class ConflictDialog extends ToggleDialog implements MainLayerManager.ActiveLayerChangeListener, IConflictListener, DataSelectionListener
This dialog displays theConflictCollection
of the activeOsmDataLayer
in a toggle dialog on the right of the main frame.- Since:
- 86
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
ConflictDialog.ConflictListModel
TheListModel
for conflictsstatic class
ConflictDialog.ConflictPainter
Paints conflicts.(package private) class
ConflictDialog.MouseEventHandler
(package private) class
ConflictDialog.ResolveAction
(package private) static class
ConflictDialog.ResolveButtonsPopupMenuListener
(package private) class
ConflictDialog.ResolveToAction
(package private) class
ConflictDialog.ResolveToMyVersionAction
(package private) class
ConflictDialog.ResolveToTheirVersionAction
(package private) class
ConflictDialog.SelectAction
-
Nested classes/interfaces inherited from class org.openstreetmap.josm.gui.dialogs.ToggleDialog
ToggleDialog.ButtonHidingType, ToggleDialog.TitleBar, ToggleDialog.ToggleDialogAction
-
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
-
Nested classes/interfaces inherited from interface org.openstreetmap.josm.data.osm.DataSelectionListener
DataSelectionListener.AbstractSelectionEvent, DataSelectionListener.SelectionAddEvent, DataSelectionListener.SelectionChangeEvent, DataSelectionListener.SelectionRemoveEvent, DataSelectionListener.SelectionReplaceEvent, DataSelectionListener.SelectionToggleEvent
-
-
Field Summary
Fields Modifier and Type Field Description private ConflictDialog.ResolveAction
actResolve
private ConflictDialog.SelectAction
actSelect
private static NamedColorProperty
BACKGROUND_COLOR
private static NamedColorProperty
CONFLICT_COLOR
private ConflictCollection
conflicts
the collection of conflicts displayed by this conflict dialogprivate javax.swing.JList<OsmPrimitive>
lstConflicts
the list widget for the list of conflictsprivate ConflictDialog.ConflictListModel
model
the model for the list of conflictsprivate javax.swing.JPopupMenu
popupMenu
private PopupMenuHandler
popupMenuHandler
-
Fields inherited from class org.openstreetmap.josm.gui.dialogs.ToggleDialog
button, buttonHiding, detachedDialog, dialogsPanel, isCollapsed, isDocked, isShowing, name, preferenceClass, preferencePrefix, PROP_DYNAMIC_BUTTONS, titleBar, toggleAction, windowMenuItem
-
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 Constructor Description ConflictDialog()
Constructs a newConflictDialog
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
activeOrEditLayerChanged(MainLayerManager.ActiveLayerChangeEvent e)
Called whenever the active or edit layer changed.private void
addDataLayerListeners(OsmDataLayer newLayer)
void
addListSelectionListener(javax.swing.event.ListSelectionListener listener)
Add a list selection listener to the conflicts list.private void
build()
builds the GUIstatic java.awt.Color
getColor()
Replies the color used to paint conflicts.ConflictCollection
getConflicts()
replies the conflict collection currently held by this dialog; may be nullPopupMenuHandler
getPopupMenuHandler()
Replies the popup menu handler.Conflict<? extends OsmPrimitive>
getSelectedConflict()
returns the first selected item of the conflicts listjava.lang.String
helpTopic()
Returns the help topic on JOSM wiki for this feature.void
hideNotify()
Called when toggle dialog is hidden (collapsed, removed, MapFrame is removed, ...).private boolean
isConflictSelected()
void
onConflictsAdded(ConflictCollection conflicts)
Called when conflicts are added.void
onConflictsRemoved(ConflictCollection conflicts)
Called when conflicts are removed.void
paintConflicts(java.awt.Graphics g, NavigatableComponent nc)
Paints all conflicts that can be expressed on the main window.void
refreshView()
refreshes the view of this dialogprivate void
removeDataLayerListeners(OsmDataLayer oldLayer)
void
removeListSelectionListener(javax.swing.event.ListSelectionListener listener)
Remove the given list selection listener from the conflicts list.private void
resolve()
Launches a conflict resolution dialog for the first selected conflictvoid
selectionChanged(DataSelectionListener.SelectionChangeEvent event)
Called whenever the selection is changed.void
showNotify()
Called when toggle dialog is shown (after it was created or expanded).private void
updateTitle()
void
warnNumNewConflicts(int numNewConflicts)
Warns the user about the number of detected conflicts-
Methods inherited from class org.openstreetmap.josm.gui.dialogs.ToggleDialog
buttonHidden, buttonShown, clearButtonActions, closeDetachedDialog, collapse, createLayout, createLayout, destroy, detach, dock, dockWhenClosingDetachedDlg, eventDispatched, expand, getButton, getDefaultDetachedSize, getLastHeight, getName, getPreferencePrefix, getPreferredHeight, getToggleAction, hideDialog, isDialogInCollapsedView, isDialogInDefaultView, isDialogShowing, preferenceChanged, registerInWindowMenu, rememberHeight, setButton, setContentVisible, setDialogsPanel, setIsButtonHiding, setIsCollapsed, setIsDocked, setIsShowing, setTitle, showDialog, stateChanged, toggleButtonHook, toString, unfurlDialog
-
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, 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, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
CONFLICT_COLOR
private static final NamedColorProperty CONFLICT_COLOR
-
BACKGROUND_COLOR
private static final NamedColorProperty BACKGROUND_COLOR
-
conflicts
private transient ConflictCollection conflicts
the collection of conflicts displayed by this conflict dialog
-
model
private transient ConflictDialog.ConflictListModel model
the model for the list of conflicts
-
lstConflicts
private javax.swing.JList<OsmPrimitive> lstConflicts
the list widget for the list of conflicts
-
popupMenu
private final javax.swing.JPopupMenu popupMenu
-
popupMenuHandler
private final transient PopupMenuHandler popupMenuHandler
-
actResolve
private final ConflictDialog.ResolveAction actResolve
-
actSelect
private final ConflictDialog.SelectAction actSelect
-
-
Constructor Detail
-
ConflictDialog
public ConflictDialog()
Constructs a newConflictDialog
.
-
-
Method Detail
-
getColor
public static java.awt.Color getColor()
Replies the color used to paint conflicts.- Returns:
- the color used to paint conflicts
- Since:
- 1221
- See Also:
paintConflicts(java.awt.Graphics, org.openstreetmap.josm.gui.NavigatableComponent)
-
build
private void build()
builds the GUI
-
showNotify
public void showNotify()
Description copied from class:ToggleDialog
Called when toggle dialog is shown (after it was created or expanded). Descendants may overwrite this method, it's a good place to register listeners needed to keep dialog updated- Overrides:
showNotify
in classToggleDialog
-
hideNotify
public void hideNotify()
Description copied from class:ToggleDialog
Called when toggle dialog is hidden (collapsed, removed, MapFrame is removed, ...). Good place to unregister listeners- Overrides:
hideNotify
in classToggleDialog
-
addListSelectionListener
public void addListSelectionListener(javax.swing.event.ListSelectionListener listener)
Add a list selection listener to the conflicts list.- Parameters:
listener
- the ListSelectionListener- Since:
- 5958
-
removeListSelectionListener
public void removeListSelectionListener(javax.swing.event.ListSelectionListener listener)
Remove the given list selection listener from the conflicts list.- Parameters:
listener
- the ListSelectionListener- Since:
- 5958
-
getPopupMenuHandler
public PopupMenuHandler getPopupMenuHandler()
Replies the popup menu handler.- Returns:
- The popup menu handler
- Since:
- 5958
-
resolve
private void resolve()
Launches a conflict resolution dialog for the first selected conflict
-
refreshView
public void refreshView()
refreshes the view of this dialog
-
updateTitle
private void updateTitle()
-
paintConflicts
public void paintConflicts(java.awt.Graphics g, NavigatableComponent nc)
Paints all conflicts that can be expressed on the main window.- Parameters:
g
- TheGraphics
used to paintnc
- TheNavigatableComponent
used to get screen coordinates of nodes- Since:
- 86
-
activeOrEditLayerChanged
public void activeOrEditLayerChanged(MainLayerManager.ActiveLayerChangeEvent e)
Description copied from interface:MainLayerManager.ActiveLayerChangeListener
Called whenever the active or edit layer changed.You can be sure that this layer is still contained in this set.
Listeners are called in the EDT thread and you can manipulate the layer manager in the current thread.
- Specified by:
activeOrEditLayerChanged
in interfaceMainLayerManager.ActiveLayerChangeListener
- Parameters:
e
- The change event.
-
addDataLayerListeners
private void addDataLayerListeners(OsmDataLayer newLayer)
-
removeDataLayerListeners
private void removeDataLayerListeners(OsmDataLayer oldLayer)
-
getConflicts
public ConflictCollection getConflicts()
replies the conflict collection currently held by this dialog; may be null- Returns:
- the conflict collection currently held by this dialog; may be null
-
getSelectedConflict
public Conflict<? extends OsmPrimitive> getSelectedConflict()
returns the first selected item of the conflicts list- Returns:
- Conflict
-
isConflictSelected
private boolean isConflictSelected()
-
onConflictsAdded
public void onConflictsAdded(ConflictCollection conflicts)
Description copied from interface:IConflictListener
Called when conflicts are added.- Specified by:
onConflictsAdded
in interfaceIConflictListener
- Parameters:
conflicts
- collection to which conflicts have been added
-
onConflictsRemoved
public void onConflictsRemoved(ConflictCollection conflicts)
Description copied from interface:IConflictListener
Called when conflicts are removed.- Specified by:
onConflictsRemoved
in interfaceIConflictListener
- Parameters:
conflicts
- collection from which conflicts have been removed
-
selectionChanged
public void selectionChanged(DataSelectionListener.SelectionChangeEvent event)
Description copied from interface:DataSelectionListener
Called whenever the selection is changed. You get notified about the new selection, the elements that were added and removed and the layer that triggered the event.- Specified by:
selectionChanged
in interfaceDataSelectionListener
- Parameters:
event
- The selection change event.- See Also:
DataSelectionListener.SelectionChangeEvent
-
helpTopic
public java.lang.String helpTopic()
Description copied from interface:Helpful
Returns the help topic on JOSM wiki for this feature.- Specified by:
helpTopic
in interfaceHelpful
- Overrides:
helpTopic
in classToggleDialog
- Returns:
- the help topic on JOSM wiki for this feature
-
warnNumNewConflicts
public void warnNumNewConflicts(int numNewConflicts)
Warns the user about the number of detected conflicts- Parameters:
numNewConflicts
- the number of detected conflicts- Since:
- 5775
-
-