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

Last change on this file since 240 was 240, checked in by framm, 17 years ago

Removed horizontal glue as suggested by Shaun McDonald. Ulf Lamping also said that this looks old-fashioned and is not done any more.

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