// License: GPL. For details, see LICENSE file.
package cadastre_fr;
import static org.openstreetmap.josm.tools.I18n.tr;
//import java.awt.event.ActionEvent;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import org.openstreetmap.josm.Main;
//import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.gui.layer.Layer;
public class WMSDownloadAction /*extends JosmAction */ {
// public WMSDownloadAction(String layerName) {
// super(layerName, "wmsmenu", tr("Download WMS tile from {0}",layerName), null, false);
// }
//
// public void actionPerformed(ActionEvent e) {
// DownloadWMSVectorImage.download(getLayer());
// }
public static WMSLayer getLayer() {
// check if we already have a layer created. if not, create; if yes, reuse.
ArrayList<WMSLayer> existingWMSlayers = new ArrayList<>();
if (Main.map != null) {
Layer activeLayer = Main.getLayerManager().getActiveLayer();
if (activeLayer instanceof WMSLayer)
return (WMSLayer) activeLayer;
for (Layer l : Main.getLayerManager().getLayers()) {
if (l instanceof WMSLayer) {
existingWMSlayers.add((WMSLayer) l);
}
}
if (existingWMSlayers.size() == 1)
return existingWMSlayers.get(0);
if (existingWMSlayers.size() == 0)
return new MenuActionNewLocation().addNewLayer(existingWMSlayers);
if (Main.pref.getBoolean("cadastrewms.autoFirstLayer", false)) {
return existingWMSlayers.get(0);
} else {
JOptionPane.showMessageDialog(Main.parent,
tr("More than one WMS layer present\nSelect one of them first, then retry"));
}
} else {
return new MenuActionNewLocation().addNewLayer(existingWMSlayers);
}
return null;
}
}