Changeset 115 in josm for src/org


Ignore:
Timestamp:
2006-07-19T01:44:25+02:00 (18 years ago)
Author:
imi
Message:
  • added "--language=..." command line
  • added French language (thanks Frédéric)
  • added metric Scale display
Location:
src/org/openstreetmap/josm
Files:
2 added
8 edited
1 moved

Legend:

Unmodified
Added
Removed
  • src/org/openstreetmap/josm/gui/MainApplication.java

    r113 r115  
    1313import java.util.LinkedList;
    1414import java.util.List;
     15import java.util.Locale;
    1516import java.util.Map;
    1617
     
    7071                Thread.setDefaultUncaughtExceptionHandler(new BugReportExceptionHandler());
    7172
     73                // construct argument table
    7274                List<String> argList = Arrays.asList(argArray);
    73                 if (argList.contains("--help") || argList.contains("-?") || argList.contains("-h")) {
    74                         System.out.println(tr("Java OpenStreetMap Editor\n\n"+
    75                                                    "usage:\n"+
    76                                                    "\tjava -jar josm.jar <option> <option> <option>...\n\n"+
    77                                                    "options:\n"+
    78                                                    "\t--help|-?|-h                              Show this help\n"+
    79                                                    "\t--geometry=widthxheight(+|-)x(+|-)y       Standard unix geometry argument\n"+
    80                                                    "\t[--download=]minlat,minlon,maxlat,maxlon  Download the bounding box\n"+
    81                                                    "\t[--download=]<url>                        Download the location at the url (with lat=x&lon=y&zoom=z)\n"+
    82                                                    "\t[--download=]<filename>                   Open file (as raw gps, if .gpx or .csv)\n"+
    83                                                    "\t--downloadgps=minlat,minlon,maxlat,maxlon Download the bounding box as raw gps\n"+
    84                                                    "\t--selection=<searchstring>                Select with the given search\n"+
    85                                                    "\t--no-fullscreen                           Don't launch in fullscreen mode\n"+
    86                                                    "\t--reset-preferences                       Reset the preferences to default\n\n"+
    87                                                    "examples:\n"+
    88                                                    "\tjava -jar josm.jar track1.gpx track2.gpx london.osm\n"+
    89                                                    "\tjava -jar josm.jar http://www.openstreetmap.org/index.html?lat=43.2&lon=11.1&zoom=13\n"+
    90                                                    "\tjava -jar josm.jar london.osm --selection=http://www.ostertag.name/osm/OSM_errors_node-duplicate.xml\n"+
    91                                                    "\tjava -jar josm.jar 43.2,11.1,43.4,11.4\n\n"+
    92 
    93                                                    "Parameters are read in the order they are specified, so make sure you load\n"+
    94                                                    "some data before --selection\n\n"+
    95                                                    "Instead of --download=<bbox> you may specify osm://<bbox>\n"));
    96                         System.exit(0);
    97                 }
    98 
    99                 final File prefDir = new File(Main.pref.getPreferencesDir());
    100                 if (prefDir.exists() && !prefDir.isDirectory()) {
    101                         JOptionPane.showMessageDialog(null, tr("Cannot open preferences directory: {0}",Main.pref.getPreferencesDir()));
    102                         return;
    103                 }
    104                 if (!prefDir.exists())
    105                         prefDir.mkdirs();
    106 
    107                 // construct argument table
    10875                Map<String, Collection<String>> args = new HashMap<String, Collection<String>>();
    10976                for (String arg : argArray) {
     
    12087                }
    12188
     89                // very first thing to do is to setup the locale
     90                if (args.containsKey("language") && !args.get("language").isEmpty() && args.get("language").iterator().next().length() >= 2) {
     91                        String s = args.get("language").iterator().next();
     92                        Locale l = null;
     93                        if (s.length() <= 2 || s.charAt(2) != '_')
     94                                l = new Locale(s);
     95                        else if (s.length() <= 5 || s.charAt(5) != '.')
     96                                l = new Locale(s.substring(0,2), s.substring(3));
     97                        else
     98                                l = new Locale(s.substring(0,2), s.substring(3,5), s.substring(6));
     99                        Locale.setDefault(l);
     100                }
     101               
     102                if (argList.contains("--help") || argList.contains("-?") || argList.contains("-h")) {
     103                        System.out.println(tr("Java OpenStreetMap Editor")+"\n\n"+
     104                                        tr("usage")+":\n"+
     105                                        "\tjava -jar josm.jar <option> <option> <option>...\n\n"+
     106                                        tr("options")+":\n"+
     107                                        "\t--help|-?|-h                              "+tr("Show this help")+"\n"+
     108                                        "\t--geometry=widthxheight(+|-)x(+|-)y       "+tr("Standard unix geometry argument")+"\n"+
     109                                        "\t[--download=]minlat,minlon,maxlat,maxlon  "+tr("Download the bounding box")+"\n"+
     110                                        "\t[--download=]<url>                        "+tr("Download the location at the url (with lat=x&lon=y&zoom=z)")+"\n"+
     111                                        "\t[--download=]<filename>                   "+tr("Open file (as raw gps, if .gpx or .csv)")+"\n"+
     112                                        "\t--downloadgps=minlat,minlon,maxlat,maxlon "+tr("Download the bounding box as raw gps")+"\n"+
     113                                        "\t--selection=<searchstring>                "+tr("Select with the given search")+"\n"+
     114                                        "\t--no-fullscreen                           "+tr("Don't launch in fullscreen mode")+"\n"+
     115                                        "\t--reset-preferences                       "+tr("Reset the preferences to default")+"\n\n"+
     116                                        "\t--language=<language>                     "+tr("Set the language. Example: ")+"\n\n"+
     117                                        tr("examples")+":\n"+
     118                                        "\tjava -jar josm.jar track1.gpx track2.gpx london.osm\n"+
     119                                        "\tjava -jar josm.jar http://www.openstreetmap.org/index.html?lat=43.2&lon=11.1&zoom=13\n"+
     120                                        "\tjava -jar josm.jar london.osm --selection=http://www.ostertag.name/osm/OSM_errors_node-duplicate.xml\n"+
     121                                        "\tjava -jar josm.jar 43.2,11.1,43.4,11.4\n\n"+
     122
     123                                        tr("Parameters are read in the order they are specified, so make sure you load\n"+
     124                                        "some data before --selection")+"\n\n"+
     125                                        tr("Instead of --download=<bbox> you may specify osm://<bbox>\n"));
     126                        System.exit(0);
     127                }
     128
     129                final File prefDir = new File(Main.pref.getPreferencesDir());
     130                if (prefDir.exists() && !prefDir.isDirectory()) {
     131                        JOptionPane.showMessageDialog(null, tr("Cannot open preferences directory: {0}",Main.pref.getPreferencesDir()));
     132                        return;
     133                }
     134                if (!prefDir.exists())
     135                        prefDir.mkdirs();
     136
    122137                preConstructorInit(args);
    123138                JFrame mainFrame = new JFrame(tr("Java Open Street Map - Editor"));
  • src/org/openstreetmap/josm/gui/MapView.java

    r113 r115  
    88import java.awt.event.ComponentAdapter;
    99import java.awt.event.ComponentEvent;
    10 import java.awt.event.MouseAdapter;
    11 import java.awt.event.MouseEvent;
    12 import java.beans.PropertyChangeEvent;
    13 import java.beans.PropertyChangeListener;
    1410import java.util.ArrayList;
    1511import java.util.Collection;
     
    1814
    1915import javax.swing.JOptionPane;
    20 import javax.swing.JSlider;
    21 import javax.swing.event.ChangeEvent;
    22 import javax.swing.event.ChangeListener;
    2316
    2417import org.openstreetmap.josm.Main;
     
    8780
    8881
    89         private final class Scaler extends JSlider implements PropertyChangeListener, ChangeListener {
    90                 boolean clicked = false;
    91                 public Scaler() {
    92                         super(0, 20);
    93                         addMouseListener(new MouseAdapter(){
    94                                 @Override public void mousePressed(MouseEvent e) {
    95                                         clicked = true;
    96                                 }
    97                                 @Override public void mouseReleased(MouseEvent e) {
    98                                         clicked = false;
    99                                 }
    100                         });
    101                         MapView.this.addPropertyChangeListener("scale", this);
    102                         addChangeListener(this);
    103                 }
    104                 public void propertyChange(PropertyChangeEvent evt) {
    105                         if (!getModel().getValueIsAdjusting())
    106                                 setValue(zoom());
    107                 }
    108                 public void stateChanged(ChangeEvent e) {
    109                         if (!clicked)
    110                                 return;
    111                         EastNorth pos = world;
    112                         for (int zoom = 0; zoom < getValue(); ++zoom)
    113                                 pos = new EastNorth(pos.east()/2, pos.north()/2);
    114                         if (MapView.this.getWidth() < MapView.this.getHeight())
    115                                 zoomTo(center, pos.east()*2/(MapView.this.getWidth()-20));
    116                         else
    117                                 zoomTo(center, pos.north()*2/(MapView.this.getHeight()-20));
    118                 }
    119         }
    120 
    12182        public MapView(AutoScaleAction autoScaleAction) {
    12283                this.autoScaleAction = autoScaleAction;
     
    13495                        }
    13596                });
    136                 Scaler zoomScaler = new Scaler();
    137                 zoomScaler.setOpaque(false);
    138                 add(zoomScaler);
    139                 zoomScaler.setBounds(0,0, 100, 30);
     97
     98                MapSlider zoomSlider = new MapSlider(this);
     99                add(zoomSlider);
     100                zoomSlider.setBounds(0,0, 100, 30);
     101               
     102                MapScaler scaler = new MapScaler(this);
     103                add(scaler);
     104                scaler.setLocation(10,30);
    140105        }
    141106
  • src/org/openstreetmap/josm/gui/PreferenceDialog.java

    r113 r115  
    7878                        Main.pref.put("draw.rawgps.lines", drawRawGpsLines.isSelected());
    7979                        Main.pref.put("draw.rawgps.lines.force", forceRawGpsLines.isSelected());
     80                        Main.pref.put("draw.rawgps.large", largeGpsPoints.isSelected());
    8081                        Main.pref.put("draw.segment.direction", directionHint.isSelected());
    8182
     
    157158         */
    158159        private JCheckBox forceRawGpsLines = new JCheckBox(tr("Force lines if no segments imported."));
     160        private JCheckBox largeGpsPoints = new JCheckBox(tr("Draw large GPS points."));
    159161        private JCheckBox directionHint = new JCheckBox(tr("Draw Direction Arrows"));
    160162        private JTable colors;
     
    220222                forceRawGpsLines.setSelected(Main.pref.getBoolean("draw.rawgps.lines.force"));
    221223                forceRawGpsLines.setEnabled(drawRawGpsLines.isSelected());
     224                largeGpsPoints.setSelected(Main.pref.getBoolean("draw.rawgps.large"));
     225                largeGpsPoints.setToolTipText(tr("Draw larger dots for the GPS points."));
    222226                directionHint.setToolTipText(tr("Draw direction hints for all segments."));
    223227                directionHint.setSelected(Main.pref.getBoolean("draw.segment.direction"));
     
    296300                display.add(drawRawGpsLines, GBC.eol().insets(20,0,0,0));
    297301                display.add(forceRawGpsLines, GBC.eop().insets(40,0,0,0));
     302                display.add(largeGpsPoints, GBC.eop().insets(20,0,0,0));
    298303                display.add(directionHint, GBC.eop().insets(20,0,0,0));
    299304                display.add(new JLabel(tr("Colors")), GBC.eol());
  • src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java

    r113 r115  
    234234                        public void actionPerformed(ActionEvent e) {
    235235                                int sel = propertyTable.getSelectedRow();
    236                                 if (e.getActionCommand().equals(tr("Add")))
     236                                if (e.getActionCommand().equals("Add"))
    237237                                        add();
    238                                 else if (e.getActionCommand().equals(tr("Edit"))) {
     238                                else if (e.getActionCommand().equals("Edit")) {
    239239                                        if (sel == -1)
    240240                                                JOptionPane.showMessageDialog(Main.parent, tr("Please select the row to edit."));
    241241                                        else
    242242                                                edit(sel);
    243                                 } else if (e.getActionCommand().equals(tr("Delete"))) {
     243                                } else if (e.getActionCommand().equals("Delete")) {
    244244                                        if (sel == -1)
    245245                                                JOptionPane.showMessageDialog(Main.parent, tr("Please select the row to delete."));
  • src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java

    r110 r115  
    4141import org.openstreetmap.josm.gui.PleaseWaitRunnable;
    4242import org.openstreetmap.josm.io.OsmIdReader;
    43 import org.openstreetmap.josm.io.ProgressReader;
     43import org.openstreetmap.josm.io.ProgressInputStream;
    4444import org.openstreetmap.josm.tools.GBC;
    4545import org.openstreetmap.josm.tools.ImageProvider;
     
    7474                        try {
    7575                        URLConnection con = url.openConnection();
    76                         InputStream in = new ProgressReader(con, progress, currentAction);
     76                        InputStream in = new ProgressInputStream(con, progress, currentAction);
    7777                                currentAction.setText(tr("Downloading..."));
    7878                                Map<Long, String> ids = idReader.parseIds(in);
  • src/org/openstreetmap/josm/gui/layer/RawGpsLayer.java

    r113 r115  
    112112                        g.setColor(Color.GRAY);
    113113                Point old = null;
     114               
     115                boolean force = Main.pref.getBoolean("draw.rawgps.lines.force");
     116                boolean lines = Main.pref.getBoolean("draw.rawgps.lines");
     117                boolean large = Main.pref.getBoolean("draw.rawgps.large");
    114118                for (Collection<GpsPoint> c : data) {
    115                         if (!Main.pref.getBoolean("draw.rawgps.lines.force"))
     119                        if (!force)
    116120                                old = null;
    117121                        for (GpsPoint p : c) {
    118122                                Point screen = mv.getPoint(p.eastNorth);
    119                                 if (Main.pref.getBoolean("draw.rawgps.lines") && old != null)
     123                                if (lines && old != null)
    120124                                        g.drawLine(old.x, old.y, screen.x, screen.y);
    121                                 else
     125                                else if (!large)
    122126                                        g.drawRect(screen.x, screen.y, 0, 0);
     127                                if (large)
     128                                        g.fillRect(screen.x-1, screen.y-1, 3, 3);
    123129                                old = screen;
    124130                        }
  • src/org/openstreetmap/josm/io/OsmServerReader.java

    r104 r115  
    3030                if (isAuthCancelled() && activeConnection.getResponseCode() == 401)
    3131                        return null;
    32                 return new ProgressReader(activeConnection, progress, currentAction);
     32                return new ProgressInputStream(activeConnection, progress, currentAction);
    3333        }
    3434}
  • src/org/openstreetmap/josm/io/ProgressInputStream.java

    r109 r115  
    1212 * @author Imi
    1313 */
    14 public class ProgressReader extends InputStream {
     14public class ProgressInputStream extends InputStream {
    1515
    1616        private final InputStream in;
     
    2121        private final URLConnection connection;
    2222
    23         public ProgressReader(URLConnection con, BoundedRangeModel progress, JLabel currentAction) throws IOException {
     23        public ProgressInputStream(URLConnection con, BoundedRangeModel progress, JLabel currentAction) throws IOException {
    2424                this.connection = con;
    2525                this.in = con.getInputStream();
  • src/org/openstreetmap/josm/tools/I18n.java

    r112 r115  
    2020                i18n = I18nFactory.getI18n(Main.class);
    2121        } catch (MissingResourceException e) {
    22                 System.out.println("Locale '"+Locale.getDefault().getLanguage()+"' not found. Using default.");
     22                System.out.println("Locale '"+Locale.getDefault()+"' not found. Using default.");
    2323        }
    2424        }
Note: See TracChangeset for help on using the changeset viewer.