public class ConflictResolver extends javax.swing.JPanel implements java.beans.PropertyChangeListener
OsmPrimitive
s.
This component emits PropertyChangeEvent
s for three properties:
RESOLVED_COMPLETELY_PROP
- new value is true
, if the conflict is
completely resolvedMY_PRIMITIVE_PROP
- new value is the OsmPrimitive
in the role of
my primitiveTHEIR_PRIMITIVE_PROP
- new value is the OsmPrimitive
in the role of
their primitivejavax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
private Conflict<? extends OsmPrimitive> |
conflict |
private java.util.List<IConflictResolver> |
conflictResolvers |
private javax.swing.ImageIcon |
mergeComplete |
private javax.swing.ImageIcon |
mergeIncomplete |
private OsmPrimitive |
my |
static java.lang.String |
MY_PRIMITIVE_PROP
name of the property for the
OsmPrimitive in the role "my" |
private NodeListMerger |
nodeListMerger |
private PropertiesMerger |
propertiesMerger |
private RelationMemberMerger |
relationMemberMerger |
static java.lang.String |
RESOLVED_COMPLETELY_PROP
name of the property indicating whether all conflicts are resolved,
isResolvedCompletely() |
private boolean |
resolvedCompletely
indicates whether the current conflict is resolved completely
|
private javax.swing.JTabbedPane |
tabbedPane |
private TagMerger |
tagMerger |
private OsmPrimitive |
their |
static java.lang.String |
THEIR_PRIMITIVE_PROP
name of the property for the
OsmPrimitive in the role "my" |
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
ConflictResolver()
constructor
|
Modifier and Type | Method and Description |
---|---|
protected void |
build()
builds the UI
|
Command |
buildResolveCommand()
Builds the resolution command(s) for the resolved conflicts in this ConflictResolver
|
void |
decideRemaining(MergeDecisionType decision)
Decides/resolves undecided conflicts to the given decision type |
boolean |
isResolvedCompletely()
Replies true all differences in this conflicts are resolved
|
protected void |
loadIcons()
loads the required icons
|
void |
populate(Conflict<? extends OsmPrimitive> conflict)
populates the conflict resolver with the conflicts between my and their
|
void |
propertyChange(java.beans.PropertyChangeEvent evt)
handles property change events
|
void |
registerListeners()
Adds all registered listeners by this conflict resolver
|
void |
selectFirstTabWithConflicts()
Selects the first tab with conflicts |
protected void |
setMy(OsmPrimitive my)
Sets the
OsmPrimitive in the role "my" |
protected void |
setTheir(OsmPrimitive their)
Sets the
OsmPrimitive in the role "their". |
void |
unregisterListeners()
Removes all registered listeners by this conflict resolver
|
protected void |
updateResolvedCompletely()
Updates the state of the property
RESOLVED_COMPLETELY_PROP |
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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
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
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, 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
public static final java.lang.String RESOLVED_COMPLETELY_PROP
isResolvedCompletely()
public static final java.lang.String MY_PRIMITIVE_PROP
OsmPrimitive
in the role "my"public static final java.lang.String THEIR_PRIMITIVE_PROP
OsmPrimitive
in the role "my"private javax.swing.JTabbedPane tabbedPane
private NodeListMerger nodeListMerger
private RelationMemberMerger relationMemberMerger
private PropertiesMerger propertiesMerger
private final transient java.util.List<IConflictResolver> conflictResolvers
private transient OsmPrimitive my
private transient OsmPrimitive their
private transient Conflict<? extends OsmPrimitive> conflict
private javax.swing.ImageIcon mergeComplete
private javax.swing.ImageIcon mergeIncomplete
private boolean resolvedCompletely
public ConflictResolver()
protected final void loadIcons()
protected final void build()
protected void setMy(OsmPrimitive my)
OsmPrimitive
in the role "my"my
- the primitive in the role "my"protected void setTheir(OsmPrimitive their)
OsmPrimitive
in the role "their".their
- the primitive in the role "their"public void propertyChange(java.beans.PropertyChangeEvent evt)
propertyChange
in interface java.beans.PropertyChangeListener
evt
- the eventTagMergeModel
,
AbstractListMergeModel
,
PropertiesMergeModel
public void populate(Conflict<? extends OsmPrimitive> conflict)
conflict
- the conflict data setpublic void selectFirstTabWithConflicts()
Selects
the first tab with conflictspublic Command buildResolveCommand()
protected void updateResolvedCompletely()
RESOLVED_COMPLETELY_PROP
public boolean isResolvedCompletely()
public void registerListeners()
unregisterListeners()
public void unregisterListeners()
public void decideRemaining(MergeDecisionType decision)
Decides/resolves
undecided conflicts to the given decision typedecision
- the decision to take for undecided conflictsjava.lang.AssertionError
- if isResolvedCompletely()
does not hold after applying the decision