source: josm/trunk/src/org/openstreetmap/josm/actions/HistoryInfoAction.java@ 1217

Last change on this file since 1217 was 1217, checked in by ulfl, 15 years ago

if nothing is selected, show a dialog box

File size: 2.3 KB
Line 
1//License: GPL. Copyright 2007 by Immanuel Scholz and others
2package org.openstreetmap.josm.actions;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.event.ActionEvent;
7import java.awt.event.KeyEvent;
8import java.util.Collection;
9import java.util.LinkedList;
10
11import javax.swing.JOptionPane;
12
13import org.openstreetmap.josm.Main;
14import org.openstreetmap.josm.data.osm.Relation;
15import org.openstreetmap.josm.data.osm.Node;
16import org.openstreetmap.josm.data.osm.OsmPrimitive;
17import org.openstreetmap.josm.data.osm.Way;
18import org.openstreetmap.josm.data.osm.visitor.Visitor;
19import org.openstreetmap.josm.tools.OpenBrowser;
20import org.openstreetmap.josm.tools.Shortcut;
21
22public class HistoryInfoAction extends JosmAction {
23
24 public HistoryInfoAction() {
25 super(tr("History of Node/Way"), "about",tr("Display history information about OSM ways or nodes."),
26 Shortcut.registerShortcut("core:history", tr("History of Node/Way"), KeyEvent.VK_H, Shortcut.GROUP_HOTKEY), true);
27 }
28
29 public void actionPerformed(ActionEvent e) {
30 final Collection<Object> sel = new LinkedList<Object>();
31 new Visitor() {
32 public void visit(Node n) {
33 OpenBrowser.displayUrl("http://www.openstreetmap.org/browse/node/" + n.id + "/history");
34 sel.add(n);
35 }
36
37 public void visit(Way w) {
38 OpenBrowser.displayUrl("http://www.openstreetmap.org/browse/way/" + w.id + "/history");
39 sel.add(w);
40 }
41
42 public void visit(Relation e) {
43 OpenBrowser.displayUrl("http://www.openstreetmap.org/browse/relation/" + e.id + "/history");
44 sel.add(e);
45 }
46
47 public void visitAll() {
48 for (OsmPrimitive osm : Main.ds.getSelected())
49 osm.visit(this);
50 }
51 }.visitAll();
52
53 if (sel.isEmpty()) {
54 JOptionPane.showMessageDialog(Main.parent,
55 tr("Please select at least one node or way."));
56 return;
57 }
58 }
59
60}
Note: See TracBrowser for help on using the repository browser.