Changeset 31173 in osm for applications/editors


Ignore:
Timestamp:
2015-06-01T18:53:50+02:00 (10 years ago)
Author:
nokutu
Message:

Icon updated and now they show the image direction

Location:
applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryDownloadAction.java

    r31166 r31173  
    1212import org.openstreetmap.josm.Main;
    1313import org.openstreetmap.josm.actions.JosmAction;
     14import org.openstreetmap.josm.tools.ImageProvider;
    1415import org.openstreetmap.josm.tools.Shortcut;
    1516
     
    2425
    2526        public MapillaryDownloadAction() {
    26                 super(tr("Mapillary"), "icon16.png",
     27                super(tr("Mapillary"), new ImageProvider("icon24.png"),
    2728                                tr("Create Mapillary layer."), Shortcut.registerShortcut(
    2829                                                "menu:Mapillary", tr("Menu: {0}", tr("Mapillary")),
    29                                                 KeyEvent.VK_M, Shortcut.ALT_CTRL_SHIFT), false);
     30                                                KeyEvent.VK_M, Shortcut.ALT_CTRL_SHIFT), false, "mapillaryDownload", false);
    3031        }
    3132
     
    5152                        layer = new MapillaryLayer();
    5253                else {
    53                         this.layer.download();
    5454                        if (Main.map.mapView.getActiveLayer() != layer)
    5555                                Main.map.mapView.setActiveLayer(layer);
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryExportAction.java

    r31168 r31173  
    1313import org.openstreetmap.josm.actions.JosmAction;
    1414import org.openstreetmap.josm.plugins.mapillary.downloads.MapillaryExportManager;
     15import org.openstreetmap.josm.tools.ImageProvider;
    1516
    1617/**
     
    2526
    2627        public MapillaryExportAction() {
    27                 super(tr("Export images"), "icon24.png", tr("Export images."), null,
    28                                 false);
     28                super(tr("Export images"), new ImageProvider("icon24.png"),
     29                                tr("Export images."), null, false, "mapillaryExport", false);
    2930        }
    3031
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryLayer.java

    r31170 r31173  
    3030import java.awt.Color;
    3131import java.awt.Graphics2D;
     32import java.awt.Image;
    3233import java.awt.Point;
    3334import java.awt.event.MouseEvent;
    3435import java.awt.event.MouseListener;
     36import java.awt.geom.AffineTransform;
     37import java.awt.image.AffineTransformOp;
     38import java.awt.image.BufferedImage;
    3539import java.io.IOException;
    3640
     
    4650
    4751        public static Boolean INSTANCED = false;
     52        public static MapillaryLayer INSTANCE;
    4853        public static CacheAccess<String, BufferedImageCacheEntry> CACHE;
    4954        public static MapillaryImage BLUE;
     
    6671        private void init() {
    6772                INSTANCED = true;
     73                MapillaryLayer.INSTANCE = this;
    6874                try {
    6975                        CACHE = JCSCacheManager.getCache("Mapillary");
     
    8995        }
    9096
     97        public static MapillaryLayer getInstance() {
     98                if (MapillaryLayer.INSTANCE == null)
     99                        MapillaryLayer.INSTANCE = new MapillaryLayer();
     100                return MapillaryLayer.INSTANCE;
     101        }
     102
    91103        /**
    92104         * Downloads all images of the area covered by the OSM data.
     
    120132                                .setImage(null);
    121133                INSTANCED = false;
     134                MapillaryLayer.INSTANCE = null;
    122135                MapillaryPlugin.setMenuEnabled(MapillaryPlugin.EXPORT_MENU, false);
    123136                MapillaryData.deleteInstance();
    124137                Main.map.mapView.removeMouseListener(this);
    125138                MapView.removeEditLayerChangeListener(this);
    126                 Main.map.mapView.getEditLayer().data.removeDataSetListener(this);
     139                if (Main.map.mapView.getEditLayer() != null)
     140                        Main.map.mapView.getEditLayer().data.removeDataSetListener(this);
    127141                super.destroy();
    128142        }
     
    148162                synchronized (this) {
    149163                        // Draw colored lines
    150                         this.BLUE = null;
    151                         this.RED = null;
     164                        MapillaryLayer.BLUE = null;
     165                        MapillaryLayer.RED = null;
    152166                        MapillaryToggleDialog.getInstance().blueButton.setEnabled(false);
    153167                        MapillaryToggleDialog.getInstance().redButton.setEnabled(false);
     
    157171                                                .getLatLon());
    158172                                if (closestImages[0] != null) {
    159                                         this.BLUE = closestImages[0];
     173                                        MapillaryLayer.BLUE = closestImages[0];
    160174                                        g.setColor(Color.BLUE);
    161175                                        g.drawLine(mv.getPoint(closestImages[0].getLatLon()).x,
    162176                                                        mv.getPoint(closestImages[0].getLatLon()).y,
    163177                                                        selected.x, selected.y);
    164                                         MapillaryToggleDialog.getInstance().blueButton.setEnabled(true);
     178                                        MapillaryToggleDialog.getInstance().blueButton
     179                                                        .setEnabled(true);
    165180                                }
    166181                                if (closestImages[1] != null) {
    167                                         this.RED = closestImages[1];
     182                                        MapillaryLayer.RED = closestImages[1];
    168183                                        g.setColor(Color.RED);
    169184                                        g.drawLine(mv.getPoint(closestImages[1].getLatLon()).x,
    170185                                                        mv.getPoint(closestImages[1].getLatLon()).y,
    171186                                                        selected.x, selected.y);
    172                                         MapillaryToggleDialog.getInstance().redButton.setEnabled(true);
     187                                        MapillaryToggleDialog.getInstance().redButton
     188                                                        .setEnabled(true);
    173189                                }
    174190                        }
     
    185201                                ImageIcon icon;
    186202                                if (!mapillaryData.getMultiSelectedImages().contains(image))
    187                                         icon = MapillaryPlugin.ICON16;
     203                                        icon = MapillaryPlugin.MAP_ICON;
    188204                                else
    189                                         icon = MapillaryPlugin.ICON16SELECTED;
     205                                        icon = MapillaryPlugin.MAP_ICON_SELECTED;
     206                                Image imagetemp = icon.getImage();
     207                                BufferedImage bi = (BufferedImage) imagetemp;
    190208                                int width = icon.getIconWidth();
    191209                                int height = icon.getIconHeight();
    192                                 g.drawImage(icon.getImage(), p.x - (width / 2), p.y
    193                                                 - (height / 2), Main.map.mapView);
     210                               
     211                                // Rotate the image
     212                                double rotationRequired = Math.toRadians(image.getCa());
     213                                double locationX = width / 2;
     214                                double locationY = height / 2;
     215                                AffineTransform tx = AffineTransform.getRotateInstance(rotationRequired, locationX, locationY);
     216                                AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR);
     217                               
     218                                g.drawImage(op.filter(bi, null), p.x - (width / 2), p.y - (height / 2),
     219                                                Main.map.mapView);
     220                               
    194221                        }
    195222                }
     
    326353        }
    327354
    328         // DataSetListener
    329 
     355        /**
     356         * When more data is downloaded, a delayed update is thrown, in order to
     357         * wait for the data bounds to be set.
     358         *
     359         * @param event
     360         */
    330361        @Override
    331362        public void dataChanged(DataChangedEvent event) {
     363                Main.worker.submit(new delayedDownload());
     364        }
     365
     366        private class delayedDownload extends Thread {
     367
     368                @Override
     369                public void run() {
     370                        try {
     371                                sleep(1000);
     372                        } catch (InterruptedException e) {
     373                                // TODO Auto-generated catch block
     374                                e.printStackTrace();
     375                        }
     376                        MapillaryLayer.getInstance().download();
     377                }
     378
    332379        }
    333380
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryPlugin.java

    r31170 r31173  
    1919public class MapillaryPlugin extends Plugin {
    2020
    21         public static final ImageIcon ICON = new ImageProvider("icon24.png").get();
     21        public static final ImageIcon ICON24 = new ImageProvider("icon24.png")
     22                        .get();
    2223        public static final ImageIcon ICON16 = new ImageProvider("icon16.png")
    2324                        .get();
    24         public static final ImageIcon ICON16SELECTED = new ImageProvider(
    25                         "icon16selected.png").get();
     25        public static final ImageIcon MAP_ICON = new ImageProvider("mapicon.png")
     26                        .get();
     27        public static final ImageIcon MAP_ICON_SELECTED = new ImageProvider(
     28                        "mapiconselected.png").get();
    2629        public static final int ICON_SIZE = 24;
    2730
     
    3235        public static JMenuItem EXPORT_MENU;
    3336
     37        public static String DIR;
     38
    3439        public MapillaryPlugin(PluginInformation info) {
    3540                super(info);
     
    3742                exportAction = new MapillaryExportAction();
    3843
    39                 DOWNLOAD_MENU = MainMenu
    40                                 .add(Main.main.menu.imageryMenu, downloadAction, false);
     44                DOWNLOAD_MENU = MainMenu.add(Main.main.menu.imageryMenu,
     45                                downloadAction, false);
    4146                EXPORT_MENU = MainMenu.add(Main.main.menu.fileMenu, exportAction,
    4247                                false, 14);
    4348                EXPORT_MENU.setEnabled(false);
     49                MapillaryPlugin.DIR = this.getPluginDir();
    4450
    4551        }
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryToggleDialog.java

    r31170 r31173  
    192192        class redAction extends AbstractAction {
    193193                public redAction() {
    194                         putValue(NAME, "Red");
     194                        putValue(NAME, "Jump to red");
    195195                        putValue(SHORT_DESCRIPTION,
    196196                                        tr("Shows the previous picture in the sequence"));
     
    211211        class blueAction extends AbstractAction {
    212212                public blueAction() {
    213                         putValue(NAME, "Blue");
     213                        putValue(NAME, "Jump to blue");
    214214                        putValue(SHORT_DESCRIPTION,
    215215                                        tr("Shows the previous picture in the sequence"));
Note: See TracChangeset for help on using the changeset viewer.