Ignore:
Timestamp:
2009-01-01T18:28:53+01:00 (16 years ago)
Author:
stoecker
Message:

removed tab stop usage

Location:
applications/editors/josm/plugins/measurement/src/org/openstreetmap/josm/plugins/measurement
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/measurement/src/org/openstreetmap/josm/plugins/measurement/MeasurementDialog.java

    r12471 r12778  
    3434public class MeasurementDialog extends ToggleDialog implements ActionListener
    3535{
    36         private static final long serialVersionUID = 4708541586297950021L;
     36    private static final long serialVersionUID = 4708541586297950021L;
    3737
    38         /**
     38    /**
    3939     * The reset button
    4040     */
     
    6464     * Constructor
    6565     */
    66     public MeasurementDialog() 
     66    public MeasurementDialog()
    6767    {
    6868        super(tr("Measured values"), "measure", tr("Open the measurement window."),
     
    7878
    7979        JPanel valuePanel = new JPanel(new GridLayout(0,2));
    80        
     80
    8181        valuePanel.add(new JLabel(tr("Path Length")));
    82        
     82
    8383        pathLengthLabel = new JLabel("0 m");
    8484        valuePanel.add(pathLengthLabel);
    85        
     85
    8686        valuePanel.add(new JLabel(tr("Selection Length")));
    87        
     87
    8888        selectLengthLabel = new JLabel("0 m");
    8989        valuePanel.add(selectLengthLabel);
    9090
    9191        valuePanel.add(new JLabel(tr("Selection Area")));
    92        
     92
    9393        selectAreaLabel = new JLabel("0 m\u00b2");
    9494        valuePanel.add(selectAreaLabel);
    95        
     95
    9696        JLabel angle = new JLabel(tr("Angle"));
    9797        angle.setToolTipText(tr("Angle between two selected Nodes"));
    9898        valuePanel.add(angle);
    99        
     99
    100100        segAngleLabel = new JLabel("- \u00b0");
    101101        valuePanel.add(segAngleLabel);
    102        
     102
    103103        add(valuePanel, BorderLayout.CENTER);
    104104
    105105        this.setPreferredSize(new Dimension(0, 92));
    106106        final MeasurementDialog dlg = this;
    107        //TODO: is this enough? 
     107       //TODO: is this enough?
    108108
    109109        Main.ds.selListeners.add(new SelectionChangedListener(){
    110110
    111                         public void selectionChanged(Collection<? extends OsmPrimitive> arg0) {
    112                                 double length = 0.0;
    113                                 double segAngle = 0.0;
     111            public void selectionChanged(Collection<? extends OsmPrimitive> arg0) {
     112                double length = 0.0;
     113                double segAngle = 0.0;
    114114                                double area = 0.0;
    115115                                Node lastNode = null;
    116                                 for(OsmPrimitive p:arg0){
     116                for(OsmPrimitive p:arg0){
    117117                                    if(p instanceof Node){
    118118                                        Node n =(Node)p;
     
    132132                                                //http://local.wasp.uwa.edu.au/~pbourke/geometry/polyarea/
    133133                                                area += (MeasurementLayer.calcX(n.coor) * MeasurementLayer.calcY(lastN.coor))
    134                                                       - (MeasurementLayer.calcY(n.coor) * MeasurementLayer.calcX(lastN.coor));
     134                              - (MeasurementLayer.calcY(n.coor) * MeasurementLayer.calcX(lastN.coor));
    135135                                            }
    136136                                            lastN = n;
     
    142142                                        }
    143143                                    }
    144                                 }
    145                                 dlg.selectLengthLabel.setText(new DecimalFormat("#0.00").format(length) + " m");
     144                }
     145                dlg.selectLengthLabel.setText(new DecimalFormat("#0.00").format(length) + " m");
    146146
    147                                 dlg.segAngleLabel.setText(new DecimalFormat("#0.0").format(segAngle) + " \u00b0");             
    148                                 dlg.selectAreaLabel.setText(new DecimalFormat("#0.00").format(area) + " m\u00b2");
    149                         }
    150                 });
    151         }
     147                dlg.segAngleLabel.setText(new DecimalFormat("#0.0").format(segAngle) + " \u00b0");
     148                dlg.selectAreaLabel.setText(new DecimalFormat("#0.00").format(area) + " m\u00b2");
     149            }
     150        });
     151    }
    152152
    153         public void actionPerformed(ActionEvent e)
    154         {
    155                 String actionCommand = e.getActionCommand();
    156                 if( actionCommand.equals("Reset")){
    157                         resetValues();
    158                 }
    159         }
    160    
    161         /**
    162         * Cleans the active Meausurement Layer
    163         */
    164         public void resetValues(){
    165                 MeasurementPlugin.getCurrentLayer().reset();
    166         }
    167        
     153    public void actionPerformed(ActionEvent e)
     154    {
     155        String actionCommand = e.getActionCommand();
     156        if( actionCommand.equals("Reset")){
     157            resetValues();
     158        }
     159    }
     160
     161    /**
     162    * Cleans the active Meausurement Layer
     163    */
     164    public void resetValues(){
     165        MeasurementPlugin.getCurrentLayer().reset();
     166    }
     167
    168168}
  • applications/editors/josm/plugins/measurement/src/org/openstreetmap/josm/plugins/measurement/MeasurementLayer.java

    r12473 r12778  
    11package org.openstreetmap.josm.plugins.measurement;
    2 /// @author Raphael Mack <ramack@raphael-mack.de> 
     2/// @author Raphael Mack <ramack@raphael-mack.de>
    33import static org.openstreetmap.josm.tools.I18n.tr;
    44
     
    5353 */
    5454public class MeasurementLayer extends Layer {
    55        
     55
    5656    public MeasurementLayer(String arg0) {
    5757        super(arg0);
    5858    }
    5959
    60     private static Icon icon = new ImageIcon(Toolkit.getDefaultToolkit().createImage(MeasurementPlugin.class.getResource("/images/measurement.png"))); 
     60    private static Icon icon = new ImageIcon(Toolkit.getDefaultToolkit().createImage(MeasurementPlugin.class.getResource("/images/measurement.png")));
    6161    private Collection<WayPoint> points = new ArrayList<WayPoint>(32);
    62        
     62
    6363    @Override public Icon getIcon() {
    6464        return icon;
    6565    }
    66        
     66
    6767    @Override public String getToolTipText() {
    6868        return tr("Layer to make measurements");
     
    7676    @Override public void mergeFrom(Layer from) {
    7777        // TODO: nyi - doubts about how this should be done are around. Ideas?
    78        
     78
    7979    }
    8080
     
    110110            new JMenuItem(new LayerListPopup.InfoAction(this))};
    111111    }
    112        
     112
    113113    public void removeLastPoint(){
    114114        WayPoint l = null;
     
    116116        if(l != null) points.remove(l);
    117117        recalculate();
    118         Main.map.repaint();     
    119     }
    120        
    121     public void mouseClicked(MouseEvent e){             
     118        Main.map.repaint();
     119    }
     120
     121    public void mouseClicked(MouseEvent e){
    122122        if (e.getButton() != MouseEvent.BUTTON1) return;
    123123
    124         LatLon coor = Main.map.mapView.getLatLon(e.getX(), e.getY());           
     124        LatLon coor = Main.map.mapView.getLatLon(e.getX(), e.getY());
    125125        points.add(new WayPoint(coor));
    126126
     
    132132        points.clear();
    133133        recalculate();
    134         Main.map.repaint();             
    135     }
    136        
     134        Main.map.repaint();
     135    }
     136
    137137    private void recalculate(){
    138138        double pathLength = 0.0, segLength = 0.0; // in meters
    139139        WayPoint last = null;
    140                
     140
    141141        pathLength = 0.0;
    142142        for(WayPoint p : points){
     
    151151        MeasurementPlugin.measurementDialog.pathLengthLabel.setText(pathLength < 800?nf2.format(pathLength) + " m":nf.format(pathLength/1000) + " km");
    152152    }
    153        
     153
    154154    public static double calcDistance(LatLon p1, LatLon p2){
    155155        double lat1, lon1, lat2, lon2;
    156156        double dlon, dlat;
    157            
     157
    158158        lat1 = p1.lat() * Math.PI / 180.0;
    159159        lon1 = p1.lon() * Math.PI / 180.0;
     
    172172        double lat1, lon1, lat2, lon2;
    173173        double dlon, dlat;
    174            
     174
    175175        lat1 = p1.lat() * Math.PI / 180.0;
    176176        lon1 = p1.lon() * Math.PI / 180.0;
     
    185185        return 6367000 * c;
    186186    }
    187        
     187
    188188    public static double calcY(LatLon p1){
    189189        double lat1, lon1, lat2, lon2;
    190190        double dlon, dlat;
    191            
     191
    192192        lat1 = p1.lat() * Math.PI / 180.0;
    193193        lon1 = p1.lon() * Math.PI / 180.0;
     
    202202        return 6367000 * c;
    203203    }
    204        
     204
    205205    public static double calcDistance(WayPoint p1, WayPoint p2){
    206206        return calcDistance(p1.latlon, p2.latlon);
    207207    }
    208        
     208
    209209    public static double angleBetween(WayPoint p1, WayPoint p2){
    210210        return angleBetween(p1.latlon, p2.latlon);
    211211    }
    212        
     212
    213213    public static double angleBetween(LatLon p1, LatLon p2){
    214214        double lat1, lon1, lat2, lon2;
    215215        double dlon;
    216216        double heading;
    217            
     217
    218218        lat1 = p1.lat() * Math.PI / 180.0;
    219219        lon1 = p1.lon() * Math.PI / 180.0;
     
    223223        dlon = lon2 - lon1;
    224224        double coslat2 = Math.cos(lat2);
    225        
     225
    226226        return (180 * Math.atan2(coslat2 * Math.sin(dlon),
    227227                          (Math.cos(lat1) * Math.sin(lat2)
    228                                     - 
     228                                    -
    229229                           Math.sin(lat1) * coslat2 * Math.cos(dlon)))) / Math.PI;
    230230    }
     
    234234        double dlon, dlat;
    235235        double heading;
    236            
     236
    237237        lat1 = p1.lat() * Math.PI / 180.0;
    238238        lon1 = p1.lon() * Math.PI / 180.0;
     
    250250            heading = 2 * Math.PI - heading;
    251251        }
    252  
     252
    253253        return heading * 180 / Math.PI;
    254254    }
     
    257257    private class GPXLayerImportAction extends AbstractAction {
    258258
    259         private MeasurementLayer layer;
    260 
    261         /**
    262         * The data model for the list component.
    263         */
    264         private DefaultListModel model = new DefaultListModel();
    265 
    266         /**
    267         * @param layer the targeting measurement layer
    268         */
    269         public GPXLayerImportAction(MeasurementLayer layer) {
    270             super(tr("Import path from GPX layer"), ImageProvider.get("dialogs", "edit")); // TODO: find better image
    271             this.layer = layer;
    272         }
    273 
    274         public void actionPerformed(ActionEvent e) {
    275             Box panel = Box.createVerticalBox();
    276             final JList layerList = new JList(model);
    277             Collection<Layer> data = Main.map.mapView.getAllLayers();
    278             Layer lastLayer = null;
    279             int layerCnt = 0;
    280            
    281             for (Layer l : data){
    282                 if(l instanceof GpxLayer){   
     259    private MeasurementLayer layer;
     260
     261    /**
     262    * The data model for the list component.
     263    */
     264    private DefaultListModel model = new DefaultListModel();
     265
     266    /**
     267    * @param layer the targeting measurement layer
     268    */
     269    public GPXLayerImportAction(MeasurementLayer layer) {
     270        super(tr("Import path from GPX layer"), ImageProvider.get("dialogs", "edit")); // TODO: find better image
     271        this.layer = layer;
     272    }
     273
     274    public void actionPerformed(ActionEvent e) {
     275        Box panel = Box.createVerticalBox();
     276        final JList layerList = new JList(model);
     277        Collection<Layer> data = Main.map.mapView.getAllLayers();
     278        Layer lastLayer = null;
     279        int layerCnt = 0;
     280
     281        for (Layer l : data){
     282                if(l instanceof GpxLayer){
    283283                    model.addElement(l);
    284284                    lastLayer = l;
    285285                    layerCnt++;
    286286                }
    287             }
    288             if(layerCnt == 1){
     287        }
     288        if(layerCnt == 1){
    289289                layerList.setSelectedValue(lastLayer, true);
    290290            }
     
    304304
    305305                JCheckBox dropFirst = new JCheckBox(tr("Drop existing path"));
    306            
     306
    307307                panel.add(layerList);
    308308                panel.add(dropFirst);
    309            
     309
    310310                final JOptionPane optionPane = new JOptionPane(panel, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION){
    311311                        @Override public void selectInitialValue() {
     
    315315                final JDialog dlg = optionPane.createDialog(Main.parent, tr("Import path from GPX layer"));
    316316                dlg.setVisible(true);
    317        
     317
    318318                Object answer = optionPane.getValue();
    319319                if (answer == null || answer == JOptionPane.UNINITIALIZED_VALUE ||
     
    326326                    points = new ArrayList<WayPoint>(32);
    327327                }
    328            
     328
    329329                for (GpxTrack trk : gpx.data.tracks) {
    330330                    for (Collection<WayPoint> trkseg : trk.trackSegs) {
     
    333333                        }
    334334                    }
    335                 }
     335            }
    336336                recalculate();
    337337                Main.parent.repaint();
  • applications/editors/josm/plugins/measurement/src/org/openstreetmap/josm/plugins/measurement/MeasurementMode.java

    r12471 r12778  
    1515public class MeasurementMode extends MapMode {
    1616
    17         private static final long serialVersionUID = 3853830673475744263L;
    18        
    19         public MeasurementMode(MapFrame mapFrame, String name, String desc) {
    20                 super(name, "measurement.png", desc, mapFrame, Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));           
    21         }
     17    private static final long serialVersionUID = 3853830673475744263L;
    2218
    23         @Override public void enterMode() {
    24                 super.enterMode();
    25                 Main.map.mapView.addMouseListener(this);
    26         }
     19    public MeasurementMode(MapFrame mapFrame, String name, String desc) {
     20        super(name, "measurement.png", desc, mapFrame, Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
     21    }
    2722
    28         @Override public void exitMode() {
    29                 super.exitMode();
    30                 Main.map.mapView.removeMouseListener(this);
    31         }
     23    @Override public void enterMode() {
     24        super.enterMode();
     25        Main.map.mapView.addMouseListener(this);
     26    }
    3227
    33         /**
    34          * If user clicked with the left button, add a node at the current mouse
    35          * position.
    36          *
    37          * If in nodesegment mode, add the node to the line segment by splitting the
    38          * segment. The new created segment will be inserted in every way the segment
    39          * was part of.
    40          */
    41         @Override public void mouseClicked(MouseEvent e) {
    42                 if (e.getButton() == MouseEvent.BUTTON3){
    43                         MeasurementPlugin.getCurrentLayer().removeLastPoint();
    44                 }else if (e.getButton() == MouseEvent.BUTTON1){
    45                         LatLon coor = Main.map.mapView.getLatLon(e.getX(), e.getY());
    46                         if (coor.isOutSideWorld()) {
    47                                 JOptionPane.showMessageDialog(Main.parent,tr("Can not draw outside of the world."));
    48                                 return;
    49                         }
    50                         MeasurementPlugin.getCurrentLayer().mouseClicked(e);
    51                 }
    52         }
     28    @Override public void exitMode() {
     29        super.exitMode();
     30        Main.map.mapView.removeMouseListener(this);
     31    }
     32
     33    /**
     34     * If user clicked with the left button, add a node at the current mouse
     35     * position.
     36     *
     37     * If in nodesegment mode, add the node to the line segment by splitting the
     38     * segment. The new created segment will be inserted in every way the segment
     39     * was part of.
     40     */
     41    @Override public void mouseClicked(MouseEvent e) {
     42        if (e.getButton() == MouseEvent.BUTTON3){
     43            MeasurementPlugin.getCurrentLayer().removeLastPoint();
     44        }else if (e.getButton() == MouseEvent.BUTTON1){
     45            LatLon coor = Main.map.mapView.getLatLon(e.getX(), e.getY());
     46            if (coor.isOutSideWorld()) {
     47                JOptionPane.showMessageDialog(Main.parent,tr("Can not draw outside of the world."));
     48                return;
     49            }
     50            MeasurementPlugin.getCurrentLayer().mouseClicked(e);
     51        }
     52    }
    5353
    5454}
  • applications/editors/josm/plugins/measurement/src/org/openstreetmap/josm/plugins/measurement/MeasurementPlugin.java

    r12473 r12778  
    1212public class MeasurementPlugin extends Plugin {
    1313
    14         private IconToggleButton btn;
    15         private MeasurementMode mode;
    16         protected static MeasurementDialog measurementDialog;
    17         protected static MeasurementLayer currentLayer;
    18        
    19         public MeasurementPlugin() {
    20                 mode = new MeasurementMode(Main.map, "measurement", tr("measurement mode"));
    21                 btn = new IconToggleButton(mode);
    22                 btn.setVisible(true);
    23                 measurementDialog = new MeasurementDialog();
    24         }
    25        
    26         @Override
    27         public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
    28                 if(newFrame != null)
    29                         newFrame.addToggleDialog(measurementDialog);
    30                 if(Main.map != null)
    31                         Main.map.addMapMode(btn);
    32         }
     14    private IconToggleButton btn;
     15    private MeasurementMode mode;
     16    protected static MeasurementDialog measurementDialog;
     17    protected static MeasurementLayer currentLayer;
    3318
    34         public static MeasurementLayer getCurrentLayer(){
    35                 if(currentLayer == null){
    36                         currentLayer = new MeasurementLayer(tr("Measurements"));
    37                         Main.main.addLayer(currentLayer);
    38                         currentLayer.listeners.add(new LayerChangeListener(){
    39                                 public void activeLayerChange(final Layer oldLayer, final Layer newLayer) {
    40                                         if(newLayer instanceof MeasurementLayer)
    41                                                 MeasurementPlugin.currentLayer = (MeasurementLayer)newLayer;
    42                                 }
    43                                 public void layerAdded(final Layer newLayer) {
    44                                 }
    45                                 public void layerRemoved(final Layer oldLayer) {
    46                                 }
    47                         });
    48                 }
    49                 return currentLayer;
    50         }
     19    public MeasurementPlugin() {
     20        mode = new MeasurementMode(Main.map, "measurement", tr("measurement mode"));
     21        btn = new IconToggleButton(mode);
     22        btn.setVisible(true);
     23        measurementDialog = new MeasurementDialog();
     24    }
     25
     26    @Override
     27    public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
     28        if(newFrame != null)
     29            newFrame.addToggleDialog(measurementDialog);
     30        if(Main.map != null)
     31            Main.map.addMapMode(btn);
     32    }
     33
     34    public static MeasurementLayer getCurrentLayer(){
     35        if(currentLayer == null){
     36            currentLayer = new MeasurementLayer(tr("Measurements"));
     37            Main.main.addLayer(currentLayer);
     38            currentLayer.listeners.add(new LayerChangeListener(){
     39                public void activeLayerChange(final Layer oldLayer, final Layer newLayer) {
     40                    if(newLayer instanceof MeasurementLayer)
     41                        MeasurementPlugin.currentLayer = (MeasurementLayer)newLayer;
     42                }
     43                public void layerAdded(final Layer newLayer) {
     44                }
     45                public void layerRemoved(final Layer oldLayer) {
     46                }
     47            });
     48        }
     49        return currentLayer;
     50    }
    5151}
Note: See TracChangeset for help on using the changeset viewer.