X-Git-Url: https://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2Ffunction%2FFullRangeDetails.java;h=338bf0bebbe1e1aef4d0130cf9b5d904b9c1a5c5;hp=ed86ef90ec54e75e7da713bd87f6424e8f051d66;hb=c0387c124840c9407e040600fda88f3c3e8f6aa6;hpb=1ee49ae3c8ef3aa2e63eadd458531e5f8bd4f92c diff --git a/tim/prune/function/FullRangeDetails.java b/tim/prune/function/FullRangeDetails.java index ed86ef9..338bf0b 100644 --- a/tim/prune/function/FullRangeDetails.java +++ b/tim/prune/function/FullRangeDetails.java @@ -22,6 +22,7 @@ import tim.prune.data.Altitude; import tim.prune.data.Distance; import tim.prune.data.Selection; import tim.prune.gui.DisplayUtils; +import tim.prune.gui.profile.SpeedData; /** * Class to show the full range details in a separate popup @@ -38,6 +39,7 @@ public class FullRangeDetails extends GenericFunction private JLabel _gradientLabel = null; /** Moving distance, speed */ private JLabel _movingDistanceLabel = null, _aveMovingSpeedLabel = null; + private JLabel _maxSpeedLabel = null; /** Number formatter for one decimal place */ private static final NumberFormat FORMAT_ONE_DP = NumberFormat.getNumberInstance(); /** Flexible number formatter for different decimal places */ @@ -123,6 +125,12 @@ public class FullRangeDetails extends GenericFunction midPanel.add(movingSpeedLabel); _aveMovingSpeedLabel = new JLabel("5 km/h"); midPanel.add(_aveMovingSpeedLabel); + // Maximum speed + JLabel maxSpeedLabel = new JLabel(I18nManager.getText("details.range.maxspeed") + ": "); + maxSpeedLabel.setHorizontalAlignment(JLabel.RIGHT); + midPanel.add(maxSpeedLabel); + _maxSpeedLabel = new JLabel("10 km/h"); + midPanel.add(_maxSpeedLabel); dialogPanel.add(midPanel, BorderLayout.CENTER); // button panel at bottom @@ -194,6 +202,22 @@ public class FullRangeDetails extends GenericFunction else { _aveMovingSpeedLabel.setText(""); } + + // Maximum speed + SpeedData speeds = new SpeedData(_app.getTrackInfo().getTrack()); + speeds.init(); + double maxSpeed = 0.0; + for (int i=selection.getStart(); i<=selection.getEnd(); i++) { + if (speeds.hasData(i) && (speeds.getData(i) > maxSpeed)) { + maxSpeed = speeds.getData(i); + } + } + if (maxSpeed > 0.0) { + _maxSpeedLabel.setText(roundedNumber(maxSpeed) + " " + speedUnitsStr); + } + else { + _maxSpeedLabel.setText(""); + } } /**