Ignore:
Timestamp:
2017-08-25T23:56:58+02:00 (7 years ago)
Author:
Don-vip
Message:

see #15182 - code refactoring to avoid dependence on GUI packages from MapPaintStyles

File:
1 edited

Legend:

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

    r12639 r12651  
    3434import javax.swing.JComponent;
    3535import javax.swing.JPanel;
     36import javax.swing.SwingUtilities;
    3637
    3738import org.openstreetmap.josm.Main;
     
    7071import org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer;
    7172import org.openstreetmap.josm.gui.layer.markerlayer.PlayHeadMarker;
     73import org.openstreetmap.josm.gui.mappaint.MapPaintStyles;
     74import org.openstreetmap.josm.gui.mappaint.MapPaintStyles.MapPaintSylesUpdateListener;
    7275import org.openstreetmap.josm.io.audio.AudioPlayer;
    7376import org.openstreetmap.josm.tools.JosmRuntimeException;
     
    9295implements PropertyChangeListener, PreferenceChangedListener,
    9396LayerManager.LayerChangeListener, MainLayerManager.ActiveLayerChangeListener {
     97
     98    static {
     99        MapPaintStyles.addMapPaintSylesUpdateListener(new MapPaintSylesUpdateListener() {
     100            @Override
     101            public void mapPaintStylesUpdated() {
     102                SwingUtilities.invokeLater(() -> {
     103                    // Trigger a repaint of all data layers
     104                    MainApplication.getLayerManager().getLayers()
     105                        .stream()
     106                        .filter(layer -> layer instanceof OsmDataLayer)
     107                        .forEach(Layer::invalidate);
     108                });
     109            }
     110
     111            @Override
     112            public void mapPaintStyleEntryUpdated(int index) {
     113                mapPaintStylesUpdated();
     114            }
     115        });
     116    }
    94117
    95118    /**
Note: See TracChangeset for help on using the changeset viewer.