source: josm/trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetsInActiveDataLayerListModel.java@ 2711

Last change on this file since 2711 was 2711, checked in by stoecker, 14 years ago

fix bad line endings

File size: 3.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.dialogs.changeset;
3
4import javax.swing.DefaultListSelectionModel;
5
6import org.openstreetmap.josm.data.osm.Changeset;
7import org.openstreetmap.josm.data.osm.OsmPrimitive;
8import org.openstreetmap.josm.data.osm.event.AbstractDatasetChangedEvent;
9import org.openstreetmap.josm.data.osm.event.ChangesetIdChangedEvent;
10import org.openstreetmap.josm.data.osm.event.DataChangedEvent;
11import org.openstreetmap.josm.data.osm.event.DataSetListener;
12import org.openstreetmap.josm.data.osm.event.NodeMovedEvent;
13import org.openstreetmap.josm.data.osm.event.PrimitivesAddedEvent;
14import org.openstreetmap.josm.data.osm.event.PrimitivesRemovedEvent;
15import org.openstreetmap.josm.data.osm.event.RelationMembersChangedEvent;
16import org.openstreetmap.josm.data.osm.event.TagsChangedEvent;
17import org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent;
18import org.openstreetmap.josm.gui.MapView.EditLayerChangeListener;
19import org.openstreetmap.josm.gui.layer.OsmDataLayer;
20
21/**
22 * This is the list model for the list of changeset in the current edit layer.
23 *
24 */
25public class ChangesetsInActiveDataLayerListModel extends ChangesetListModel implements DataSetListener, EditLayerChangeListener {
26
27 public ChangesetsInActiveDataLayerListModel(DefaultListSelectionModel selectionModel) {
28 super(selectionModel);
29 }
30
31 /* ------------------------------------------------------------------------------ */
32 /* interface DataSetListener */
33 /* ------------------------------------------------------------------------------ */
34 public void dataChanged(DataChangedEvent event) {
35 initFromDataSet(event.getDataset());
36 }
37
38 public void primtivesAdded(PrimitivesAddedEvent event) {
39 for (OsmPrimitive primitive:event.getPrimitives()) {
40 addChangeset(new Changeset(primitive.getChangesetId()));
41 }
42 }
43
44 public void primtivesRemoved(PrimitivesRemovedEvent event) {
45 for (OsmPrimitive primitive:event.getPrimitives()) {
46 removeChangeset(new Changeset(primitive.getChangesetId()));
47 }
48 }
49
50 public void otherDatasetChange(AbstractDatasetChangedEvent event) {
51 if (event instanceof ChangesetIdChangedEvent) {
52 ChangesetIdChangedEvent e = (ChangesetIdChangedEvent) event;
53 removeChangeset(new Changeset(e.getOldChangesetId()));
54 addChangeset(new Changeset(e.getNewChangesetId()));
55 }
56 }
57
58 public void nodeMoved(NodeMovedEvent event) {/* ignored */}
59
60 public void relationMembersChanged(RelationMembersChangedEvent event) {/* ignored */}
61
62 public void tagsChanged(TagsChangedEvent event) {/* ignored */}
63
64 public void wayNodesChanged(WayNodesChangedEvent event) {/* ignored */}
65
66 /* ------------------------------------------------------------------------------ */
67 /* interface EditLayerListener */
68 /* ------------------------------------------------------------------------------ */
69 public void editLayerChanged(OsmDataLayer oldLayer, OsmDataLayer newLayer) {
70 // just init the model content. Don't register as DataSetListener. The mode
71 // is already registered to receive DataChangedEvents from the current
72 // edit layer
73 if (newLayer != null) {
74 initFromDataSet(newLayer.data);
75 } else {
76 initFromDataSet(null);
77 }
78 }
79}
Note: See TracBrowser for help on using the repository browser.