source: josm/trunk/src/org/openstreetmap/josm/gui/preferences/projection/LambertCC9ZonesProjectionChoice.java@ 5546

Last change on this file since 5546 was 5546, checked in by bastiK, 12 years ago

remove old migration code

File size: 3.0 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.preferences.projection;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.event.ActionListener;
7import java.util.Collection;
8import java.util.Collections;
9
10import javax.swing.JLabel;
11import javax.swing.JPanel;
12
13import org.openstreetmap.josm.data.projection.LambertCC9Zones;
14import org.openstreetmap.josm.data.projection.Projection;
15import org.openstreetmap.josm.tools.GBC;
16import org.openstreetmap.josm.tools.ImageProvider;
17
18public class LambertCC9ZonesProjectionChoice extends ListProjectionChoice {
19
20 private static String[] lambert9zones = {
21 tr("{0} ({1} to {2} degrees)", 1,41,43),
22 tr("{0} ({1} to {2} degrees)", 2,42,44),
23 tr("{0} ({1} to {2} degrees)", 3,43,45),
24 tr("{0} ({1} to {2} degrees)", 4,44,46),
25 tr("{0} ({1} to {2} degrees)", 5,45,47),
26 tr("{0} ({1} to {2} degrees)", 6,46,48),
27 tr("{0} ({1} to {2} degrees)", 7,47,49),
28 tr("{0} ({1} to {2} degrees)", 8,48,50),
29 tr("{0} ({1} to {2} degrees)", 9,49,51)
30 };
31
32 public LambertCC9ZonesProjectionChoice() {
33 super("core:lambertcc9", tr("Lambert CC9 Zone (France)"), lambert9zones, tr("Lambert CC Zone"));
34 }
35
36 private class LambertCC9CBPanel extends CBPanel {
37 public LambertCC9CBPanel(Object[] entries, int initialIndex, String label, ActionListener listener) {
38 super(entries, initialIndex, label, listener);
39 this.add(new JLabel(ImageProvider.get("data/projection", "LambertCC9Zones.png")), GBC.eol().fill(GBC.HORIZONTAL));
40 this.add(GBC.glue(1, 1), GBC.eol().fill(GBC.BOTH));
41 }
42 }
43
44 @Override
45 public JPanel getPreferencePanel(ActionListener listener) {
46 return new LambertCC9CBPanel(entries, index, label, listener);
47 }
48
49 @Override
50 public Projection getProjection() {
51 return new LambertCC9Zones(index);
52 }
53
54 @Override
55 public String[] allCodes() {
56 String[] codes = new String[9];
57 for (int zone = 0; zone < 9; zone++) {
58 codes[zone] = "EPSG:" + (3942 + zone);
59 }
60 return codes;
61 }
62
63 @Override
64 public Collection<String> getPreferencesFromCode(String code) {
65 //zone 1=CC42=EPSG:3942 up to zone 9=CC50=EPSG:3950
66 if (code.startsWith("EPSG:39") && code.length() == 9) {
67 try {
68 String zonestring = code.substring(5,9);
69 int zoneval = Integer.parseInt(zonestring)-3942;
70 if(zoneval >= 0 && zoneval <= 8)
71 return Collections.singleton(String.valueOf(zoneval+1));
72 } catch(NumberFormatException ex) {}
73 }
74 return null;
75 }
76
77 @Override
78 protected String indexToZone(int index) {
79 return Integer.toString(index + 1);
80 }
81
82 @Override
83 protected int zoneToIndex(String zone) {
84 try {
85 return Integer.parseInt(zone) - 1;
86 } catch(NumberFormatException e) {}
87 return defaultIndex;
88 }
89
90}
Note: See TracBrowser for help on using the repository browser.