Ignore:
Timestamp:
2008-12-23T15:07:05+01:00 (15 years ago)
Author:
stoecker
Message:

removed usage of tab stops

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/ImageMarker.java

    r627 r1169  
    2626 * Marker representing an image. Uses a special icon, and when clicked,
    2727 * displays an image view dialog. Re-uses some code from GeoImageLayer.
    28  * 
     28 *
    2929 * @author Frederik Ramm <frederik@remote.org>
    3030 *
     
    3232public class ImageMarker extends ButtonMarker {
    3333
    34         public URL imageUrl;
     34    public URL imageUrl;
    3535
    36         public static ImageMarker create(LatLon ll, String url, MarkerLayer parentLayer, double time, double offset) {
    37                 try {
    38                         return new ImageMarker(ll, new URL(url), parentLayer, time, offset);
    39                 } catch (Exception ex) {
    40                         return null;
    41                 }
    42         }
     36    public static ImageMarker create(LatLon ll, String url, MarkerLayer parentLayer, double time, double offset) {
     37        try {
     38            return new ImageMarker(ll, new URL(url), parentLayer, time, offset);
     39        } catch (Exception ex) {
     40            return null;
     41        }
     42    }
    4343
    44         private ImageMarker(LatLon ll, URL imageUrl, MarkerLayer parentLayer, double time, double offset) {
    45                 super(ll, "photo.png", parentLayer, time, offset);
    46                 this.imageUrl = imageUrl;
    47         }
     44    private ImageMarker(LatLon ll, URL imageUrl, MarkerLayer parentLayer, double time, double offset) {
     45        super(ll, "photo.png", parentLayer, time, offset);
     46        this.imageUrl = imageUrl;
     47    }
    4848
    49         @Override public void actionPerformed(ActionEvent ev) {
    50                 final JPanel p = new JPanel(new BorderLayout());
    51                 final JScrollPane scroll = new JScrollPane(new JLabel(loadScaledImage(imageUrl, 580)));
    52                 final JViewport vp = scroll.getViewport();
    53                 p.add(scroll, BorderLayout.CENTER);
     49    @Override public void actionPerformed(ActionEvent ev) {
     50        final JPanel p = new JPanel(new BorderLayout());
     51        final JScrollPane scroll = new JScrollPane(new JLabel(loadScaledImage(imageUrl, 580)));
     52        final JViewport vp = scroll.getViewport();
     53        p.add(scroll, BorderLayout.CENTER);
    5454
    55                 final JToggleButton scale = new JToggleButton(ImageProvider.get("misc", "rectangle"));
     55        final JToggleButton scale = new JToggleButton(ImageProvider.get("misc", "rectangle"));
    5656
    57                 JPanel p2 = new JPanel();
    58                 p2.add(scale);
    59                 p.add(p2, BorderLayout.SOUTH);
    60                 scale.addActionListener(new ActionListener(){
    61                         public void actionPerformed(ActionEvent ev) {
    62                                 p.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
    63                                 if (scale.getModel().isSelected())
    64                                         ((JLabel)vp.getView()).setIcon(loadScaledImage(imageUrl, Math.max(vp.getWidth(), vp.getHeight())));
    65                                 else
    66                                         ((JLabel)vp.getView()).setIcon(new ImageIcon(imageUrl));
    67                                 p.setCursor(Cursor.getDefaultCursor());
    68                         }
    69                 });
    70                 scale.setSelected(true);
    71                 JOptionPane pane = new JOptionPane(p, JOptionPane.PLAIN_MESSAGE);
    72                 JDialog dlg = pane.createDialog(Main.parent, imageUrl.toString());
    73                 dlg.setModal(false);
    74                 dlg.setVisible(true);
    75         }
     57        JPanel p2 = new JPanel();
     58        p2.add(scale);
     59        p.add(p2, BorderLayout.SOUTH);
     60        scale.addActionListener(new ActionListener(){
     61            public void actionPerformed(ActionEvent ev) {
     62                p.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
     63                if (scale.getModel().isSelected())
     64                    ((JLabel)vp.getView()).setIcon(loadScaledImage(imageUrl, Math.max(vp.getWidth(), vp.getHeight())));
     65                else
     66                    ((JLabel)vp.getView()).setIcon(new ImageIcon(imageUrl));
     67                p.setCursor(Cursor.getDefaultCursor());
     68            }
     69        });
     70        scale.setSelected(true);
     71        JOptionPane pane = new JOptionPane(p, JOptionPane.PLAIN_MESSAGE);
     72        JDialog dlg = pane.createDialog(Main.parent, imageUrl.toString());
     73        dlg.setModal(false);
     74        dlg.setVisible(true);
     75    }
    7676
    77         private static Icon loadScaledImage(URL u, int maxSize) {
    78                 Image img = new ImageIcon(u).getImage();
    79                 int w = img.getWidth(null);
    80                 int h = img.getHeight(null);
    81                 if (w>h) {
    82                         h = Math.round(maxSize*((float)h/w));
    83                         w = maxSize;
    84                 } else {
    85                         w = Math.round(maxSize*((float)w/h));
    86                         h = maxSize;
    87                 }
    88                 return new ImageIcon(img.getScaledInstance(w, h, Image.SCALE_SMOOTH));
    89         }
     77    private static Icon loadScaledImage(URL u, int maxSize) {
     78        Image img = new ImageIcon(u).getImage();
     79        int w = img.getWidth(null);
     80        int h = img.getHeight(null);
     81        if (w>h) {
     82            h = Math.round(maxSize*((float)h/w));
     83            w = maxSize;
     84        } else {
     85            w = Math.round(maxSize*((float)w/h));
     86            h = maxSize;
     87        }
     88        return new ImageIcon(img.getScaledInstance(w, h, Image.SCALE_SMOOTH));
     89    }
    9090
    9191}
Note: See TracChangeset for help on using the changeset viewer.