org.openstreetmap.josm.gui.dialogs
Class SelectionListDialog.SelectionListModel

java.lang.Object
  extended by javax.swing.AbstractListModel
      extended by org.openstreetmap.josm.gui.dialogs.SelectionListDialog.SelectionListModel
All Implemented Interfaces:
java.io.Serializable, javax.swing.ListModel, DataSetListener, SelectionChangedListener, MapView.EditLayerChangeListener
Enclosing class:
SelectionListDialog

private static class SelectionListDialog.SelectionListModel
extends javax.swing.AbstractListModel
implements MapView.EditLayerChangeListener, SelectionChangedListener, DataSetListener

The list model for the list of OSM primitives in the current JOSM selection. The model also maintains a history of the last SELECTION_HISTORY_SIZE JOSM selection.


Field Summary
private  java.util.LinkedList<java.util.Collection<? extends OsmPrimitive>> history
           
private  java.util.List<OsmPrimitive> selection
           
private static int SELECTION_HISTORY_SIZE
           
private  javax.swing.DefaultListSelectionModel selectionModel
           
 
Fields inherited from class javax.swing.AbstractListModel
listenerList
 
Constructor Summary
SelectionListDialog.SelectionListModel(javax.swing.DefaultListSelectionModel selectionModel)
          Constructor
 
Method Summary
 void dataChanged(DataChangedEvent event)
          Called after big changes in dataset.
 void editLayerChanged(OsmDataLayer oldLayer, OsmDataLayer newLayer)
           
protected  void fireContentsChanged(java.lang.Object source, int index0, int index1)
           
 java.util.Collection<OsmPrimitive> getAllElements()
          Replies the collection of OSM primitives in the view of this model
 java.lang.Object getElementAt(int index)
           
 java.lang.String getJOSMSelectionSummary()
          Replies a summary of the current JOSM selection
 java.util.Collection<OsmPrimitive> getSelected()
          Replies the collection of OSM primitives currently selected in the view of this model
 java.util.List<Relation> getSelectedRelationsWithIncompleteMembers()
          Replies the list of selected relations with incomplete members
 java.util.List<java.util.Collection<? extends OsmPrimitive>> getSelectionHistory()
          Replies the history of JOSM selections
 int getSize()
           
 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 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 relationMembersChanged(RelationMembersChangedEvent event)
          A relation's members have changed.
 void remember(java.util.Collection<? extends OsmPrimitive> selection)
          Remembers a JOSM selection the history of JOSM selections
 void selectionChanged(java.util.Collection<? extends OsmPrimitive> newSelection)
          Informs the listener that the selection in the dataset has changed.
 void setJOSMSelection(java.util.Collection<? extends OsmPrimitive> selection)
          Sets the collection of currently selected OSM objects
 void setSelected(java.util.Collection<OsmPrimitive> sel)
          Sets the OSM primitives to be selected in the view of this model
 void sort()
          Sorts the current elements in the selection
 void tagsChanged(TagsChangedEvent event)
          There was some change in the tag set of a primitive.
 void update(java.util.Collection<? extends OsmPrimitive> toUpdate)
          Triggers a refresh of the view for all primitives in toUpdate which are currently displayed in the view
 void wayNodesChanged(WayNodesChangedEvent event)
          A way's node list was changed.
 
Methods inherited from class javax.swing.AbstractListModel
addListDataListener, fireIntervalAdded, fireIntervalRemoved, getListDataListeners, getListeners, removeListDataListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SELECTION_HISTORY_SIZE

private static final int SELECTION_HISTORY_SIZE
See Also:
Constant Field Values

history

private java.util.LinkedList<java.util.Collection<? extends OsmPrimitive>> history

selection

private final java.util.List<OsmPrimitive> selection

selectionModel

private javax.swing.DefaultListSelectionModel selectionModel
Constructor Detail

SelectionListDialog.SelectionListModel

public SelectionListDialog.SelectionListModel(javax.swing.DefaultListSelectionModel selectionModel)
Constructor

Parameters:
selectionModel - the selection model used in the list
Method Detail

getJOSMSelectionSummary

public java.lang.String getJOSMSelectionSummary()
Replies a summary of the current JOSM selection

Returns:
a summary of the current JOSM selection

remember

public void remember(java.util.Collection<? extends OsmPrimitive> selection)
Remembers a JOSM selection the history of JOSM selections

Parameters:
selection - the JOSM selection. Ignored if null or empty.

getSelectionHistory

public java.util.List<java.util.Collection<? extends OsmPrimitive>> getSelectionHistory()
Replies the history of JOSM selections

Returns:

getElementAt

public java.lang.Object getElementAt(int index)
Specified by:
getElementAt in interface javax.swing.ListModel

getSize

public int getSize()
Specified by:
getSize in interface javax.swing.ListModel

getSelected

public java.util.Collection<OsmPrimitive> getSelected()
Replies the collection of OSM primitives currently selected in the view of this model

Returns:

getAllElements

public java.util.Collection<OsmPrimitive> getAllElements()
Replies the collection of OSM primitives in the view of this model

Returns:

setSelected

public void setSelected(java.util.Collection<OsmPrimitive> sel)
Sets the OSM primitives to be selected in the view of this model

Parameters:
sel - the collection of primitives to select

fireContentsChanged

protected void fireContentsChanged(java.lang.Object source,
                                   int index0,
                                   int index1)
Overrides:
fireContentsChanged in class javax.swing.AbstractListModel

setJOSMSelection

public void setJOSMSelection(java.util.Collection<? extends OsmPrimitive> selection)
Sets the collection of currently selected OSM objects

Parameters:
selection - the collection of currently selected OSM objects

update

public void update(java.util.Collection<? extends OsmPrimitive> toUpdate)
Triggers a refresh of the view for all primitives in toUpdate which are currently displayed in the view

Parameters:
toUpdate - the collection of primitives to update

getSelectedRelationsWithIncompleteMembers

public java.util.List<Relation> getSelectedRelationsWithIncompleteMembers()
Replies the list of selected relations with incomplete members

Returns:
the list of selected relations with incomplete members

sort

public void sort()
Sorts the current elements in the selection


editLayerChanged

public void editLayerChanged(OsmDataLayer oldLayer,
                             OsmDataLayer newLayer)
Specified by:
editLayerChanged in interface MapView.EditLayerChangeListener

selectionChanged

public void selectionChanged(java.util.Collection<? extends OsmPrimitive> newSelection)
Description copied from interface: SelectionChangedListener
Informs the listener that the selection in the dataset has changed.

Specified by:
selectionChanged in interface SelectionChangedListener
Parameters:
newSelection - The new selection.

dataChanged

public void dataChanged(DataChangedEvent event)
Description copied from interface: DataSetListener
Called after big changes in dataset. Usually other events are stopped using Dataset.beginUpdate() and after operation is completed (Dataset.endUpdate()), #dataChanged() is called.

Specified by:
dataChanged in interface DataSetListener

nodeMoved

public void nodeMoved(NodeMovedEvent event)
Description copied from interface: DataSetListener
A node's coordinates were modified.

Specified by:
nodeMoved in interface DataSetListener

otherDatasetChange

public void otherDatasetChange(AbstractDatasetChangedEvent event)
Description copied from interface: DataSetListener
Minor dataset change, currently only changeset id changed is supported, but can be extended in future.

Specified by:
otherDatasetChange in interface DataSetListener

relationMembersChanged

public void relationMembersChanged(RelationMembersChangedEvent event)
Description copied from interface: DataSetListener
A relation's members have changed.

Specified by:
relationMembersChanged in interface DataSetListener

tagsChanged

public void tagsChanged(TagsChangedEvent event)
Description copied from interface: DataSetListener
There was some change in the tag set of a primitive. It can have been a tag addition, tag removal or change in tag value.

Specified by:
tagsChanged in interface DataSetListener

wayNodesChanged

public void wayNodesChanged(WayNodesChangedEvent event)
Description copied from interface: DataSetListener
A way's node list was changed.

Specified by:
wayNodesChanged in interface DataSetListener

primitivesAdded

public void primitivesAdded(PrimitivesAddedEvent event)
Description copied from interface: DataSetListener
A bunch of primitives were added into the DataSet, or existing deleted/invisible primitives were resurrected.

Specified by:
primitivesAdded in interface DataSetListener

primitivesRemoved

public void primitivesRemoved(PrimitivesRemovedEvent event)
Description copied from interface: DataSetListener
A bunch of primitives were removed from the DataSet, or preexisting primitives were marked as deleted.

Specified by:
primitivesRemoved in interface DataSetListener


JOSM