001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.actions; 003 004import static org.openstreetmap.josm.tools.I18n.tr; 005 006import java.awt.event.ActionEvent; 007 008import org.openstreetmap.josm.gui.MainApplication; 009import org.openstreetmap.josm.gui.preferences.display.DrawingPreference; 010import org.openstreetmap.josm.tools.ImageProvider; 011 012/** 013 * This class toggles whether to draw boundaries of downloaded data. 014 * 015 * @since 14648 016 */ 017public class DrawBoundariesOfDownloadedDataAction extends PreferenceToggleAction { 018 019 /** 020 * Constructs a new {@link DrawBoundariesOfDownloadedDataAction}. 021 */ 022 public DrawBoundariesOfDownloadedDataAction() { 023 super(tr("Draw boundaries of downloaded data"), 024 new ImageProvider("hatched.svg"), 025 tr("Enable/disable hatched background rendering of areas outside of the downloaded areas."), 026 DrawingPreference.SOURCE_BOUNDS_PROP 027 ); 028 } 029 030 @Override 031 protected boolean listenToSelectionChange() { 032 return false; 033 } 034 035 @Override 036 protected void updateEnabledState() { 037 setEnabled(MainApplication.getLayerManager().getEditLayer() != null); 038 } 039 040 @Override 041 public void actionPerformed(ActionEvent e) { 042 super.actionPerformed(e); 043 if (MainApplication.isDisplayingMapView()) { 044 MainApplication.getMap().mapView.repaint(); 045 } 046 } 047 048}