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 /* ---------------------------------------------------------------------------- */ 020 /* Interface SelectionChangeListener */ 021 /* ---------------------------------------------------------------------------- */ 022 @Override 023 public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) { 024 initFromPrimitives(newSelection); 025 } 026 027 /* ---------------------------------------------------------------------------- */ 028 /* Interface LayerChangeListener */ 029 /* ---------------------------------------------------------------------------- */ 030 @Override 031 public void editLayerChanged(OsmDataLayer oldLayer, OsmDataLayer newLayer) { 032 if (newLayer == null) { 033 setChangesets(null); 034 } else { 035 initFromPrimitives((newLayer).data.getAllSelected()); 036 } 037 } 038}