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 }