Changeset 3116 in josm for trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
- Timestamp:
- 11.03.2010 21:01:49 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
r3078 r3116 44 44 import org.openstreetmap.josm.command.PurgePrimitivesCommand; 45 45 import org.openstreetmap.josm.data.Bounds; 46 import org.openstreetmap.josm.data.SelectionChangedListener; 46 47 import org.openstreetmap.josm.data.conflict.Conflict; 47 48 import org.openstreetmap.josm.data.conflict.ConflictCollection; … … 59 60 import org.openstreetmap.josm.data.osm.Relation; 60 61 import org.openstreetmap.josm.data.osm.Way; 62 import org.openstreetmap.josm.data.osm.event.AbstractDatasetChangedEvent; 63 import org.openstreetmap.josm.data.osm.event.DataSetListenerAdapter; 64 import org.openstreetmap.josm.data.osm.event.DataSetListenerAdapter.Listener; 61 65 import org.openstreetmap.josm.data.osm.visitor.AbstractVisitor; 62 66 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor; … … 79 83 * @author imi 80 84 */ 81 public class OsmDataLayer extends Layer {85 public class OsmDataLayer extends Layer implements Listener, SelectionChangedListener { 82 86 static public final String REQUIRES_SAVE_TO_DISK_PROP = OsmDataLayer.class.getName() + ".requiresSaveToDisk"; 83 87 static public final String REQUIRES_UPLOAD_TO_SERVER_PROP = OsmDataLayer.class.getName() + ".requiresUploadToServer"; … … 85 89 private boolean requiresSaveToFile = false; 86 90 private boolean requiresUploadToServer = false; 91 private boolean isChanged = true; 92 private int highlightUpdateCount; 93 private int viewId; 87 94 88 95 protected void setRequiresSaveToFile(boolean newValue) { … … 199 206 this.setAssociatedFile(associatedFile); 200 207 conflicts = new ConflictCollection(); 208 data.addDataSetListener(new DataSetListenerAdapter(this)); 209 DataSet.selListeners.add(this); 201 210 } 202 211 … … 215 224 */ 216 225 @Override public void paint(final Graphics2D g, final MapView mv, Bounds box) { 226 isChanged = false; 227 highlightUpdateCount = data.getHighlightUpdateCount(); 228 viewId = Main.map.mapView.getViewID(); 229 217 230 boolean active = mv.getActiveLayer() == this; 218 231 boolean inactive = !active && Main.pref.getBoolean("draw.data.inactive_color", true); … … 711 724 } 712 725 726 @Override 727 public boolean isChanged() { 728 return isChanged || highlightUpdateCount != data.getHighlightUpdateCount() || viewId != Main.map.mapView.getViewID(); 729 } 730 713 731 /** 714 732 * Initializes the layer after a successful save of OSM data to a file … … 752 770 753 771 } 772 773 public void processDatasetEvent(AbstractDatasetChangedEvent event) { 774 isChanged = true; 775 } 776 777 public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) { 778 isChanged = true; 779 } 754 780 }
Note: See TracChangeset
for help on using the changeset viewer.
