Class TagMergeModel
- java.lang.Object
-
- javax.swing.table.AbstractTableModel
-
- javax.swing.table.DefaultTableModel
-
- org.openstreetmap.josm.gui.conflict.pair.tags.TagMergeModel
-
- All Implemented Interfaces:
Serializable
,TableModel
public class TagMergeModel extends DefaultTableModel
This is theTableModel
used in the tables of theTagMerger
. The model canpopulate(OsmPrimitive, OsmPrimitive)
itself from the conflicts in the tag sets of twoOsmPrimitive
s. Internally, it keeps a list ofTagMergeItem
s.decide(int, MergeDecisionType)
anddecide(int[], MergeDecisionType)
can be used to remember a merge decision for a specific row in the model. The model notifiesPropertyChangeListener
s about updates of the number of undecided tags (seePROP_NUM_UNDECIDED_TAGS
).- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private Set<PropertyChangeListener>
listeners
the property change listenersprivate int
numUndecidedTags
static String
PROP_NUM_UNDECIDED_TAGS
private List<TagMergeItem>
tagMergeItems
the list of tag merge items-
Fields inherited from class javax.swing.table.DefaultTableModel
columnIdentifiers, dataVector
-
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
-
-
Constructor Summary
Constructors Constructor Description TagMergeModel()
Constructs a newTagMergeModel
.
-
Method Summary
-
Methods inherited from class javax.swing.table.DefaultTableModel
addColumn, addColumn, addColumn, addRow, addRow, convertToVector, convertToVector, getColumnCount, getColumnName, getDataVector, insertRow, insertRow, moveRow, newDataAvailable, newRowsAdded, removeRow, rowsRemoved, setColumnCount, setColumnIdentifiers, setColumnIdentifiers, setDataVector, setDataVector, setNumRows, setRowCount, setValueAt
-
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener
-
-
-
-
Field Detail
-
PROP_NUM_UNDECIDED_TAGS
public static final String PROP_NUM_UNDECIDED_TAGS
-
tagMergeItems
private final transient List<TagMergeItem> tagMergeItems
the list of tag merge items
-
listeners
private final transient Set<PropertyChangeListener> listeners
the property change listeners
-
numUndecidedTags
private int numUndecidedTags
-
-
Constructor Detail
-
TagMergeModel
public TagMergeModel()
Constructs a newTagMergeModel
.
-
-
Method Detail
-
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
-
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
-
fireNumUndecidedTagsChanged
protected void fireNumUndecidedTagsChanged(int oldValue, int newValue)
notifiesPropertyChangeListener
s about an update ofPROP_NUM_UNDECIDED_TAGS
- Parameters:
oldValue
- the old valuenewValue
- the new value
-
refreshNumUndecidedTags
protected void refreshNumUndecidedTags()
refreshes the number of undecided tag conflicts after an update in the list ofTagMergeItem
s. NotifiesPropertyChangeListener
if necessary.
-
populate
public void populate(OsmPrimitive my, OsmPrimitive their)
- Parameters:
my
- my primitive (i.e. the primitive from the local dataset)their
- their primitive (i.e. the primitive from the server dataset)
-
addItem
public void addItem(TagMergeItem item)
add aTagMergeItem
to the model- Parameters:
item
- the item
-
rememberDecision
protected void rememberDecision(int row, MergeDecisionType decision)
-
decide
public void decide(int row, MergeDecisionType decision)
- Parameters:
row
- the rowdecision
- the decision
-
decide
public void decide(int[] rows, MergeDecisionType decision)
- Parameters:
rows
- the array of row indicesdecision
- the decision
-
getRowCount
public int getRowCount()
- Specified by:
getRowCount
in interfaceTableModel
- Overrides:
getRowCount
in classDefaultTableModel
-
getValueAt
public Object getValueAt(int row, int column)
- Specified by:
getValueAt
in interfaceTableModel
- Overrides:
getValueAt
in classDefaultTableModel
-
isCellEditable
public boolean isCellEditable(int row, int column)
- Specified by:
isCellEditable
in interfaceTableModel
- Overrides:
isCellEditable
in classDefaultTableModel
-
buildResolveCommand
public TagConflictResolveCommand buildResolveCommand(Conflict<? extends OsmPrimitive> conflict)
-
isResolvedCompletely
public boolean isResolvedCompletely()
-
decideRemaining
public void decideRemaining(MergeDecisionType decision)
-
getNumResolvedConflicts
public int getNumResolvedConflicts()
-
getNumUnresolvedConflicts
public int getNumUnresolvedConflicts()
-
getFirstUndecided
public int getFirstUndecided(int startIndex)
-
-