Ignore:
Timestamp:
2012-09-08T12:18:04+02:00 (12 years ago)
Author:
bastiK
Message:

add session support for geoimage layers (see #4029)

Location:
trunk/src/org/openstreetmap/josm/io/session
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/session/SessionReader.java

    r5501 r5505  
    5858        registerSessionLayerImporter("imagery", ImagerySessionImporter.class);
    5959        registerSessionLayerImporter("tracks", GpxTracksSessionImporter.class);
     60        registerSessionLayerImporter("geoimage", GeoImageSessionImporter.class);
    6061    }
    6162
     
    103104        private String layerName;
    104105        private int layerIndex;
    105         private LinkedHashMap<Integer,SessionLayerImporter> layerDependencies;
    106 
    107         public ImportSupport(String layerName, int layerIndex, LinkedHashMap<Integer,SessionLayerImporter> layerDependencies) {
     106        private List<LayerDependency> layerDependencies;
     107
     108        public ImportSupport(String layerName, int layerIndex, List<LayerDependency> layerDependencies) {
    108109            this.layerName = layerName;
    109110            this.layerIndex = layerIndex;
     
    234235         * layer. All the dependent importers have loaded completely at this point.
    235236         */
    236         public LinkedHashMap<Integer,SessionLayerImporter> getLayerDependencies() {
     237        public List<LayerDependency> getLayerDependencies() {
    237238            return layerDependencies;
     239        }
     240    }
     241
     242    public static class LayerDependency {
     243        private Integer index;
     244        private Layer layer;
     245        private SessionLayerImporter importer;
     246
     247        public LayerDependency(Integer index, Layer layer, SessionLayerImporter importer) {
     248            this.index = index;
     249            this.layer = layer;
     250            this.importer = importer;
     251        }
     252
     253        public SessionLayerImporter getImporter() {
     254            return importer;
     255        }
     256
     257        public Integer getIndex() {
     258            return index;
     259        }
     260
     261        public Layer getLayer() {
     262            return layer;
    238263        }
    239264    }
     
    338363            } else {
    339364                importers.put(idx, imp);
    340                 LinkedHashMap<Integer,SessionLayerImporter> depsImp = new LinkedHashMap<Integer,SessionLayerImporter>();
     365                List<LayerDependency> depsImp = new ArrayList<LayerDependency>();
    341366                for (int d : deps.get(idx)) {
    342367                    SessionLayerImporter dImp = importers.get(d);
     
    356381                        }
    357382                    }
    358                     depsImp.put(d, dImp);
     383                    depsImp.add(new LayerDependency(d, layersMap.get(d), dImp));
    359384                }
    360385                ImportSupport support = new ImportSupport(name, idx, depsImp);
  • trunk/src/org/openstreetmap/josm/io/session/SessionWriter.java

    r5501 r5505  
    3333import org.openstreetmap.josm.gui.layer.TMSLayer;
    3434import org.openstreetmap.josm.gui.layer.WMSLayer;
     35import org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer;
    3536import org.openstreetmap.josm.tools.MultiMap;
    3637import org.openstreetmap.josm.tools.Utils;
     
    4849        registerSessionLayerExporter(WMSLayer.class , ImagerySessionExporter.class);
    4950        registerSessionLayerExporter(GpxLayer.class , GpxTracksSessionExporter.class);
     51        registerSessionLayerExporter(GeoImageLayer.class , GeoImageSessionExporter.class);
    5052    }
    5153
Note: See TracChangeset for help on using the changeset viewer.