Ignore:
Timestamp:
2010-10-12T21:11:33+02:00 (14 years ago)
Author:
jttt
Message:

Add all available layers to SlippyMapBBoxChooser

Location:
applications/editors/josm/plugins/slippymap
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/slippymap/build.xml

    r22550 r23575  
    2828
    2929        <property name="commit.message" value="Added haiti imagery tile source" />
    30         <property name="plugin.main.version" value="3408" />
     30        <property name="plugin.main.version" value="3602" />
    3131
    3232        <property name="josm"                   location="../../core/dist/josm-custom.jar"/>
  • applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapPlugin.java

    r23190 r23575  
    11package org.openstreetmap.josm.plugins.slippymap;
    22
     3import java.util.ArrayList;
    34import java.util.List;
    45
     6import org.openstreetmap.gui.jmapviewer.OsmTileSource.CycleMap;
     7import org.openstreetmap.gui.jmapviewer.OsmTileSource.Mapnik;
     8import org.openstreetmap.gui.jmapviewer.OsmTileSource.TilesAtHome;
     9import org.openstreetmap.gui.jmapviewer.interfaces.TileSource;
    510import org.openstreetmap.josm.Main;
    611import org.openstreetmap.josm.data.Preferences.PreferenceChangeEvent;
    712import org.openstreetmap.josm.data.Preferences.PreferenceChangedListener;
    813import org.openstreetmap.josm.gui.MapFrame;
     14import org.openstreetmap.josm.gui.bbox.SlippyMapBBoxChooser;
     15import org.openstreetmap.josm.gui.bbox.SlippyMapBBoxChooser.TileSourceProvider;
    916import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
    1017import org.openstreetmap.josm.plugins.Plugin;
     
    1926public class SlippyMapPlugin extends Plugin implements PreferenceChangedListener
    2027{
    21     public SlippyMapPlugin(PluginInformation info)
    22     {
    23         super(info);
    24         Main.pref.addPreferenceChangeListener(this);
    25     }
     28        public SlippyMapPlugin(PluginInformation info)
     29        {
     30                super(info);
     31                Main.pref.addPreferenceChangeListener(this);
     32                SlippyMapBBoxChooser.addTileSourceProvider(new TileSourceProvider() {
     33                        public List<TileSource> getTileSources() {
     34                                List<TileSource> result = new ArrayList<TileSource>();
     35                                for (TileSource ts: SlippyMapPreferences.getAllMapSources()) {
     36                                        if (ts instanceof Mapnik || ts instanceof CycleMap || ts instanceof TilesAtHome) {
     37                                                continue; // Already included in default list
     38                                        }
     39                                        result.add(ts);
     40                                }
     41                                return result;
     42                        }
     43                });
     44        }
    2645
    27     @Override
    28     public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame)
    29     {
    30         if (newFrame != null && SlippyMapPreferences.getMapSource() != SlippyMapPreferences.NO_DEFAULT_TILE_SOURCE) {
    31             SlippyMapLayer smlayer;
    32             smlayer = new SlippyMapLayer();
    33             Main.main.addLayer(smlayer);
    34         }
    35     }
     46        @Override
     47        public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame)
     48        {
     49                if (newFrame != null && SlippyMapPreferences.getMapSource() != SlippyMapPreferences.NO_DEFAULT_TILE_SOURCE) {
     50                        SlippyMapLayer smlayer;
     51                        smlayer = new SlippyMapLayer();
     52                        Main.main.addLayer(smlayer);
     53                }
     54        }
    3655
    37     /*
    38     * (non-Javadoc)
    39     *
    40     * @see org.openstreetmap.josm.plugins.Plugin#getPreferenceSetting()
    41     */
    42     @Override
    43     public PreferenceSetting getPreferenceSetting()
    44     {
    45         return new SlippyMapPreferenceSetting();
    46     }
     56        /*
     57        * (non-Javadoc)
     58        *
     59        * @see org.openstreetmap.josm.plugins.Plugin#getPreferenceSetting()
     60        */
     61        @Override
     62        public PreferenceSetting getPreferenceSetting()
     63        {
     64                return new SlippyMapPreferenceSetting();
     65        }
    4766
    48     /*
    49     * (non-Javadoc)
    50     *
    51     * @seeorg.openstreetmap.josm.data.Preferences.PreferenceChangedListener#
    52     * preferenceChanged(java.lang.String, java.lang.String)
    53     */
    54     public void preferenceChanged(PreferenceChangeEvent event) {
    55         if (!Main.isDisplayingMapView()) {
    56             return;
    57         }
    58         List<SlippyMapLayer> layes = Main.map.mapView.getLayersOfType(SlippyMapLayer.class);
    59         assert layes.size() <= 1;
    60         SlippyMapLayer layer = layes.isEmpty()?null:layes.get(0);
     67        /*
     68        * (non-Javadoc)
     69        *
     70        * @seeorg.openstreetmap.josm.data.Preferences.PreferenceChangedListener#
     71        * preferenceChanged(java.lang.String, java.lang.String)
     72        */
     73        public void preferenceChanged(PreferenceChangeEvent event) {
     74                if (!Main.isDisplayingMapView()) {
     75                        return;
     76                }
     77                List<SlippyMapLayer> layes = Main.map.mapView.getLayersOfType(SlippyMapLayer.class);
     78                assert layes.size() <= 1;
     79                SlippyMapLayer layer = layes.isEmpty()?null:layes.get(0);
    6180
    62         if (event.getKey().equals(SlippyMapPreferences.PREFERENCE_TILE_SOURCE)) {
    63             if (layer == null && SlippyMapPreferences.getMapSource() != SlippyMapPreferences.NO_DEFAULT_TILE_SOURCE) {
    64                 Main.map.mapView.addLayer(new SlippyMapLayer());
    65             } else if (layer != null && SlippyMapPreferences.getMapSource() == SlippyMapPreferences.NO_DEFAULT_TILE_SOURCE) {
    66                 Main.map.mapView.removeLayer(layer);
    67             } else if (layer == null && SlippyMapPreferences.getMapSource() == SlippyMapPreferences.NO_DEFAULT_TILE_SOURCE) {
    68                 // Do nothing
    69             } else {
    70                 layer.newTileStorage();
    71             }
    72         } else  if (event.getKey().startsWith(SlippyMapPreferences.PREFERENCE_PREFIX) && layer != null) {
    73             // System.err.println(this + ".preferenceChanged('" + key + "', '"
    74             // + newValue + "') called");
    75             // when fade background changed, no need to clear tile storage
    76             // TODO move this code to SlippyMapPreferences class.
    77             if (!event.getKey().equals(SlippyMapPreferences.PREFERENCE_FADE_BACKGROUND)) {
    78                 layer.autoZoomPopup.setSelected(SlippyMapPreferences.getAutozoom());
    79             }
    80             layer.redraw();
    81         }
    82     }
     81                if (event.getKey().equals(SlippyMapPreferences.PREFERENCE_TILE_SOURCE)) {
     82                        if (layer == null && SlippyMapPreferences.getMapSource() != SlippyMapPreferences.NO_DEFAULT_TILE_SOURCE) {
     83                                Main.map.mapView.addLayer(new SlippyMapLayer());
     84                        } else if (layer != null && SlippyMapPreferences.getMapSource() == SlippyMapPreferences.NO_DEFAULT_TILE_SOURCE) {
     85                                Main.map.mapView.removeLayer(layer);
     86                        } else if (layer == null && SlippyMapPreferences.getMapSource() == SlippyMapPreferences.NO_DEFAULT_TILE_SOURCE) {
     87                                // Do nothing
     88                        } else {
     89                                layer.newTileStorage();
     90                        }
     91                } else  if (event.getKey().startsWith(SlippyMapPreferences.PREFERENCE_PREFIX) && layer != null) {
     92                        // System.err.println(this + ".preferenceChanged('" + key + "', '"
     93                        // + newValue + "') called");
     94                        // when fade background changed, no need to clear tile storage
     95                        // TODO move this code to SlippyMapPreferences class.
     96                        if (!event.getKey().equals(SlippyMapPreferences.PREFERENCE_FADE_BACKGROUND)) {
     97                                layer.autoZoomPopup.setSelected(SlippyMapPreferences.getAutozoom());
     98                        }
     99                        layer.redraw();
     100                }
     101        }
    83102
    84103}
Note: See TracChangeset for help on using the changeset viewer.