Changeset 2395 in josm for trunk


Ignore:
Timestamp:
2009-11-07T06:22:27+01:00 (12 years ago)
Author:
Gubaer
Message:

fixed #3839: Layer order: gpx defaults above data-layer

File:
1 edited

Legend:

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

    r2348 r2395  
    4343import org.openstreetmap.josm.data.osm.OsmPrimitive;
    4444import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
     45import org.openstreetmap.josm.gui.layer.GpxLayer;
    4546import org.openstreetmap.josm.gui.layer.Layer;
    4647import org.openstreetmap.josm.gui.layer.MapViewPaintable;
     
    148149
    149150    /**
     151     * Adds a GPX layer. A GPX layer is added below the lowest data layer.
     152     *
     153     * @param layer the GPX layer
     154     */
     155    protected void addGpxLayer(GpxLayer layer) {
     156        if (layers.isEmpty()) {
     157            layers.add(layer);
     158            return;
     159        }
     160        for (int i=layers.size()-1; i> 0; i--) {
     161            if (layers.get(i) instanceof OsmDataLayer) {
     162                if (i == layers.size()) {
     163                    layers.add(layer);
     164                } else {
     165                    layers.add(i+1, layer);
     166                }
     167                return;
     168            }
     169        }
     170        layers.add(layer);
     171    }
     172
     173    /**
    150174     * Add a layer to the current MapView. The layer will be added at topmost
    151175     * position.
     
    158182        if (layer.isBackgroundLayer() || layers.isEmpty()) {
    159183            layers.add(layer);
     184        } else if (layer instanceof GpxLayer){
     185            addGpxLayer((GpxLayer)layer);
    160186        } else {
    161187            layers.add(0, layer);
Note: See TracChangeset for help on using the changeset viewer.