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

Last change on this file since 343 was 343, checked in by gebner, 17 years ago

Merge 0.5.

File size: 5.0 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.DownloadAction;
20import org.openstreetmap.josm.actions.ExitAction;
21import org.openstreetmap.josm.actions.GpxExportAction;
22import org.openstreetmap.josm.actions.HelpAction;
23import org.openstreetmap.josm.actions.NewAction;
24import org.openstreetmap.josm.actions.OpenAction;
25import org.openstreetmap.josm.actions.PreferencesAction;
26import org.openstreetmap.josm.actions.RedoAction;
27import org.openstreetmap.josm.actions.ReverseWayAction;
28import org.openstreetmap.josm.actions.SaveAction;
29import org.openstreetmap.josm.actions.SaveAsAction;
30import org.openstreetmap.josm.actions.SelectAllAction;
31import org.openstreetmap.josm.actions.SplitWayAction;
32import org.openstreetmap.josm.actions.UndoAction;
33import org.openstreetmap.josm.actions.UnselectAllAction;
34import org.openstreetmap.josm.actions.UploadAction;
35import org.openstreetmap.josm.actions.search.SearchAction;
36import org.openstreetmap.josm.data.DataSetChecker;
37
38/**
39 * This is the JOSM main menu bar. It is overwritten to initialize itself and provide
40 * all menu entries as member variables (sort of collect them).
41 *
42 * It also provides possibilities to attach new menu entries (used by plugins).
43 *
44 * @author Immanuel.Scholz
45 */
46public class MainMenu extends JMenuBar {
47
48 public final UndoAction undo = new UndoAction();
49 public final RedoAction redo = new RedoAction();
50 public final Action selectAll = new SelectAllAction();
51 public final Action unselectAll = new UnselectAllAction();
52 public final Action search = new SearchAction();
53 public final NewAction newAction = new NewAction();
54 public final OpenAction open = new OpenAction();
55 public final DownloadAction download = new DownloadAction();
56 public final Action reverseWay = new ReverseWayAction();
57 public final Action splitWay = new SplitWayAction();
58 public final Action combineWay = new CombineWayAction();
59 public final Action alignInCircle = new AlignInCircleAction();
60 public final Action alignInLine = new AlignInLineAction();
61 public final Action upload = new UploadAction();
62 public final Action save = new SaveAction(null);
63 public final Action saveAs = new SaveAsAction(null);
64 public final Action gpxExport = new GpxExportAction(null);
65 public final Action exit = new ExitAction();
66 public final Action preferences = new PreferencesAction();
67 public final HelpAction help = new HelpAction();
68 public final Action about = new AboutAction();
69
70 public final JMenu layerMenu = new JMenu(tr("Layer"));
71 public final JMenu editMenu = new JMenu(tr("Edit"));
72 public final JMenu viewMenu = new JMenu(tr("View"));
73 public final JMenu helpMenu = new JMenu(tr("Help"));
74 public final JMenu fileMenu = new JMenu(tr("Files"));
75 public final JMenu connectionMenu = new JMenu(tr("Connection"));
76 public final JMenu toolsMenu = new JMenu(tr("Tools"));
77
78 public final JMenu zoomToMenu = new JMenu(tr("Zoom To"));
79
80
81 public MainMenu() {
82 fileMenu.setMnemonic('F');
83 fileMenu.add(newAction);
84 fileMenu.add(open);
85 fileMenu.add(save);
86 fileMenu.add(saveAs);
87 fileMenu.add(gpxExport);
88 fileMenu.addSeparator();
89 fileMenu.add(exit);
90 add(fileMenu);
91
92 editMenu.setMnemonic('E');
93 editMenu.add(undo);
94 editMenu.add(redo);
95 editMenu.addSeparator();
96 editMenu.add(selectAll);
97 editMenu.add(unselectAll);
98 editMenu.addSeparator();
99 editMenu.add(search);
100 editMenu.addSeparator();
101 editMenu.add(preferences);
102 add(editMenu);
103
104 viewMenu.setMnemonic('V');
105 viewMenu.setVisible(false);
106 viewMenu.add(zoomToMenu);
107 for (String mode : AutoScaleAction.modes)
108 zoomToMenu.add(new AutoScaleAction(mode));
109 add(viewMenu);
110
111 toolsMenu.setMnemonic('T');
112 toolsMenu.add(alignInCircle);
113 toolsMenu.add(alignInLine);
114 toolsMenu.addSeparator();
115 toolsMenu.add(reverseWay);
116 toolsMenu.addSeparator();
117 toolsMenu.add(splitWay);
118 toolsMenu.add(combineWay);
119 add(toolsMenu);
120
121 connectionMenu.setMnemonic('C');
122 connectionMenu.add(download);
123 connectionMenu.add(upload);
124 add(connectionMenu);
125
126 layerMenu.setMnemonic('L');
127 add(layerMenu);
128 layerMenu.setVisible(false);
129
130 JMenuItem check = new JMenuItem("DEBUG: Check Dataset");
131 check.addActionListener(new ActionListener(){
132 public void actionPerformed(ActionEvent e) {
133 DataSetChecker.check();
134 }
135 });
136 helpMenu.add(check);
137
138 helpMenu.setMnemonic('H');
139 helpMenu.add(help);
140 helpMenu.add(about);
141 add(helpMenu);
142 }
143}
Note: See TracBrowser for help on using the repository browser.