source: osm/applications/editors/josm/plugins/indoor_sweepline/src/indoor_sweepline/IndoorSweeplineWizardAction.java@ 34521

Last change on this file since 34521 was 34521, checked in by donvip, 6 years ago

update to JOSM 14153

File size: 2.8 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package indoor_sweepline;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.event.ActionEvent;
7
8import javax.swing.JOptionPane;
9
10import org.openstreetmap.josm.actions.JosmAction;
11import org.openstreetmap.josm.data.projection.ProjectionRegistry;
12import org.openstreetmap.josm.gui.MainApplication;
13import org.openstreetmap.josm.gui.layer.Layer;
14import org.openstreetmap.josm.gui.layer.LayerManager.LayerAddEvent;
15import org.openstreetmap.josm.gui.layer.LayerManager.LayerChangeListener;
16import org.openstreetmap.josm.gui.layer.LayerManager.LayerOrderChangeEvent;
17import org.openstreetmap.josm.gui.layer.LayerManager.LayerRemoveEvent;
18import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;
19import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;
20import org.openstreetmap.josm.gui.layer.OsmDataLayer;
21
22public class IndoorSweeplineWizardAction extends JosmAction implements LayerChangeListener, ActiveLayerChangeListener {
23
24 public IndoorSweeplineWizardAction() {
25 super(tr("Concourse wizard ..."), null,
26 tr("Opens up a wizard to create a concourse"), null, false);
27 MainApplication.getLayerManager().addLayerChangeListener(this);
28 }
29
30 @Override
31 public void actionPerformed(ActionEvent event) {
32 if (layer == null)
33 JOptionPane.showMessageDialog(JOptionPane.getFrameForComponent(MainApplication.getMainFrame()),
34 "No default layer found.");
35 else if (!(layer instanceof OsmDataLayer))
36 JOptionPane.showMessageDialog(JOptionPane.getFrameForComponent(MainApplication.getMainFrame()),
37 "The default layer is not an OSM layer.");
38 else if (MainApplication.getMap() == null)
39 JOptionPane.showMessageDialog(JOptionPane.getFrameForComponent(MainApplication.getMainFrame()),
40 "No map found.");
41 else if (MainApplication.getMap().mapView == null)
42 JOptionPane.showMessageDialog(JOptionPane.getFrameForComponent(MainApplication.getMainFrame()),
43 "No map view found.");
44 else
45 new IndoorSweeplineController((OsmDataLayer) layer,
46 ProjectionRegistry.getProjection().eastNorth2latlon(MainApplication.getMap().mapView.getCenter()));
47 }
48
49 @Override
50 public void activeOrEditLayerChanged(ActiveLayerChangeEvent e) {
51 layer = MainApplication.getLayerManager().getActiveLayer();
52 }
53
54 @Override
55 public void layerOrderChanged(LayerOrderChangeEvent e) {
56 }
57
58 @Override
59 public void layerAdded(LayerAddEvent e) {
60 }
61
62 @Override
63 public void layerRemoving(LayerRemoveEvent e) {
64 if (layer == e.getRemovedLayer())
65 layer = null;
66 }
67
68 private Layer layer;
69}
Note: See TracBrowser for help on using the repository browser.