public class TagMergeModel extends javax.swing.table.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 java.util.List<java.beans.PropertyChangeListener> |
listeners
the property change listeners
|
private int |
numUndecidedTags |
static java.lang.String |
PROP_NUM_UNDECIDED_TAGS |
private java.util.List<TagMergeItem> |
tagMergeItems
the list of tag merge items
|
Constructor and Description |
---|
TagMergeModel() |
Modifier and Type | Method and Description |
---|---|
void |
addItem(TagMergeItem item)
add a
TagMergeItem to the model |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener) |
TagConflictResolveCommand |
buildResolveCommand(Conflict<? extends OsmPrimitive> conflict) |
void |
decide(int[] rows,
MergeDecisionType decision)
|
void |
decide(int row,
MergeDecisionType decision)
|
protected void |
fireNumUndecidedTagsChanged(int oldValue,
int newValue)
notifies
PropertyChangeListener s about an update of PROP_NUM_UNDECIDED_TAGS |
int |
getFirstUndecided(int startIndex) |
int |
getNumResolvedConflicts() |
int |
getRowCount() |
java.lang.Object |
getValueAt(int row,
int column) |
boolean |
isCellEditable(int row,
int column) |
boolean |
isResolvedCompletely() |
void |
populate(OsmPrimitive my,
OsmPrimitive their)
|
protected void |
refreshNumUndecidedTags()
refreshes the number of undecided tag conflicts after an update in the list of
TagMergeItem s. |
protected void |
rememberDecision(int row,
MergeDecisionType decision) |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener) |
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 java.lang.String PROP_NUM_UNDECIDED_TAGS
private final java.util.List<TagMergeItem> tagMergeItems
private final java.util.List<java.beans.PropertyChangeListener> listeners
private int numUndecidedTags
public TagMergeModel()
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
public void removePropertyChangeListener(java.beans.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 javax.swing.table.TableModel
getRowCount
in class javax.swing.table.DefaultTableModel
public java.lang.Object getValueAt(int row, int column)
getValueAt
in interface javax.swing.table.TableModel
getValueAt
in class javax.swing.table.DefaultTableModel
public boolean isCellEditable(int row, int column)
isCellEditable
in interface javax.swing.table.TableModel
isCellEditable
in class javax.swing.table.DefaultTableModel
public TagConflictResolveCommand buildResolveCommand(Conflict<? extends OsmPrimitive> conflict)
public boolean isResolvedCompletely()
public int getNumResolvedConflicts()
public int getFirstUndecided(int startIndex)