Ignore:
Timestamp:
2009-09-02T21:17:52+02:00 (17 years ago)
Author:
Gubaer
Message:

new: improved dialog for uploading/saving modified layers on exit
new: improved dialog for uploading/saving modified layers if layers are deleted
new: new progress monitor which can delegate rendering to any Swing component
more setters/getters for properties in OSM data classes (fields are @deprecated); started to update references in the code base

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/MapView.java

    r1952 r2025  
    4444import org.openstreetmap.josm.gui.layer.MapViewPaintable;
    4545import org.openstreetmap.josm.gui.layer.OsmDataLayer;
    46 import org.openstreetmap.josm.gui.layer.OsmDataLayer.ModifiedChangedListener;
    4746import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer;
    4847import org.openstreetmap.josm.gui.layer.markerlayer.PlayHeadMarker;
     
    152151     */
    153152    public void addLayer(Layer layer) {
    154         if (layer instanceof OsmDataLayer) {
    155             OsmDataLayer editLayer = (OsmDataLayer)layer;
    156             editLayer.listenerModified.add(new ModifiedChangedListener(){
    157                 public void modifiedChanged(boolean value, OsmDataLayer source) {
    158                     JOptionPane.getFrameForComponent(Main.parent).setTitle((value?"*":"")
    159                             +tr("Java OpenStreetMap Editor"));
    160                 }
    161             });
    162         }
    163153        if (layer instanceof MarkerLayer && playHeadMarker == null) {
    164154            playHeadMarker = PlayHeadMarker.create();
     
    510500            }
    511501        }
     502        if (layer instanceof OsmDataLayer) {
     503            refreshTitle((OsmDataLayer)layer);
     504        }
    512505
    513506        /* This only makes the buttons look disabled. Disabling the actions as well requires
     
    600593        if (evt.getPropertyName().equals(Layer.VISIBLE_PROP)) {
    601594            repaint();
     595        } else if (evt.getPropertyName().equals(OsmDataLayer.REQUIRES_SAVE_TO_DISK_PROP)
     596                || evt.getPropertyName().equals(OsmDataLayer.REQUIRES_UPLOAD_TO_SERVER_PROP)) {
     597            OsmDataLayer layer = (OsmDataLayer)evt.getSource();
     598            if (layer == getEditLayer()) {
     599                refreshTitle(layer);
     600            }
     601        }
     602    }
     603
     604    protected void refreshTitle(OsmDataLayer layer) {
     605        boolean dirty = layer.requiresSaveToFile() || layer.requiresUploadToServer();
     606        if (dirty) {
     607            JOptionPane.getFrameForComponent(Main.parent).setTitle("* " + tr("Java OpenStreetMap Editor"));
     608        } else {
     609            JOptionPane.getFrameForComponent(Main.parent).setTitle(tr("Java OpenStreetMap Editor"));
    602610        }
    603611    }
Note: See TracChangeset for help on using the changeset viewer.