source: josm/trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java@ 4067

Last change on this file since 4067 was 4032, checked in by stoecker, 13 years ago

allow to define icon and name for search and background layer actions in toolbar

  • Property svn:eol-style set to native
File size: 1.5 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.actions;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.event.ActionEvent;
7
8import org.openstreetmap.josm.Main;
9import org.openstreetmap.josm.data.imagery.ImageryInfo;
10import org.openstreetmap.josm.data.imagery.ImageryInfo.ImageryType;
11import org.openstreetmap.josm.gui.layer.ImageryLayer;
12
13public class AddImageryLayerAction extends JosmAction implements AdaptableAction {
14
15 private final ImageryInfo info;
16
17 public AddImageryLayerAction(ImageryInfo info) {
18 super(info.getMenuName(), "imagery_menu", tr("Add imagery layer {0}",info.getName()), null, false, false);
19 putValue("toolbar", "imagery_" + info.getToolbarName());
20 this.info = info;
21 installAdapters();
22 }
23
24 @Override
25 public void actionPerformed(ActionEvent e) {
26 if (!isEnabled()) return;
27 Main.main.addLayer(ImageryLayer.create(info));
28 }
29
30 @Override
31 protected void updateEnabledState() {
32 // never enable blacklisted entries.
33 if (info.isBlacklisted()) {
34 setEnabled(false);
35 } else if (info.getImageryType() == ImageryType.TMS || info.getImageryType() == ImageryType.BING || info.getImageryType() == ImageryType.SCANEX) {
36 setEnabled(true);
37 } else if (Main.map != null && Main.map.mapView != null && !Main.map.mapView.getAllLayers().isEmpty()) {
38 setEnabled(true);
39 } else {
40 setEnabled(false);
41 }
42 }
43}
Note: See TracBrowser for help on using the repository browser.