+ // Add view menu
+ JMenu viewMenu = new JMenu(I18nManager.getText("menu.view"));
+ _show3dItem = makeMenuItem(FunctionLibrary.FUNCTION_3D);
+ _show3dItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ FunctionLibrary.FUNCTION_3D.begin();
+ }
+ });
+ _show3dItem.setEnabled(false);
+ viewMenu.add(_show3dItem);
+ // browser submenu
+ _browserMapMenu = new JMenu(I18nManager.getText("menu.view.browser"));
+ _browserMapMenu.setEnabled(false);
+ JMenuItem googleMapsItem = new JMenuItem(I18nManager.getText("menu.view.browser.google"));
+ googleMapsItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ _app.showExternalMap(UrlGenerator.MAP_SOURCE_GOOGLE);
+ }
+ });
+ _browserMapMenu.add(googleMapsItem);
+ JMenuItem openMapsItem = new JMenuItem(I18nManager.getText("menu.view.browser.openstreetmap"));
+ openMapsItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ _app.showExternalMap(UrlGenerator.MAP_SOURCE_OSM);
+ }
+ });
+ _browserMapMenu.add(openMapsItem);
+ JMenuItem mapquestMapsItem = new JMenuItem(I18nManager.getText("menu.view.browser.mapquest"));
+ mapquestMapsItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ _app.showExternalMap(UrlGenerator.MAP_SOURCE_MAPQUEST);
+ }
+ });
+ _browserMapMenu.add(mapquestMapsItem);
+ JMenuItem yahooMapsItem = new JMenuItem(I18nManager.getText("menu.view.browser.yahoo"));
+ yahooMapsItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ _app.showExternalMap(UrlGenerator.MAP_SOURCE_YAHOO);
+ }
+ });
+ _browserMapMenu.add(yahooMapsItem);
+ viewMenu.add(_browserMapMenu);
+ // Charts
+ _chartItem = makeMenuItem(FunctionLibrary.FUNCTION_CHARTS);
+ _chartItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ FunctionLibrary.FUNCTION_CHARTS.begin();
+ }
+ });
+ _chartItem.setEnabled(false);
+ viewMenu.add(_chartItem);
+ // Distances
+ _distanceItem = makeMenuItem(FunctionLibrary.FUNCTION_DISTANCES);
+ _distanceItem.setEnabled(false);
+ _distanceItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ FunctionLibrary.FUNCTION_DISTANCES.begin();
+ }
+ });
+ viewMenu.add(_distanceItem);
+ // Set the map background
+ JMenuItem mapBgItem = makeMenuItem(FunctionLibrary.FUNCTION_SET_MAP_BG);
+ mapBgItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent arg0) {
+ FunctionLibrary.FUNCTION_SET_MAP_BG.begin();
+ }
+ });
+ viewMenu.add(mapBgItem);
+ menubar.add(viewMenu);
+
+ // Add photo menu
+ JMenu photoMenu = new JMenu(I18nManager.getText("menu.photo"));
+ addPhotosMenuItem = new JMenuItem(I18nManager.getText("menu.file.addphotos"));
+ addPhotosMenuItem.addActionListener(_addPhotoAction);
+ photoMenu.add(addPhotosMenuItem);
+ _saveExifItem = new JMenuItem(I18nManager.getText("menu.photo.saveexif"));
+ _saveExifItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ _app.saveExif();
+ }
+ });
+ _saveExifItem.setEnabled(false);
+ photoMenu.add(_saveExifItem);
+ _connectPhotoItem = new JMenuItem(I18nManager.getText("menu.photo.connect"));
+ _connectPhotoAction = new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ _app.connectPhotoToPoint();
+ }
+ };
+ _connectPhotoItem.addActionListener(_connectPhotoAction);
+ _connectPhotoItem.setEnabled(false);
+ photoMenu.addSeparator();
+ photoMenu.add(_connectPhotoItem);
+ // disconnect photo
+ _disconnectPhotoItem = new JMenuItem(I18nManager.getText("menu.photo.disconnect"));
+ _disconnectPhotoItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ _app.disconnectPhotoFromPoint();
+ }
+ });
+ _disconnectPhotoItem.setEnabled(false);
+ photoMenu.add(_disconnectPhotoItem);
+ _deletePhotoItem = new JMenuItem(I18nManager.getText("menu.photo.delete"));
+ _deletePhotoItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ _app.deleteCurrentPhoto();
+ }
+ });
+ _deletePhotoItem.setEnabled(false);
+ photoMenu.add(_deletePhotoItem);
+ photoMenu.addSeparator();
+ // correlate all photos
+ _correlatePhotosItem = makeMenuItem(FunctionLibrary.FUNCTION_CORRELATE_PHOTOS);
+ _correlatePhotosItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ FunctionLibrary.FUNCTION_CORRELATE_PHOTOS.begin();
+ }
+ });
+ _correlatePhotosItem.setEnabled(false);
+ photoMenu.add(_correlatePhotosItem);
+ menubar.add(photoMenu);