Changeset 25262 in osm for applications
- Timestamp:
- 2011-02-08T20:07:25+01:00 (14 years ago)
- Location:
- applications/editors/josm/plugins/epsg31287
- Files:
-
- 1 deleted
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/epsg31287/build.xml
r25199 r25262 37 37 <property name="commit.message" value="fixed proj4 Parameters (thanks to Hetzi + Mikael Rittri)" /> 38 38 <!-- enter the *lowest* JOSM version this plugin is currently compatible with --> 39 <property name="plugin.main.version" value="38 35" />39 <property name="plugin.main.version" value="3872" /> 40 40 41 41 -
applications/editors/josm/plugins/epsg31287/src/org/openstreetmap/josm/plugins/epsg31287/Epsg31287.java
r23660 r25262 3 3 package org.openstreetmap.josm.plugins.epsg31287; 4 4 5 import static org.openstreetmap.josm.tools.I18n.tr; 6 import static org.openstreetmap.josm.tools.I18n.marktr; 7 8 import java.awt.event.ActionEvent; 9 import java.awt.event.KeyEvent; 10 11 import javax.swing.JMenu; 12 import javax.swing.JMenuItem; 13 import javax.swing.JOptionPane; 14 15 import org.openstreetmap.josm.Main; 16 import org.openstreetmap.josm.actions.JosmAction; 17 import org.openstreetmap.josm.actions.UploadAction; 18 import org.openstreetmap.josm.data.Bounds; 19 import org.openstreetmap.josm.data.projection.Mercator; 20 import org.openstreetmap.josm.data.projection.Projection; 21 import org.openstreetmap.josm.gui.MainMenu; 22 import org.openstreetmap.josm.gui.preferences.ProjectionPreference; 5 import org.openstreetmap.josm.data.projection.Projections; 23 6 import org.openstreetmap.josm.plugins.Plugin; 24 7 import org.openstreetmap.josm.plugins.PluginInformation; 25 8 26 9 public class Epsg31287 extends Plugin { 27 28 private JMenu mMenu;29 private Projection oldProj;30 private final String projCode;31 32 10 public Epsg31287(PluginInformation info) { 33 11 super(info); 34 projCode = ProjectionEPSG31287.getProjCode(); 35 refreshMenu(); 12 Projections.addProjection(new ProjectionEPSG31287()); 36 13 } 37 38 public void toggleProjection()39 {40 Bounds b = (Main.map != null && Main.map.mapView != null) ? Main.map.mapView.getRealBounds() : null;41 42 try {43 // toggle projection44 if (Main.proj.toCode().equals(projCode)) {45 // use JOSM built in to fire Listeners46 ProjectionPreference.setProjection(oldProj.getClass().getName(), null);47 48 //Main.proj = oldProj;49 //UploadAction.unregisterUploadHook(uploadHook);50 //uploadHook = null;51 } else {52 oldProj = Main.proj;53 Main.proj = new ProjectionEPSG31287();54 //TODO use JOSM built in to fire Listeners, does not work currently due to classnotfound ex55 // ProjectionPreference.setProjection(ProjectionEPSG31287.class.getName(), null);56 UploadAction.registerUploadHook(new EPSG31287UploadHook(this));57 }58 // toggle Menu59 refreshMenu();60 // show info61 JOptionPane.showMessageDialog(62 Main.parent,63 tr("Current projection is set to {0}", Main.proj.toString()) +64 (Main.proj.toCode().equals(projCode) ?65 tr("\nPlease adjust WMS layer manually by using known exact objects/traces/... before starting to map")66 : ""),67 tr("Info"),68 JOptionPane.INFORMATION_MESSAGE69 );70 } catch (final Exception e) {71 JOptionPane.showMessageDialog(72 Main.parent,73 tr("The projection {0} could not be activated. Using Mercator", projCode),74 tr("Error"),75 JOptionPane.ERROR_MESSAGE76 );77 Main.proj = new Mercator();78 }79 if((b != null) && (oldProj != null) && (!Main.proj.getClass().getName().equals(oldProj.getClass().getName()) || Main.proj.hashCode() != oldProj.hashCode()))80 {81 Main.map.mapView.zoomTo(b);82 /* TODO - remove layers with fixed projection */83 }84 }85 86 public void refreshMenu() {87 MainMenu menu = Main.main.menu;88 89 if (mMenu == null)90 mMenu = menu.addMenu(marktr("EPSG31287"), KeyEvent.VK_S, menu.defaultMenuPos, null);91 else92 mMenu.removeAll();93 // toggle menu text based on current projection94 if (Main.proj.toCode().equals(projCode)) {95 mMenu.add(new JMenuItem(new96 JosmAction(tr("set {0}",oldProj.toString())97 ,"wmsmenu.png"98 ,tr("set projection from {0} to {1}",projCode,oldProj.toString())99 , null, false)100 {101 private static final long serialVersionUID = 7610502878925107647L;102 @Override103 public void actionPerformed(ActionEvent ev) {104 toggleProjection();105 }106 }));107 } else {108 mMenu.add(new JMenuItem(new109 JosmAction(tr("set {0}",projCode)110 ,"wmsmenu_off.png"111 ,tr("set projection from {0} to {1}",Main.proj.toString() ,projCode)112 , null, false)113 {114 private static final long serialVersionUID = 7610502878925107646L;115 @Override116 public void actionPerformed(ActionEvent ev) {117 toggleProjection();118 }119 }));120 }121 }122 123 14 }
Note:
See TracChangeset
for help on using the changeset viewer.