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 }