source: josm/trunk/src/org/openstreetmap/josm/gui/MainMenu.java@ 422

Last change on this file since 422 was 422, checked in by framm, 17 years ago
  • added patch by Matthew Newton <matthew-osm@…> to merge nodes. I know there's already a merge nodes in the utils plugin but I guess we need the node merge in the core, as we already have merging and splitting ways there...
File size: 5.5 KB
Line 
1// License: GPL. Copyright 2007 by Immanuel Scholz and others
2package org.openstreetmap.josm.gui;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.event.ActionEvent;
7import java.awt.event.ActionListener;
8
9import javax.swing.Action;
10import javax.swing.JMenu;
11import javax.swing.JMenuBar;
12import javax.swing.JMenuItem;
13
14import org.openstreetmap.josm.actions.AboutAction;
15import org.openstreetmap.josm.actions.AlignInCircleAction;
16import org.openstreetmap.josm.actions.AlignInLineAction;
17import org.openstreetmap.josm.actions.AutoScaleAction;
18import org.openstreetmap.josm.actions.CombineWayAction;
19import org.openstreetmap.josm.actions.CopyAction;
20import org.openstreetmap.josm.actions.DownloadAction;
21import org.openstreetmap.josm.actions.DuplicateAction;
22import org.openstreetmap.josm.actions.ExitAction;
23import org.openstreetmap.josm.actions.GpxExportAction;
24import org.openstreetmap.josm.actions.HelpAction;
25import org.openstreetmap.josm.actions.MergeNodesAction;
26import org.openstreetmap.josm.actions.NewAction;
27import org.openstreetmap.josm.actions.OpenAction;
28import org.openstreetmap.josm.actions.PasteAction;
29import org.openstreetmap.josm.actions.PreferencesAction;
30import org.openstreetmap.josm.actions.RedoAction;
31import org.openstreetmap.josm.actions.ReverseWayAction;
32import org.openstreetmap.josm.actions.SaveAction;
33import org.openstreetmap.josm.actions.SaveAsAction;
34import org.openstreetmap.josm.actions.SelectAllAction;
35import org.openstreetmap.josm.actions.SplitWayAction;
36import org.openstreetmap.josm.actions.UndoAction;
37import org.openstreetmap.josm.actions.UnselectAllAction;
38import org.openstreetmap.josm.actions.UploadAction;
39import org.openstreetmap.josm.actions.search.SearchAction;
40import org.openstreetmap.josm.data.DataSetChecker;
41
42/**
43 * This is the JOSM main menu bar. It is overwritten to initialize itself and provide
44 * all menu entries as member variables (sort of collect them).
45 *
46 * It also provides possibilities to attach new menu entries (used by plugins).
47 *
48 * @author Immanuel.Scholz
49 */
50public class MainMenu extends JMenuBar {
51
52 public final UndoAction undo = new UndoAction();
53 public final RedoAction redo = new RedoAction();
54 public final Action copy = new CopyAction();
55 public final Action paste = new PasteAction();
56 public final Action duplicate = new DuplicateAction();
57 public final Action selectAll = new SelectAllAction();
58 public final Action unselectAll = new UnselectAllAction();
59 public final Action search = new SearchAction();
60 public final NewAction newAction = new NewAction();
61 public final OpenAction open = new OpenAction();
62 public final DownloadAction download = new DownloadAction();
63 public final Action reverseWay = new ReverseWayAction();
64 public final Action splitWay = new SplitWayAction();
65 public final Action combineWay = new CombineWayAction();
66 public final Action alignInCircle = new AlignInCircleAction();
67 public final Action alignInLine = new AlignInLineAction();
68 public final Action mergeNodes = new MergeNodesAction();
69 public final Action upload = new UploadAction();
70 public final Action save = new SaveAction(null);
71 public final Action saveAs = new SaveAsAction(null);
72 public final Action gpxExport = new GpxExportAction(null);
73 public final Action exit = new ExitAction();
74 public final Action preferences = new PreferencesAction();
75 public final HelpAction help = new HelpAction();
76 public final Action about = new AboutAction();
77
78 public final JMenu layerMenu = new JMenu(tr("Layer"));
79 public final JMenu editMenu = new JMenu(tr("Edit"));
80 public final JMenu viewMenu = new JMenu(tr("View"));
81 public final JMenu helpMenu = new JMenu(tr("Help"));
82 public final JMenu fileMenu = new JMenu(tr("Files"));
83 public final JMenu connectionMenu = new JMenu(tr("Connection"));
84 public final JMenu toolsMenu = new JMenu(tr("Tools"));
85 public final JMenu presetsMenu = new JMenu(tr("Presets"));
86
87 public final JMenu zoomToMenu = new JMenu(tr("Zoom To"));
88
89
90 public MainMenu() {
91 fileMenu.setMnemonic('F');
92 fileMenu.add(newAction);
93 fileMenu.add(open);
94 fileMenu.add(save);
95 fileMenu.add(saveAs);
96 fileMenu.add(gpxExport);
97 fileMenu.addSeparator();
98 fileMenu.add(exit);
99 add(fileMenu);
100
101 editMenu.setMnemonic('E');
102 editMenu.add(undo);
103 editMenu.add(redo);
104 editMenu.addSeparator();
105 editMenu.add(copy);
106 editMenu.add(paste);
107 editMenu.add(duplicate);
108
109 editMenu.addSeparator();
110 editMenu.add(selectAll);
111 editMenu.add(unselectAll);
112 editMenu.addSeparator();
113 editMenu.add(search);
114 editMenu.addSeparator();
115 editMenu.add(preferences);
116 add(editMenu);
117
118 viewMenu.setMnemonic('V');
119 viewMenu.setVisible(false);
120 viewMenu.add(zoomToMenu);
121 for (String mode : AutoScaleAction.modes)
122 zoomToMenu.add(new AutoScaleAction(mode));
123 add(viewMenu);
124
125 toolsMenu.setMnemonic('T');
126 toolsMenu.add(alignInCircle);
127 toolsMenu.add(alignInLine);
128 toolsMenu.addSeparator();
129 toolsMenu.add(reverseWay);
130 toolsMenu.addSeparator();
131 toolsMenu.add(splitWay);
132 toolsMenu.add(combineWay);
133 toolsMenu.addSeparator();
134 toolsMenu.add(mergeNodes);
135 add(toolsMenu);
136
137 connectionMenu.setMnemonic('C');
138 connectionMenu.add(download);
139 connectionMenu.add(upload);
140 add(connectionMenu);
141
142 layerMenu.setMnemonic('L');
143 add(layerMenu);
144 layerMenu.setVisible(false);
145
146 add(presetsMenu);
147 presetsMenu.setMnemonic('P');
148
149 JMenuItem check = new JMenuItem("DEBUG: Check Dataset");
150 check.addActionListener(new ActionListener(){
151 public void actionPerformed(ActionEvent e) {
152 DataSetChecker.check();
153 }
154 });
155 helpMenu.add(check);
156
157 helpMenu.setMnemonic('H');
158 helpMenu.add(help);
159 helpMenu.add(about);
160 add(helpMenu);
161
162 }
163}
Note: See TracBrowser for help on using the repository browser.