001 // License: GPL. For details, see LICENSE file.
002 package org.openstreetmap.josm.gui.dialogs.changeset;
003
004 import java.util.Collection;
005
006 import javax.swing.DefaultListSelectionModel;
007
008 import org.openstreetmap.josm.data.SelectionChangedListener;
009 import org.openstreetmap.josm.data.osm.OsmPrimitive;
010 import org.openstreetmap.josm.gui.MapView.EditLayerChangeListener;
011 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
012
013 public class ChangesetInSelectionListModel extends ChangesetListModel implements SelectionChangedListener, EditLayerChangeListener{
014
015 public ChangesetInSelectionListModel(DefaultListSelectionModel selectionModel) {
016 super(selectionModel);
017 }
018 /* ---------------------------------------------------------------------------- */
019 /* Interface SelectionChangeListener */
020 /* ---------------------------------------------------------------------------- */
021 public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
022 initFromPrimitives(newSelection);
023 }
024
025 /* ---------------------------------------------------------------------------- */
026 /* Interface LayerChangeListener */
027 /* ---------------------------------------------------------------------------- */
028 public void editLayerChanged(OsmDataLayer oldLayer, OsmDataLayer newLayer) {
029 if (newLayer == null) {
030 setChangesets(null);
031 } else {
032 initFromPrimitives((newLayer).data.getAllSelected());
033 }
034 }
035 }