public class TagMergeModel extends DefaultTableModel
TableModel
used in the tables of the TagMerger
.
The model can populate(OsmPrimitive, OsmPrimitive)
itself from the conflicts
in the tag sets of two OsmPrimitive
s. Internally, it keeps a list of TagMergeItem
s.
decide(int, MergeDecisionType)
and decide(int[], MergeDecisionType)
can be used
to remember a merge decision for a specific row in the model.
The model notifies PropertyChangeListener
s about updates of the number of
undecided tags (see PROP_NUM_UNDECIDED_TAGS
).Modifier and Type | Field and Description |
---|---|
private List<PropertyChangeListener> |
listeners
the property change listeners
|
private int |
numUndecidedTags |
static String |
PROP_NUM_UNDECIDED_TAGS |
private List<TagMergeItem> |
tagMergeItems
the list of tag merge items
|
columnIdentifiers, dataVector
listenerList
Constructor and Description |
---|
TagMergeModel() |
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
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener
public static final String PROP_NUM_UNDECIDED_TAGS
private final List<TagMergeItem> tagMergeItems
private final List<PropertyChangeListener> listeners
private int numUndecidedTags
public TagMergeModel()
public void addPropertyChangeListener(PropertyChangeListener listener)
public void removePropertyChangeListener(PropertyChangeListener listener)
protected void fireNumUndecidedTagsChanged(int oldValue, int newValue)
PropertyChangeListener
s about an update of PROP_NUM_UNDECIDED_TAGS
oldValue
- the old valuenewValue
- the new valueprotected void refreshNumUndecidedTags()
TagMergeItem
s. Notifies PropertyChangeListener
if necessary.public void populate(OsmPrimitive my, OsmPrimitive their)
my
- my primitive (i.e. the primitive from the local dataset)their
- their primitive (i.e. the primitive from the server dataset)public void addItem(TagMergeItem item)
TagMergeItem
to the modelitem
- the itemprotected void rememberDecision(int row, MergeDecisionType decision)
public void decide(int row, MergeDecisionType decision)
row
- the rowdecision
- the decisionpublic void decide(int[] rows, MergeDecisionType decision)
rows
- the array of row indicesdecision
- the decisionpublic int getRowCount()
getRowCount
in interface TableModel
getRowCount
in class DefaultTableModel
public Object getValueAt(int row, int column)
getValueAt
in interface TableModel
getValueAt
in class DefaultTableModel
public boolean isCellEditable(int row, int column)
isCellEditable
in interface TableModel
isCellEditable
in class DefaultTableModel
public TagConflictResolveCommand buildResolveCommand(Conflict<? extends OsmPrimitive> conflict)
public boolean isResolvedCompletely()
public int getNumResolvedConflicts()
public int getFirstUndecided(int startIndex)