Ignore:
Timestamp:
2009-06-26T22:11:40+02:00 (15 years ago)
Author:
jttt
Message:

Use getter for Node.coor and Node.eastNorth

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/JumpToAction.java

    r13575 r16162  
    44
    55import java.awt.BorderLayout;
    6 import java.awt.Component;
     6import java.awt.GridBagLayout;
    77import java.awt.event.ActionEvent;
    8 import java.awt.event.InputEvent;
    98import java.awt.event.KeyEvent;
     9import java.awt.event.MouseEvent;
    1010import java.awt.event.MouseListener;
    11 import java.awt.event.MouseEvent;
    12 import java.awt.GridBagLayout;
    13 import java.awt.GridLayout;
    14 import java.awt.Toolkit;
    1511
    16 import javax.swing.Box;
    17 import javax.swing.event.DocumentListener;
    18 import javax.swing.event.DocumentEvent;
    19 import javax.swing.JComponent;
    20 import javax.swing.JDialog;
    2112import javax.swing.JLabel;
    2213import javax.swing.JOptionPane;
    2314import javax.swing.JPanel;
    2415import javax.swing.JTextField;
    25 import javax.swing.KeyStroke;
     16import javax.swing.event.DocumentEvent;
     17import javax.swing.event.DocumentListener;
    2618
    2719import org.openstreetmap.josm.Main;
    2820import org.openstreetmap.josm.actions.JosmAction;
    2921import org.openstreetmap.josm.data.Bounds;
    30 import org.openstreetmap.josm.data.coor.EastNorth;
    3122import org.openstreetmap.josm.data.coor.LatLon;
    32 import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
    33 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
     23import org.openstreetmap.josm.gui.NavigatableComponent;
    3424import org.openstreetmap.josm.tools.GBC;
    3525import org.openstreetmap.josm.tools.OsmUrlToBounds;
     
    4131        KeyEvent.VK_G, Shortcut.GROUP_HOTKEY), true);
    4232    }
    43    
     33
    4434    private JTextField url = new JTextField();
    4535    private JTextField lat = new JTextField();
    4636    private JTextField lon = new JTextField();
    4737    private JTextField zm = new JTextField();
    48    
     38
    4939    private double zoomFactor = 0;
    5040    public void showJumpToDialog() {
     
    5242        lat.setText(java.lang.Double.toString(curPos.lat()));
    5343        lon.setText(java.lang.Double.toString(curPos.lon()));
    54        
     44
    5545        LatLon ll1 = Main.map.mapView.getLatLon(0,0);
    5646        LatLon ll2 = Main.map.mapView.getLatLon(100,0);
    5747        double dist = ll1.greatCircleDistance(ll2);
    5848        zoomFactor = Main.map.mapView.getScale()/dist;
    59        
     49
    6050        zm.setText(java.lang.Long.toString(Math.round(dist*100)/100));
    6151        updateUrl(true);
    62        
     52
    6353        JPanel panel = new JPanel(new BorderLayout());
    6454        panel.add(new JLabel("<html>"
     
    6959                              + "</html>"),
    7060                  BorderLayout.NORTH);
    71        
    72         class osmURLListener implements DocumentListener { 
    73             public void changedUpdate(DocumentEvent e) { parseURL(); } 
    74             public void insertUpdate(DocumentEvent e) { parseURL(); } 
    75             public void removeUpdate(DocumentEvent e) { parseURL(); } 
     61
     62        class osmURLListener implements DocumentListener {
     63            public void changedUpdate(DocumentEvent e) { parseURL(); }
     64            public void insertUpdate(DocumentEvent e) { parseURL(); }
     65            public void removeUpdate(DocumentEvent e) { parseURL(); }
    7666        }
    77        
    78         class osmLonLatListener implements DocumentListener { 
    79             public void changedUpdate(DocumentEvent e) { updateUrl(false); } 
    80             public void insertUpdate(DocumentEvent e) { updateUrl(false); } 
    81             public void removeUpdate(DocumentEvent e) { updateUrl(false); } 
    82         } 
    83        
     67
     68        class osmLonLatListener implements DocumentListener {
     69            public void changedUpdate(DocumentEvent e) { updateUrl(false); }
     70            public void insertUpdate(DocumentEvent e) { updateUrl(false); }
     71            public void removeUpdate(DocumentEvent e) { updateUrl(false); }
     72        }
     73
    8474        osmLonLatListener x=new osmLonLatListener();
    85         lat.getDocument().addDocumentListener(x); 
    86         lon.getDocument().addDocumentListener(x); 
    87         zm.getDocument().addDocumentListener(x); 
    88         url.getDocument().addDocumentListener(new osmURLListener()); 
    89        
     75        lat.getDocument().addDocumentListener(x);
     76        lon.getDocument().addDocumentListener(x);
     77        zm.getDocument().addDocumentListener(x);
     78        url.getDocument().addDocumentListener(new osmURLListener());
     79
    9080        JPanel p = new JPanel(new GridBagLayout());
    9181        panel.add(p, BorderLayout.NORTH);
    92        
     82
    9383        p.add(new JLabel(tr("Latitude")), GBC.eol());
    9484        p.add(lat, GBC.eol().fill(GBC.HORIZONTAL));
    95        
     85
    9686        p.add(new JLabel(tr("Longitude")), GBC.eol());
    9787        p.add(lon, GBC.eol().fill(GBC.HORIZONTAL));
    98        
     88
    9989        p.add(new JLabel(tr("Zoom (in metres)")), GBC.eol());
    10090        p.add(zm, GBC.eol().fill(GBC.HORIZONTAL));
    101        
     91
    10292        p.add(new JLabel(tr("URL")), GBC.eol());
    10393        p.add(url, GBC.eol().fill(GBC.HORIZONTAL));
    104        
     94
    10595        Object[] buttons = { tr("Jump there"), tr("Cancel") };
    10696        LatLon ll = null;
     
    116106                            buttons,
    117107                            buttons[0]);
    118            
     108
    119109            if (option != JOptionPane.OK_OPTION) return;
    120110            try {
     
    125115            }
    126116        }
    127        
     117
    128118        Main.map.mapView.zoomTo(Main.proj.latlon2eastNorth(ll), zoomFactor * zoomLvl);
    129119    }
    130    
     120
    131121    private void parseURL() {
    132122        if(!url.hasFocus()) return;
     
    135125            lat.setText(Double.toString((b.min.lat() + b.max.lat())/2));
    136126            lon.setText(Double.toString((b.min.lon() + b.max.lon())/2));
    137            
     127
    138128            int zoomLvl = 16;
    139             String[] args = url.getText().substring(url.getText().indexOf('?')+1).split("&"); 
    140             for (String arg : args) { 
    141                 int eq = arg.indexOf('='); 
    142                 if (eq == -1 || !arg.substring(0, eq).equalsIgnoreCase("zoom")) continue; 
    143                
     129            String[] args = url.getText().substring(url.getText().indexOf('?')+1).split("&");
     130            for (String arg : args) {
     131                int eq = arg.indexOf('=');
     132                if (eq == -1 || !arg.substring(0, eq).equalsIgnoreCase("zoom")) continue;
     133
    144134                zoomLvl = Integer.parseInt(arg.substring(eq + 1));
    145135                break;
    146136            }
    147            
     137
    148138            // 10000000 = 10 000 * 1000 = World * (km -> m)
    149139            zm.setText(Double.toString(Math.round(10000000 * Math.pow(2, (-1) * zoomLvl))));
    150140        }
    151141    }
    152    
     142
    153143    private void updateUrl(boolean force) {
    154144        if(!lat.hasFocus() && !lon.hasFocus() && !zm.hasFocus() && !force) return;
     
    170160        showJumpToDialog();
    171161    }
    172    
     162
    173163    /**
    174      * Converts a given scale into OSM-Style zoom factors 
     164     * Converts a given scale into OSM-Style zoom factors
    175165     * @param double scale
    176      */   
     166     */
    177167    public int getZoom(double scale) {
    178168        double sizex = scale * Main.map.mapView.getWidth();
    179169        double sizey = scale * Main.map.mapView.getHeight();
    180170        for (int zoom = 0; zoom <= 32; zoom++, sizex *= 2, sizey *= 2)
    181             if (sizex > Main.map.mapView.world.east() || sizey > Main.map.mapView.world.north())
     171            if (sizex > NavigatableComponent.world.east() || sizey > NavigatableComponent.world.north())
    182172                return zoom;
    183173        return 32;
    184174    }
    185  
     175
    186176    public void mousePressed(MouseEvent e) {}
    187177
Note: See TracChangeset for help on using the changeset viewer.