projects
/
fw
/
altos
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1bcfa22
)
better error behaviour if no map
author
Anthony Towns
<aj@erisian.com.au>
Fri, 12 Nov 2010 13:42:42 +0000
(23:42 +1000)
committer
Anthony Towns
<aj@erisian.com.au>
Fri, 12 Nov 2010 13:42:42 +0000
(23:42 +1000)
ao-tools/altosui/AltosSiteMap.java
patch
|
blob
|
history
diff --git
a/ao-tools/altosui/AltosSiteMap.java
b/ao-tools/altosui/AltosSiteMap.java
index 420bfc813ac8eae9d41dfd3033b8c9701cbdb800..1fb70b3590575fee8eb06344e887212982ab80c0 100644
(file)
--- a/
ao-tools/altosui/AltosSiteMap.java
+++ b/
ao-tools/altosui/AltosSiteMap.java
@@
-40,7
+40,7
@@
public class AltosSiteMap extends JComponent implements AltosFlightDisplay {
Graphics2D g2d;
Graphics2D g2d;
- private
void
setLocation(double new_lat, double new_lng) {
+ private
boolean
setLocation(double new_lat, double new_lng) {
int new_zoom = 15;
lat = new_lat;
lng = new_lng;
int new_zoom = 15;
lat = new_lat;
lng = new_lng;
@@
-60,8
+60,10
@@
public class AltosSiteMap extends JComponent implements AltosFlightDisplay {
picLabel.setIcon(new ImageIcon( myPicture ));
g2d = myPicture.createGraphics();
} catch (Exception e) {
picLabel.setIcon(new ImageIcon( myPicture ));
g2d = myPicture.createGraphics();
} catch (Exception e) {
- throw new RuntimeException(e);
- };
+ // throw new RuntimeException(e);
+ return false;
+ }
+ return true;
}
private static double limit(double v, double lo, double hi) {
}
private static double limit(double v, double lo, double hi) {
@@
-116,14
+118,20
@@
public class AltosSiteMap extends JComponent implements AltosFlightDisplay {
Color.BLACK // landed
};
Color.BLACK // landed
};
+ boolean nomaps = false;
public void show(AltosState state, int crc_errors) {
public void show(AltosState state, int crc_errors) {
+ if (nomaps)
+ return;
if (!state.gps_ready && state.pad_lat == 0 && state.pad_lon == 0)
return;
double plat = (int)(state.pad_lat*200)/200.0;
double plon = (int)(state.pad_lon*200)/200.0;
if (last_pt == null) {
if (!state.gps_ready && state.pad_lat == 0 && state.pad_lon == 0)
return;
double plat = (int)(state.pad_lat*200)/200.0;
double plon = (int)(state.pad_lon*200)/200.0;
if (last_pt == null) {
- setLocation(plat, plon);
+ if (!setLocation(plat, plon)) {
+ nomaps = true;
+ return;
+ }
}
Point2D.Double pt = pt(state.gps.lat, state.gps.lon);
}
Point2D.Double pt = pt(state.gps.lat, state.gps.lon);