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