Ignore:
Timestamp:
2015-06-19T18:30:35+02:00 (10 years ago)
Author:
nokutu
Message:

Started with the filter dialog

Location:
applications/editors/josm/plugins/mapillary
Files:
2 added
12 edited

Legend:

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

    r31278 r31284  
    11package org.openstreetmap.josm.plugins.mapillary;
    22
     3import java.sql.Date;
     4import java.text.ParseException;
     5import java.text.SimpleDateFormat;
     6import java.util.Calendar;
     7
     8import org.openstreetmap.josm.Main;
    39import org.openstreetmap.josm.data.coor.LatLon;
    410
     
    1117 */
    1218public abstract class MapillaryAbstractImage {
     19
     20    private long capturedAt;
    1321
    1422    /** Postion of the picture */
     
    3139     */
    3240    protected double movingCa;
     41    private boolean visible;
    3342
    3443    public MapillaryAbstractImage(double lat, double lon, double ca) {
     
    3948        this.tempCa = ca;
    4049        this.movingCa = ca;
     50        this.visible = true;
    4151    }
    4252
     
    5868    public LatLon getLatLon() {
    5969        return movingLatLon;
     70    }
     71
     72    public boolean isVisible() {
     73        return visible;
     74    }
     75
     76    public void setVisible(boolean visible) {
     77        this.visible = visible;
    6078    }
    6179
     
    116134        return tempCa;
    117135    }
     136
     137    /**
     138     * Returns the date the picture was taken in DMY format.
     139     *
     140     * @return
     141     */
     142    public String getDate() {
     143        return getDate("dd/MM/yyyy - hh:mm:ss");
     144    }
     145
     146    public void setCapturedAt(long capturedAt) {
     147        this.capturedAt = capturedAt;
     148    }
     149
     150    public long getCapturedAt() {
     151        return capturedAt;
     152    }
     153
     154    /**
     155     * Returns the date the picture was taken in the given format.
     156     *
     157     * @param format
     158     * @return
     159     */
     160    public String getDate(String format) {
     161        Date date = new Date(getCapturedAt());
     162
     163        SimpleDateFormat formatter = new SimpleDateFormat(format);
     164        return formatter.format(date);
     165    }
     166   
     167    public long getEpoch(String date, String format) {
     168       
     169        SimpleDateFormat formatter = new SimpleDateFormat(format);
     170        try {
     171            Date dateTime = (Date) formatter.parse(date);
     172            return dateTime.getTime();       
     173        } catch (ParseException e) {
     174            Main.error(e);
     175        }
     176        return currentTime();
     177    }
     178   
     179    private long currentTime() {
     180        Calendar cal = Calendar.getInstance();
     181        return cal.getTimeInMillis();
     182    }
    118183}
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryData.java

    r31278 r31284  
    6565        }
    6666        dataUpdated();
     67        fireImagesAdded();
    6768    }
    6869
     
    118119            this.images.add(image);
    119120        }
     121        fireImagesAdded();
    120122    }
    121123
     
    143145    public MapillaryAbstractImage getSelectedImage() {
    144146        return selectedImage;
     147    }
     148
     149    private void fireImagesAdded() {
     150        if (listeners.isEmpty())
     151            return;
     152        for (MapillaryDataListener lis : listeners)
     153            lis.imagesAdded();
    145154    }
    146155
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryDataListener.java

    r31278 r31284  
    22
    33public interface MapillaryDataListener {
     4   
     5    public void imagesAdded();
     6   
    47    /**
    58     * Fired when the selected image is changed by something different from
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImage.java

    r31278 r31284  
    11package org.openstreetmap.josm.plugins.mapillary;
    22
    3 import java.sql.Date;
    4 import java.text.SimpleDateFormat;
    53import java.util.ArrayList;
    64import java.util.List;
     
    2018
    2119    /** Epoch time when the image was taken. */
    22     private long capturedAt;
    2320    /** The user that made the image */
    2421    private String user;
     
    7370    public List<String> getSigns() {
    7471        return signs;
    75     }
    76 
    77     public void setCapturedAt(long capturedAt) {
    78         this.capturedAt = capturedAt;
    79     }
    80 
    81     public long getCapturedAt() {
    82         return capturedAt;
    8372    }
    8473
     
    139128    }
    140129
    141     /**
    142      * Returns the date the picture was taken in DMY format.
    143      * @return
    144      */
    145     public String getDate() {
    146         return getDate("dd/MM/yyyy - hh:mm:ss");
    147     }
    148 
    149     /**
    150      * Returns the date the picture was taken in the given format.
    151      * @param format
    152      * @return
    153      */
    154     public String getDate(String format) {
    155         Date date = new Date(getCapturedAt());
    156 
    157         SimpleDateFormat formatter = new SimpleDateFormat(format);
    158         return formatter.format(date);
    159     }
    160 
    161130    @Override
    162131    public boolean equals(Object object) {
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImportedImage.java

    r31278 r31284  
    1313     */
    1414    protected File file;
    15     public final String datetimeOriginal;
     15    public final long datetimeOriginal;
    1616
    1717    public MapillaryImportedImage(double lat, double lon, double ca, File file,
     
    2020        this.file = file;
    2121        System.out.println(datetimeOriginal);
    22         this.datetimeOriginal = datetimeOriginal;
     22        this.datetimeOriginal = getEpoch(datetimeOriginal, "yyyy/MM/dd hh:mm:ss");
    2323    }
    2424
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryLayer.java

    r31280 r31284  
    207207            MapillaryToggleDialog.getInstance().blueButton.setEnabled(false);
    208208            MapillaryToggleDialog.getInstance().redButton.setEnabled(false);
     209           
     210            // Sets blue and red lines and enables/disables the buttons
    209211            if (mapillaryData.getSelectedImage() != null) {
    210212                MapillaryImage[] closestImages = getClosestImagesFromDifferentSequences();
     
    232234            g.setColor(Color.WHITE);
    233235            for (MapillaryAbstractImage imageAbs : mapillaryData.getImages()) {
     236                if (!imageAbs.isVisible())
     237                    continue;
    234238                Point p = mv.getPoint(imageAbs.getLatLon());
    235239                if (imageAbs instanceof MapillaryImage) {
    236240                    MapillaryImage image = (MapillaryImage) imageAbs;
    237241                    Point nextp;
     242                    // Draw sequence line
    238243                    if (image.getSequence() != null
    239                             && image.getSequence().next(image) != null) {
     244                            && image.next() != null && image.next().isVisible()) {
    240245                        nextp = mv.getPoint(image.getSequence().next(image)
    241246                                .getLatLon());
    242247                        g.drawLine(p.x, p.y, nextp.x, nextp.y);
    243248                    }
     249                   
    244250                    ImageIcon icon;
    245251                    if (!mapillaryData.getMultiSelectedImages().contains(image))
     
    363369            if (!(imagePrev instanceof MapillaryImage))
    364370                continue;
     371            if (!imagePrev.isVisible())
     372                continue;
    365373            MapillaryImage image = (MapillaryImage) imagePrev;
    366374            if (image.getLatLon().greatCircleDistance(selectedCoords) < SEQUENCE_MAX_JUMP_DISTANCE
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryMouseAdapter.java

    r31278 r31284  
    209209            nothingHighlighted = false;
    210210        } else if (Main.map.mapModeSelect.getValue("active") == Boolean.FALSE
    211                 && !nothingHighlighted) {
     211                && !nothingHighlighted && Main.map.mapView != null
     212                && Main.map.mapView.getEditLayer().data != null) {
    212213            for (OsmPrimitive primivitive : Main.map.mapView.getEditLayer().data
    213214                    .allPrimitives()) {
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryPlugin.java

    r31280 r31284  
    1818import org.openstreetmap.josm.plugins.Plugin;
    1919import org.openstreetmap.josm.plugins.PluginInformation;
     20import org.openstreetmap.josm.plugins.mapillary.gui.MapillaryFilterDialog;
    2021import org.openstreetmap.josm.plugins.mapillary.gui.MapillaryHistoryDialog;
    2122import org.openstreetmap.josm.plugins.mapillary.gui.MapillaryPreferenceSetting;
     
    107108            Main.map.addToggleDialog(MapillaryToggleDialog.getInstance(), false);
    108109            Main.map.addToggleDialog(MapillaryHistoryDialog.getInstance(), false);
     110            Main.map.addToggleDialog(MapillaryFilterDialog.getInstance(), false);
    109111        }
    110112        if (oldFrame != null && newFrame == null) { // map frame destroyed
    111113            MapillaryToggleDialog.destroyInstance();
     114            MapillaryHistoryDialog.destroyInstance();
     115            MapillaryFilterDialog.destroyInstance();
    112116        }
    113117    }
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryZoomAction.java

    r31282 r31284  
    5151            MapillaryPlugin.setMenuEnabled(MapillaryPlugin.ZOOM_MENU, false);
    5252    }
     53
     54    @Override
     55    public void imagesAdded() {       
     56    }
    5357}
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillaryExportWriterThread.java

    r31278 r31284  
    8787                    exifDirectory.add(
    8888                            ExifTagConstants.EXIF_TAG_DATE_TIME_ORIGINAL,
    89                             ((MapillaryImportedImage) mimg).datetimeOriginal);
     89                            ((MapillaryImportedImage) mimg).getDate("yyyy/MM/dd hh:mm:ss"));
    9090                } else if (mimg instanceof MapillaryImage)
    9191                    exifDirectory.add(
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryHistoryDialog.java

    r31278 r31284  
    170170        }
    171171    }
     172
     173    public static void destroyInstance() {
     174        MapillaryHistoryDialog.INSTANCE = null;
     175    }
    172176}
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryToggleDialog.java

    r31282 r31284  
    164164                    this.nextButton.setEnabled(true);
    165165                    this.previousButton.setEnabled(true);
    166                     if (mapillaryImage.next() == null)
     166                    if (mapillaryImage.next() == null || !mapillaryImage.next().isVisible())
    167167                        this.nextButton.setEnabled(false);
    168                     if (mapillaryImage.previous() == null)
     168                    if (mapillaryImage.previous() == null || !mapillaryImage.previous().isVisible())
    169169                        this.previousButton.setEnabled(false);
    170170                } else if (mode == SIGN_MODE) {
     
    481481        }
    482482    }
     483
     484    @Override
     485    public void imagesAdded() {
     486    }
    483487}
Note: See TracChangeset for help on using the changeset viewer.