001 // License: GPL. For details, see LICENSE file.
002 package org.openstreetmap.josm.gui.dialogs.changeset;
003
004 import javax.swing.DefaultListSelectionModel;
005
006 import org.openstreetmap.josm.data.osm.event.AbstractDatasetChangedEvent;
007 import org.openstreetmap.josm.data.osm.event.DataChangedEvent;
008 import org.openstreetmap.josm.data.osm.event.DataSetListener;
009 import org.openstreetmap.josm.data.osm.event.NodeMovedEvent;
010 import org.openstreetmap.josm.data.osm.event.PrimitivesAddedEvent;
011 import org.openstreetmap.josm.data.osm.event.PrimitivesRemovedEvent;
012 import org.openstreetmap.josm.data.osm.event.RelationMembersChangedEvent;
013 import org.openstreetmap.josm.data.osm.event.TagsChangedEvent;
014 import org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent;
015 import org.openstreetmap.josm.gui.MapView.EditLayerChangeListener;
016 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
017
018 /**
019 * This is the list model for the list of changeset in the current edit layer.
020 *
021 */
022 public class ChangesetsInActiveDataLayerListModel extends ChangesetListModel implements DataSetListener, EditLayerChangeListener {
023
024 public ChangesetsInActiveDataLayerListModel(DefaultListSelectionModel selectionModel) {
025 super(selectionModel);
026 }
027
028 /* ------------------------------------------------------------------------------ */
029 /* interface DataSetListener */
030 /* ------------------------------------------------------------------------------ */
031 public void dataChanged(DataChangedEvent event) {
032 initFromDataSet(event.getDataset());
033 }
034
035 public void primitivesAdded(PrimitivesAddedEvent event) {/* ignored */}
036
037 public void primitivesRemoved(PrimitivesRemovedEvent event) {/* ignored */}
038
039 public void otherDatasetChange(AbstractDatasetChangedEvent event) {/* ignored */}
040
041 public void nodeMoved(NodeMovedEvent event) {/* ignored */}
042
043 public void relationMembersChanged(RelationMembersChangedEvent event) {/* ignored */}
044
045 public void tagsChanged(TagsChangedEvent event) {/* ignored */}
046
047 public void wayNodesChanged(WayNodesChangedEvent event) {/* ignored */}
048
049 /* ------------------------------------------------------------------------------ */
050 /* interface EditLayerListener */
051 /* ------------------------------------------------------------------------------ */
052 public void editLayerChanged(OsmDataLayer oldLayer, OsmDataLayer newLayer) {
053 // just init the model content. Don't register as DataSetListener. The mode
054 // is already registered to receive DataChangedEvents from the current
055 // edit layer
056 if (newLayer != null) {
057 initFromDataSet(newLayer.data);
058 } else {
059 initFromDataSet(null);
060 }
061 }
062 }