// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.gui.dialogs.changeset;
import java.util.Collection;
import javax.swing.DefaultListSelectionModel;
import org.openstreetmap.josm.data.SelectionChangedListener;
import org.openstreetmap.josm.data.osm.DataSet;
import org.openstreetmap.josm.data.osm.OsmPrimitive;
import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;
import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;
public class ChangesetInSelectionListModel extends ChangesetListModel implements SelectionChangedListener, ActiveLayerChangeListener {
public ChangesetInSelectionListModel(DefaultListSelectionModel selectionModel) {
super(selectionModel);
}
/* ---------------------------------------------------------------------------- */
/* Interface SelectionChangeListener */
/* ---------------------------------------------------------------------------- */
@Override
public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
initFromPrimitives(newSelection);
}
/* ---------------------------------------------------------------------------- */
/* Interface LayerChangeListener */
/* ---------------------------------------------------------------------------- */
@Override
public void activeOrEditLayerChanged(ActiveLayerChangeEvent e) {
DataSet newData = e.getSource().getEditDataSet();
if (newData == null) {
setChangesets(null);
} else {
initFromPrimitives(newData.getAllSelected());
}
}
}