|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.swing.table.AbstractTableModel
org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel
public class MemberTableModel
| Nested Class Summary | |
|---|---|
private static interface |
MemberTableModel.AdditionalSorter
|
private static class |
MemberTableModel.AssociatedStreetSorter
Class that sorts type=associatedStreet relation's houses. |
| Field Summary | |
|---|---|
private static java.util.Collection<MemberTableModel.AdditionalSorter> |
additionalSorters
|
private java.util.List<WayConnectionType> |
connectionType
|
(package private) int |
firstGroupIdx
|
(package private) int |
lastBackwardWay
|
(package private) int |
lastForwardWay
|
private OsmDataLayer |
layer
|
private java.util.concurrent.CopyOnWriteArrayList<IMemberModelListener> |
listeners
|
private javax.swing.DefaultListSelectionModel |
listSelectionModel
|
private java.util.List<RelationMember> |
members
data of the table model: The list of members and the cached WayConnectionType of each member. |
(package private) boolean |
onewayBeginning
|
private int |
UNCONNECTED
|
| Fields inherited from class javax.swing.table.AbstractTableModel |
|---|
listenerList |
| Constructor Summary | |
|---|---|
MemberTableModel(OsmDataLayer layer)
constructor |
|
| Method Summary | |
|---|---|
void |
addMemberModelListener(IMemberModelListener listener)
|
void |
addMembersAfterIdx(java.util.List<? extends OsmPrimitive> primitives,
int idx)
|
void |
addMembersAtBeginning(java.util.List<? extends OsmPrimitive> primitives)
|
void |
addMembersAtEnd(java.util.List<? extends OsmPrimitive> primitives)
|
private void |
addMembersAtIndex(java.util.List<? extends OsmPrimitive> primitives,
int index)
|
void |
addMembersBeforeIdx(java.util.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. |
private WayConnectionType.Direction |
determineDirection(int ref_i,
WayConnectionType.Direction ref_direction,
int k)
|
private WayConnectionType.Direction |
determineDirection(int ref_i,
WayConnectionType.Direction ref_direction,
int k,
boolean reversed)
Determines the direction of way k with respect to the way ref_i. |
private WayConnectionType.Direction |
determineDirectionOfFirst(int i,
RelationMember m)
|
private WayConnectionType |
determineOnewayConnectionType(java.util.List<WayConnectionType> con,
RelationMember m,
int i,
WayConnectionType wct)
|
protected void |
fireMakeMemberVisible(int index)
|
java.util.Set<OsmPrimitive> |
getChildPrimitives(java.util.Collection<? extends OsmPrimitive> referenceSet)
Replies the set of selected referers. |
int |
getColumnCount()
|
java.util.Set<OsmPrimitive> |
getIncompleteMemberPrimitives()
Replies the set of incomplete primitives |
OsmDataLayer |
getLayer()
|
int |
getNumMembersWithPrimitive(OsmPrimitive primitive)
Replies the number of members which refer to a particular primitive |
OsmPrimitive |
getReferredPrimitive(int idx)
|
int |
getRowCount()
|
java.util.Collection<OsmPrimitive> |
getSelectedChildPrimitives()
Replies the set of selected referers. |
java.util.Set<OsmPrimitive> |
getSelectedIncompleteMemberPrimitives()
Replies the set of selected incomplete primitives |
protected java.util.List<java.lang.Integer> |
getSelectedIndices()
|
java.util.Collection<RelationMember> |
getSelectedMembers()
Get the currently selected relation members |
javax.swing.DefaultListSelectionModel |
getSelectionModel()
|
java.lang.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(java.util.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(java.util.Collection<RelationMember> members,
java.util.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)
|
protected boolean |
isActiveLayer()
Replies true if the layer this model belongs to is equal to the active layer |
private static boolean |
isBackward(RelationMember member)
|
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. |
private static boolean |
isForward(RelationMember member)
|
boolean |
isInJosmSelection(OsmPrimitive primitive)
Replies true if primitive is currently selected in the layer this
model is attached to |
static boolean |
isOneway(RelationMember member)
|
private void |
makeLoopIfNeeded(java.util.List<WayConnectionType> con,
int i)
|
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(java.util.List<? extends OsmPrimitive> primitives)
|
(package private) void |
reverse()
Reverse the relation members. |
private static WayConnectionType.Direction |
reverse(WayConnectionType.Direction dir)
|
private WayConnectionType.Direction |
roundaboutType(int i)
determine, if the way i is a roundabout and if yes, what type of roundabout |
(package private) static WayConnectionType.Direction |
roundaboutType(Way w)
|
void |
selectionChanged(java.util.Collection<? extends OsmPrimitive> newSelection)
Informs the listener that the selection in the dataset has changed. |
void |
selectMembersReferringTo(java.util.Collection<? extends OsmPrimitive> primitives)
Selects all mebers which refer to OsmPrimitives in the collections
primitmives. |
void |
setSelectedMembers(java.util.Collection<RelationMember> selectedMembers)
Selects the members in the collection selectedMembers |
void |
setSelectedMembersIdx(java.util.Collection<java.lang.Integer> selectedIndices)
Selects the members in the collection selectedIndices |
void |
setValueAt(java.lang.Object value,
int rowIndex,
int columnIndex)
|
(package private) void |
sort()
Sort the selected relation members by the way they are linked. |
private java.util.List<RelationMember> |
sortMembers(java.util.List<RelationMember> relationMembers)
get a node we can link against when sorting members |
void |
tableChanged(javax.swing.event.TableModelEvent e)
|
void |
tagsChanged(TagsChangedEvent event)
There was some change in the tag set of a primitive. |
void |
unregister()
|
void |
updateLinks()
refresh the cache of member WayConnectionTypes |
void |
updateRole(int[] idx,
java.lang.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. |
| Methods inherited from class javax.swing.table.AbstractTableModel |
|---|
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getColumnName, getListeners, getTableModelListeners, removeTableModelListener |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface javax.swing.table.TableModel |
|---|
addTableModelListener, getColumnClass, getColumnName, removeTableModelListener |
| Field Detail |
|---|
private java.util.List<RelationMember> members
private java.util.List<WayConnectionType> connectionType
private javax.swing.DefaultListSelectionModel listSelectionModel
private java.util.concurrent.CopyOnWriteArrayList<IMemberModelListener> listeners
private OsmDataLayer layer
private final int UNCONNECTED
private static final java.util.Collection<MemberTableModel.AdditionalSorter> additionalSorters
int firstGroupIdx
int lastForwardWay
int lastBackwardWay
boolean onewayBeginning
| Constructor Detail |
|---|
public MemberTableModel(OsmDataLayer layer)
| Method Detail |
|---|
public OsmDataLayer getLayer()
public void register()
public void unregister()
public void selectionChanged(java.util.Collection<? extends OsmPrimitive> newSelection)
SelectionChangedListener
selectionChanged in interface SelectionChangedListenernewSelection - The new selection.public void dataChanged(DataChangedEvent event)
DataSetListener#dataChanged() is called.
dataChanged in interface DataSetListenerpublic void nodeMoved(NodeMovedEvent event)
DataSetListener
nodeMoved in interface DataSetListenerpublic void primitivesAdded(PrimitivesAddedEvent event)
DataSetListener
primitivesAdded in interface DataSetListenerpublic void primitivesRemoved(PrimitivesRemovedEvent event)
DataSetListener
primitivesRemoved in interface DataSetListenerpublic void relationMembersChanged(RelationMembersChangedEvent event)
DataSetListener
relationMembersChanged in interface DataSetListenerpublic void tagsChanged(TagsChangedEvent event)
DataSetListener
tagsChanged in interface DataSetListenerpublic void wayNodesChanged(WayNodesChangedEvent event)
DataSetListener
wayNodesChanged in interface DataSetListenerpublic void otherDatasetChange(AbstractDatasetChangedEvent event)
DataSetListener
otherDatasetChange in interface DataSetListenerpublic void addMemberModelListener(IMemberModelListener listener)
public void removeMemberModelListener(IMemberModelListener listener)
protected void fireMakeMemberVisible(int index)
public void populate(Relation relation)
public int getColumnCount()
getColumnCount in interface javax.swing.table.TableModelpublic int getRowCount()
getRowCount in interface javax.swing.table.TableModel
public java.lang.Object getValueAt(int rowIndex,
int columnIndex)
getValueAt in interface javax.swing.table.TableModel
public boolean isCellEditable(int rowIndex,
int columnIndex)
isCellEditable in interface javax.swing.table.TableModelisCellEditable in class javax.swing.table.AbstractTableModel
public void setValueAt(java.lang.Object value,
int rowIndex,
int columnIndex)
setValueAt in interface javax.swing.table.TableModelsetValueAt in class javax.swing.table.AbstractTableModelpublic OsmPrimitive getReferredPrimitive(int idx)
getReferredPrimitive in interface OsmPrimitivesTableModelpublic 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 javax.swing.DefaultListSelectionModel getSelectionModel()
public void removeMembersReferringTo(java.util.List<? extends OsmPrimitive> primitives)
public void applyToRelation(Relation relation)
public boolean hasSameMembersAs(Relation relation)
public java.util.Set<OsmPrimitive> getIncompleteMemberPrimitives()
public java.util.Set<OsmPrimitive> getSelectedIncompleteMemberPrimitives()
public boolean hasIncompleteMembers()
public boolean hasIncompleteSelectedMembers()
protected java.util.List<java.lang.Integer> getSelectedIndices()
private void addMembersAtIndex(java.util.List<? extends OsmPrimitive> primitives,
int index)
public void addMembersAtBeginning(java.util.List<? extends OsmPrimitive> primitives)
public void addMembersAtEnd(java.util.List<? extends OsmPrimitive> primitives)
public void addMembersBeforeIdx(java.util.List<? extends OsmPrimitive> primitives,
int idx)
public void addMembersAfterIdx(java.util.List<? extends OsmPrimitive> primitives,
int idx)
public int getNumMembersWithPrimitive(OsmPrimitive primitive)
primitive - the primitive
public void updateRole(int[] idx,
java.lang.String role)
idx
idx - the array of indicesrole - the new rolepublic java.util.Collection<RelationMember> getSelectedMembers()
public java.util.Collection<OsmPrimitive> getSelectedChildPrimitives()
public java.util.Set<OsmPrimitive> getChildPrimitives(java.util.Collection<? extends OsmPrimitive> referenceSet)
public void setSelectedMembers(java.util.Collection<RelationMember> selectedMembers)
selectedMembers - the collection of selected memberspublic void setSelectedMembersIdx(java.util.Collection<java.lang.Integer> selectedIndices)
selectedIndices - the collection of selected member indicespublic boolean isEditableRelation(int index)
index - the index
public static boolean hasMembersReferringTo(java.util.Collection<RelationMember> members,
java.util.Collection<OsmPrimitive> primitives)
members
which refers to at least on the primitives in primitives.
members - the membersprimitives - the collection of primitives
primitives; false
otherwisepublic boolean hasMembersReferringTo(java.util.Collection<OsmPrimitive> primitives)
primitives.
primitives - the collection of primitives
primitives; false
otherwisepublic void selectMembersReferringTo(java.util.Collection<? extends OsmPrimitive> primitives)
OsmPrimitives 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 to
primitive - the primitive
primitive is currently selected in the layer this
model is attached to, false otherwiseprotected boolean isActiveLayer()
private java.util.List<RelationMember> sortMembers(java.util.List<RelationMember> relationMembers)
element - the element we want to link againstlinked_element - already linked against element
void sort()
private WayConnectionType.Direction determineDirection(int ref_i,
WayConnectionType.Direction ref_direction,
int k)
private WayConnectionType.Direction determineDirection(int ref_i,
WayConnectionType.Direction ref_direction,
int k,
boolean reversed)
private WayConnectionType.Direction roundaboutType(int i)
static WayConnectionType.Direction roundaboutType(Way w)
WayConnectionType getWayConnection(int i)
public void tableChanged(javax.swing.event.TableModelEvent e)
tableChanged in interface javax.swing.event.TableModelListenervoid reverse()
public void updateLinks()
private static WayConnectionType.Direction reverse(WayConnectionType.Direction dir)
private static boolean isBackward(RelationMember member)
private static boolean isForward(RelationMember member)
public static boolean isOneway(RelationMember member)
private void makeLoopIfNeeded(java.util.List<WayConnectionType> con,
int i)
private WayConnectionType.Direction determineDirectionOfFirst(int i,
RelationMember m)
private WayConnectionType determineOnewayConnectionType(java.util.List<WayConnectionType> con,
RelationMember m,
int i,
WayConnectionType wct)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||