Ignore:
Timestamp:
2015-06-08T12:38:41+02:00 (10 years ago)
Author:
nokutu
Message:

Now you can select a range with shift+click

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

Legend:

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

    r31222 r31248  
    191191                Main.map.mapView.repaint();
    192192        }
     193       
     194        public void addMultiSelectedImage(List<MapillaryImage> images) {
     195                for (MapillaryImage image : images)
     196                        if (!this.multiSelectedImages.contains(image)) {
     197                                if (this.getSelectedImage() != null)
     198                                        this.multiSelectedImages.add(image);
     199                                else
     200                                        this.setSelectedImage(image);
     201                }
     202                Main.map.mapView.repaint();
     203        }
    193204
    194205        /**
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryLayer.java

    r31222 r31248  
    1414import org.openstreetmap.josm.gui.MapView;
    1515import org.openstreetmap.josm.gui.MapView.EditLayerChangeListener;
     16import org.openstreetmap.josm.gui.MapView.LayerChangeListener;
    1617import org.openstreetmap.josm.gui.layer.AbstractModifiableLayer;
    1718import org.openstreetmap.josm.gui.layer.OsmDataLayer;
     
    5152
    5253public class MapillaryLayer extends AbstractModifiableLayer implements
    53                 DataSetListener, EditLayerChangeListener {
     54                DataSetListener, EditLayerChangeListener, LayerChangeListener {
    5455
    5556        public final static int SEQUENCE_MAX_JUMP_DISTANCE = 100;
     
    9293                        Main.map.mapView.addLayer(this);
    9394                        MapView.addEditLayerChangeListener(this, false);
     95                        MapView.addLayerChangeListener(this);
    9496                        Main.map.mapView.getEditLayer().data.addDataSetListener(this);
    9597                        if (tgd == null) {
     
    112114                        private int lastButton;
    113115                        private MapillaryImage closest;
     116                        private MapillaryImage lastClicked;
    114117
    115118                        @Override
     
    130133                                }
    131134                                this.start = e.getPoint();
     135                                this.lastClicked = this.closest;
    132136                                this.closest = closest;
    133137                                if (mapillaryData.getMultiSelectedImages().contains(closest))
     
    136140                                                && closest != null)
    137141                                        mapillaryData.addMultiSelectedImage(closest);
    138                                 else
     142                                else if (e.getModifiers() == (MouseEvent.BUTTON1_MASK | MouseEvent.SHIFT_MASK)) {
     143                                        if (this.closest != null
     144                                                        && this.lastClicked != null
     145                                                        && this.closest.getSequence() == this.lastClicked
     146                                                                        .getSequence()) {
     147                                                int i = this.closest.getSequence().getImages()
     148                                                                .indexOf(this.closest);
     149                                                int j = this.lastClicked.getSequence().getImages()
     150                                                                .indexOf(this.lastClicked);
     151                                                if (i < j)
     152                                                        mapillaryData.addMultiSelectedImage(this.closest
     153                                                                        .getSequence().getImages()
     154                                                                        .subList(i, j + 1));
     155                                                else
     156                                                        mapillaryData.addMultiSelectedImage(this.closest
     157                                                                        .getSequence().getImages()
     158                                                                        .subList(j, i + 1));
     159                                        }
     160                                } else
    139161                                        mapillaryData.setSelectedImage(closest);
    140162                        }
     
    490512        public void visitBoundingBox(BoundingXYVisitor v) {
    491513        }
     514
     515        @Override
     516        public void activeLayerChange(Layer oldLayer, Layer newLayer) {
     517                if (newLayer == this)
     518                        Main.map.statusLine.setHelpText("Total images: "
     519                                        + MapillaryData.getInstance().getImages().size());
     520        }
     521
     522        @Override
     523        public void layerAdded(Layer newLayer) {
     524        }
     525
     526        @Override
     527        public void layerRemoved(Layer oldLayer) {
     528        }
    492529}
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySquareDownloadManagerThread.java

    r31246 r31248  
    77import org.openstreetmap.josm.Main;
    88import org.openstreetmap.josm.data.Bounds;
    9 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
    109import org.openstreetmap.josm.plugins.mapillary.MapillaryData;
    1110
     
    1918 * @see MapillaryDownloader
    2019 */
    21 public class MapillarySquareDownloadManagerThread extends PleaseWaitRunnable {
     20public class MapillarySquareDownloadManagerThread implements Runnable {
    2221
    2322        @SuppressWarnings("unused")
     
    2726
    2827        public MapillarySquareDownloadManagerThread(String urlImages, String urlSequences, Bounds bounds) {
    29                 super("Mapillary plugin");
    3028                this.urlImages = urlImages;
    3129                this.urlSequences = urlSequences;
     
    3331        }
    3432
    35         public void realRun() {
    36                 this.getProgressMonitor().indeterminateSubTask("Downloading images");
     33        public void run() {
     34                Main.map.statusLine.setHelpText("Downloading images from Mapillary");
    3735                downloadSequences();
     36                Main.map.statusLine.setHelpText("Total images: " + MapillaryData.getInstance().getImages().size());
    3837        }
    3938
     
    6160                MapillaryData.getInstance().dataUpdated();
    6261        }
    63 
    64         @Override
    65         protected void cancel() {
    66                 // TODO Auto-generated method stub
    67                
    68         }
    69 
    70         @Override
    71         protected void finish() {
    72                 // TODO Auto-generated method stub
    73                
    74         }
    7562}
Note: See TracChangeset for help on using the changeset viewer.