001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.gui.layer.imagery; 003 004import static org.openstreetmap.josm.tools.I18n.tr; 005 006import java.awt.event.ActionEvent; 007 008import javax.swing.AbstractAction; 009 010import org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer; 011 012/** 013 * Increase zoom. 014 * @since 11950 (extracted from {@link AbstractTileSourceLayer}) 015 */ 016public class IncreaseZoomAction extends AbstractAction { 017 018 private final AbstractTileSourceLayer<?> layer; 019 020 /** 021 * Constructs a new {@code IncreaseZoomAction}. 022 * @param layer imagery layer 023 */ 024 public IncreaseZoomAction(AbstractTileSourceLayer<?> layer) { 025 super(tr("Increase zoom")); 026 this.layer = layer; 027 setEnabled(!layer.getDisplaySettings().isAutoZoom() && layer.zoomIncreaseAllowed()); 028 } 029 030 @Override 031 public void actionPerformed(ActionEvent ae) { 032 layer.increaseZoomLevel(); 033 } 034}