public class MemberTableModel extends AbstractTableModel implements TableModelListener, SelectionChangedListener, DataSetListener, OsmPrimitivesTableModel
Modifier and Type | Field and Description |
---|---|
private List<WayConnectionType> |
connectionType |
private OsmDataLayer |
layer |
private CopyOnWriteArrayList<IMemberModelListener> |
listeners |
private DefaultListSelectionModel |
listSelectionModel |
private List<RelationMember> |
members
data of the table model: The list of members and the cached WayConnectionType of each member.
|
private TaggingPresetHandler |
presetHandler |
private RelationSorter |
relationSorter |
private WayConnectionTypeCalculator |
wayConnectionTypeCalculator |
listenerList
Constructor and Description |
---|
MemberTableModel(OsmDataLayer layer,
TaggingPresetHandler presetHandler)
constructor
|
Modifier and Type | Method and Description |
---|---|
void |
addMemberModelListener(IMemberModelListener listener) |
void |
addMembersAfterIdx(List<? extends OsmPrimitive> primitives,
int idx) |
void |
addMembersAtBeginning(List<? extends OsmPrimitive> primitives) |
void |
addMembersAtEnd(List<? extends OsmPrimitive> primitives) |
private void |
addMembersAtIndex(List<? extends OsmPrimitive> primitives,
int index) |
void |
addMembersBeforeIdx(List<? extends OsmPrimitive> primitives,
int idx) |
void |
applyToRelation(Relation relation) |
boolean |
canMoveDown(int[] rows) |
boolean |
canMoveUp(int[] rows) |
boolean |
canRemove(int[] rows) |
void |
dataChanged(DataChangedEvent event)
Called after big changes in dataset.
|
protected void |
fireMakeMemberVisible(int index) |
Set<OsmPrimitive> |
getChildPrimitives(Collection<? extends OsmPrimitive> referenceSet)
Replies the set of selected referers.
|
int |
getColumnCount() |
Set<OsmPrimitive> |
getIncompleteMemberPrimitives()
Replies the set of incomplete primitives
|
OsmDataLayer |
getLayer()
Returns the data layer.
|
int |
getNumMembersWithPrimitive(OsmPrimitive primitive)
Replies the number of members which refer to a particular primitive
|
OsmPrimitive |
getReferredPrimitive(int idx) |
int |
getRowCount() |
Collection<OsmPrimitive> |
getSelectedChildPrimitives()
Replies the set of selected referers.
|
Set<OsmPrimitive> |
getSelectedIncompleteMemberPrimitives()
Replies the set of selected incomplete primitives
|
protected List<Integer> |
getSelectedIndices() |
Collection<RelationMember> |
getSelectedMembers()
Get the currently selected relation members
|
DefaultListSelectionModel |
getSelectionModel() |
Object |
getValueAt(int rowIndex,
int columnIndex) |
(package private) WayConnectionType |
getWayConnection(int i) |
boolean |
hasIncompleteMembers()
Replies true if at least one the relation members is incomplete
|
boolean |
hasIncompleteSelectedMembers()
Replies true if at least one of the selected members is incomplete
|
boolean |
hasMembersReferringTo(Collection<OsmPrimitive> primitives)
Replies true if there is at least one relation member in this model
which refers to at least on the primitives in
primitives . |
static boolean |
hasMembersReferringTo(Collection<RelationMember> members,
Collection<OsmPrimitive> primitives)
Replies true if there is at least one relation member given as
members
which refers to at least on the primitives in primitives . |
boolean |
hasSameMembersAs(Relation relation) |
boolean |
isCellEditable(int rowIndex,
int columnIndex) |
boolean |
isEditableRelation(int index)
Replies true if the index-th relation members referrs
to an editable relation, i.e.
|
boolean |
isInJosmSelection(OsmPrimitive primitive)
Replies true if
primitive is currently selected in the layer this
model is attached to |
void |
moveDown(int[] selectedRows) |
void |
moveUp(int[] selectedRows) |
void |
nodeMoved(NodeMovedEvent event)
A node's coordinates were modified.
|
void |
otherDatasetChange(AbstractDatasetChangedEvent event)
Minor dataset change, currently only changeset id changed is supported, but can
be extended in future.
|
void |
populate(Relation relation) |
void |
primitivesAdded(PrimitivesAddedEvent event)
A bunch of primitives were added into the DataSet, or existing
deleted/invisible primitives were resurrected.
|
void |
primitivesRemoved(PrimitivesRemovedEvent event)
A bunch of primitives were removed from the DataSet, or preexisting
primitives were marked as deleted.
|
void |
register() |
void |
relationMembersChanged(RelationMembersChangedEvent event)
A relation's members have changed.
|
void |
remove(int[] selectedRows) |
void |
removeMemberModelListener(IMemberModelListener listener) |
void |
removeMembersReferringTo(List<? extends OsmPrimitive> primitives) |
(package private) void |
reverse()
Reverse the relation members.
|
void |
selectionChanged(Collection<? extends OsmPrimitive> newSelection)
Informs the listener that the selection in the dataset has changed.
|
void |
selectMembersReferringTo(Collection<? extends OsmPrimitive> primitives)
Selects all mebers which refer to
OsmPrimitive s in the collections
primitmives . |
void |
setSelectedMembers(Collection<RelationMember> selectedMembers)
Selects the members in the collection selectedMembers
|
void |
setSelectedMembersIdx(Collection<Integer> selectedIndices)
Selects the members in the collection selectedIndices
|
void |
setValueAt(Object value,
int rowIndex,
int columnIndex) |
(package private) void |
sort()
Sort the selected relation members by the way they are linked.
|
(package private) void |
sortBelow()
Sort the selected relation members and all members below by the way they are linked.
|
void |
tableChanged(TableModelEvent e) |
void |
tagsChanged(TagsChangedEvent event)
There was some change in the tag set of a primitive.
|
void |
unregister() |
void |
updateRole(int[] idx,
String role)
updates the role of the members given by the indices in
idx |
void |
wayNodesChanged(WayNodesChangedEvent event)
A way's node list was changed.
|
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getColumnName, getListeners, getTableModelListeners, removeTableModelListener
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addTableModelListener, getColumnClass, getColumnName, removeTableModelListener
private final transient List<RelationMember> members
private transient List<WayConnectionType> connectionType
private DefaultListSelectionModel listSelectionModel
private final CopyOnWriteArrayList<IMemberModelListener> listeners
private final transient OsmDataLayer layer
private final transient TaggingPresetHandler presetHandler
private final transient WayConnectionTypeCalculator wayConnectionTypeCalculator
private final transient RelationSorter relationSorter
public MemberTableModel(OsmDataLayer layer, TaggingPresetHandler presetHandler)
layer
- data layerpresetHandler
- tagging preset handlerpublic OsmDataLayer getLayer()
public void register()
public void unregister()
public void selectionChanged(Collection<? extends OsmPrimitive> newSelection)
SelectionChangedListener
selectionChanged
in interface SelectionChangedListener
newSelection
- The new selection.public void dataChanged(DataChangedEvent event)
DataSetListener
DataSetListener.dataChanged(DataChangedEvent event)
is called.dataChanged
in interface DataSetListener
event
- data change eventpublic void nodeMoved(NodeMovedEvent event)
DataSetListener
nodeMoved
in interface DataSetListener
event
- The event for the node that was moved.public void primitivesAdded(PrimitivesAddedEvent event)
DataSetListener
primitivesAdded
in interface DataSetListener
event
- An event for an collection of newly-visible primitivespublic void primitivesRemoved(PrimitivesRemovedEvent event)
DataSetListener
primitivesRemoved
in interface DataSetListener
event
- An event for an collection of newly-invisible primitivespublic void relationMembersChanged(RelationMembersChangedEvent event)
DataSetListener
relationMembersChanged
in interface DataSetListener
event
- The event for the relation that was modified.public void tagsChanged(TagsChangedEvent event)
DataSetListener
tagsChanged
in interface DataSetListener
event
- the event for the primitive, whose tags were affected.public void wayNodesChanged(WayNodesChangedEvent event)
DataSetListener
wayNodesChanged
in interface DataSetListener
event
- The event for the way that was modified.public void otherDatasetChange(AbstractDatasetChangedEvent event)
DataSetListener
otherDatasetChange
in interface DataSetListener
event
- the event for data modificationpublic void addMemberModelListener(IMemberModelListener listener)
public void removeMemberModelListener(IMemberModelListener listener)
protected void fireMakeMemberVisible(int index)
public int getColumnCount()
getColumnCount
in interface TableModel
public int getRowCount()
getRowCount
in interface TableModel
public Object getValueAt(int rowIndex, int columnIndex)
getValueAt
in interface TableModel
public boolean isCellEditable(int rowIndex, int columnIndex)
isCellEditable
in interface TableModel
isCellEditable
in class AbstractTableModel
public void setValueAt(Object value, int rowIndex, int columnIndex)
setValueAt
in interface TableModel
setValueAt
in class AbstractTableModel
public OsmPrimitive getReferredPrimitive(int idx)
getReferredPrimitive
in interface OsmPrimitivesTableModel
public void moveUp(int[] selectedRows)
public void moveDown(int[] selectedRows)
public void remove(int[] selectedRows)
public boolean canMoveUp(int[] rows)
public boolean canMoveDown(int[] rows)
public boolean canRemove(int[] rows)
public DefaultListSelectionModel getSelectionModel()
public void removeMembersReferringTo(List<? extends OsmPrimitive> primitives)
public void applyToRelation(Relation relation)
public boolean hasSameMembersAs(Relation relation)
public Set<OsmPrimitive> getIncompleteMemberPrimitives()
public Set<OsmPrimitive> getSelectedIncompleteMemberPrimitives()
public boolean hasIncompleteMembers()
public boolean hasIncompleteSelectedMembers()
protected List<Integer> getSelectedIndices()
private void addMembersAtIndex(List<? extends OsmPrimitive> primitives, int index)
public void addMembersAtBeginning(List<? extends OsmPrimitive> primitives)
public void addMembersAtEnd(List<? extends OsmPrimitive> primitives)
public void addMembersBeforeIdx(List<? extends OsmPrimitive> primitives, int idx)
public void addMembersAfterIdx(List<? extends OsmPrimitive> primitives, int idx)
public int getNumMembersWithPrimitive(OsmPrimitive primitive)
primitive
- the primitivepublic void updateRole(int[] idx, String role)
idx
idx
- the array of indicesrole
- the new rolepublic Collection<RelationMember> getSelectedMembers()
public Collection<OsmPrimitive> getSelectedChildPrimitives()
public Set<OsmPrimitive> getChildPrimitives(Collection<? extends OsmPrimitive> referenceSet)
referenceSet
- reference setpublic void setSelectedMembers(Collection<RelationMember> selectedMembers)
selectedMembers
- the collection of selected memberspublic void setSelectedMembersIdx(Collection<Integer> selectedIndices)
selectedIndices
- the collection of selected member indicespublic boolean isEditableRelation(int index)
index
- the indexpublic static boolean hasMembersReferringTo(Collection<RelationMember> members, Collection<OsmPrimitive> primitives)
members
which refers to at least on the primitives in primitives
.members
- the membersprimitives
- the collection of primitivesprimitives
; false
otherwisepublic boolean hasMembersReferringTo(Collection<OsmPrimitive> primitives)
primitives
.primitives
- the collection of primitivesprimitives
; false
otherwisepublic void selectMembersReferringTo(Collection<? extends OsmPrimitive> primitives)
OsmPrimitive
s in the collections
primitmives
. Does nothing is primitives is null.primitives
- the collection of primitivespublic boolean isInJosmSelection(OsmPrimitive primitive)
primitive
is currently selected in the layer this
model is attached toprimitive
- the primitiveprimitive
is currently selected in the layer this
model is attached to, false otherwisevoid sort()
void sortBelow()
WayConnectionType getWayConnection(int i)
public void tableChanged(TableModelEvent e)
tableChanged
in interface TableModelListener
void reverse()