Ignore:
Timestamp:
2016-05-10T17:56:23+02:00 (8 years ago)
Author:
Don-vip
Message:

fix #12813 - adapt GPX color scale bar to system of measurement for HDOP and velocity

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java

    r9796 r10175  
    1919
    2020import org.openstreetmap.josm.Main;
     21import org.openstreetmap.josm.data.SystemOfMeasurement;
     22import org.openstreetmap.josm.data.SystemOfMeasurement.SoMChangeListener;
    2123import org.openstreetmap.josm.data.coor.LatLon;
    2224import org.openstreetmap.josm.data.gpx.GpxConstants;
     
    3032 * @since 7319
    3133 */
    32 public class GpxDrawHelper {
     34public class GpxDrawHelper implements SoMChangeListener {
    3335    private final GpxData data;
    3436
     
    9799    private void setupColors() {
    98100        hdopAlpha = Main.pref.getInteger("hdop.color.alpha", -1);
    99         velocityScale = ColorScale.createHSBScale(256).addTitle(tr("Velocity, km/h"));
     101        velocityScale = ColorScale.createHSBScale(256);
    100102        /** Colors (without custom alpha channel, if given) for HDOP painting. **/
    101         hdopScale = ColorScale.createHSBScale(256).makeReversed().addTitle(tr("HDOP, m"));
     103        hdopScale = ColorScale.createHSBScale(256).makeReversed();
    102104        dateScale = ColorScale.createHSBScale(256).addTitle(tr("Time"));
    103105        directionScale = ColorScale.createCyclicScale(256).setIntervalCount(4).addTitle(tr("Direction"));
     106        systemOfMeasurementChanged(null, null);
     107    }
     108
     109    @Override
     110    public void systemOfMeasurementChanged(String oldSoM, String newSoM) {
     111        SystemOfMeasurement som = SystemOfMeasurement.getSystemOfMeasurement();
     112        velocityScale.addTitle(tr("Velocity, {0}", som.speedName));
     113        hdopScale.addTitle(tr("HDOP, {0}", som.aName));
     114        if (Main.isDisplayingMapView() && oldSoM != null && newSoM != null) {
     115            Main.map.mapView.repaint();
     116        }
    104117    }
    105118
     
    554567    public void drawColorBar(Graphics2D g, MapView mv) {
    555568        int w = mv.getWidth();
     569        SystemOfMeasurement som = SystemOfMeasurement.getSystemOfMeasurement();
    556570        if (colored == ColorMode.HDOP) {
    557             hdopScale.drawColorBar(g, w-30, 50, 20, 100, 1.0);
     571            hdopScale.drawColorBar(g, w-30, 50, 20, 100, som.aValue);
    558572        } else if (colored == ColorMode.VELOCITY) {
    559             velocityScale.drawColorBar(g, w-30, 50, 20, 100, 3.6);
     573            velocityScale.drawColorBar(g, w-30, 50, 20, 100, som.speedValue);
    560574        } else if (colored == ColorMode.DIRECTION) {
    561575            directionScale.drawColorBar(g, w-30, 50, 20, 100, 180.0/Math.PI);
Note: See TracChangeset for help on using the changeset viewer.