summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Towns <aj@erisian.com.au>2010-11-11 16:06:32 +1000
committerAnthony Towns <aj@erisian.com.au>2010-11-11 16:06:32 +1000
commit75f7698b99a661ed17a91748a99699fa6761772a (patch)
tree5e50323e8eb6bbb21676da20bb3654c3f2910cf0
parentcc0a730de093c49be2a921101d27622b6f592e92 (diff)
add compass bearing during descent
-rw-r--r--ao-tools/altosui/AltosDescent.java50
1 files changed, 45 insertions, 5 deletions
diff --git a/ao-tools/altosui/AltosDescent.java b/ao-tools/altosui/AltosDescent.java
index 0b7c8036..56d3e4fe 100644
--- a/ao-tools/altosui/AltosDescent.java
+++ b/ao-tools/altosui/AltosDescent.java
@@ -62,6 +62,7 @@ public class AltosDescent extends JComponent implements AltosFlightDisplay {
value.setFont(value_font);
value.setHorizontalAlignment(SwingConstants.RIGHT);
c.gridx = 1; c.gridy = y;
+ c.gridwidth = 2;
c.anchor = GridBagConstraints.WEST;
c.fill = GridBagConstraints.HORIZONTAL;
layout.setConstraints(value, c);
@@ -133,15 +134,54 @@ public class AltosDescent extends JComponent implements AltosFlightDisplay {
Lon lon;
- class Bearing extends DescentValue {
+ class Bearing {
+ JLabel label;
+ JTextField value;
+ JTextField value_deg;
+ void reset () {
+ value.setText("");
+ value_deg.setText("");
+ }
void show (AltosState state, int crc_errors) {
- if (state.from_pad != null)
- show("%3.0f°", state.from_pad.bearing);
- else
+ if (state.from_pad != null) {
+ value.setText(state.from_pad.bearing_words(
+ AltosGreatCircle.BEARING_LONG));
+ value_deg.setText(String.format("%3.0f°", state.from_pad.bearing));
+ } else {
value.setText("???");
+ value_deg.setText("???");
+ }
}
public Bearing (GridBagLayout layout, int y) {
- super (layout, y, "Bearing");
+ GridBagConstraints c = new GridBagConstraints();
+
+ label = new JLabel("Bearing");
+ label.setFont(label_font);
+ label.setHorizontalAlignment(SwingConstants.LEFT);
+ c.gridx = 0; c.gridy = y;
+ c.insets = new Insets(10, 10, 10, 10);
+ c.anchor = GridBagConstraints.WEST;
+ layout.setConstraints(label, c);
+ add(label);
+
+ value = new JTextField(30);
+ value.setFont(value_font);
+ value.setHorizontalAlignment(SwingConstants.RIGHT);
+ c.gridx = 1; c.gridy = y;
+ c.anchor = GridBagConstraints.EAST;
+ c.fill = GridBagConstraints.HORIZONTAL;
+ layout.setConstraints(value, c);
+ add(value);
+
+ value_deg = new JTextField(5);
+ value_deg.setFont(value_font);
+ value_deg.setHorizontalAlignment(SwingConstants.RIGHT);
+ c.gridx = 2; c.gridy = y;
+ c.anchor = GridBagConstraints.EAST;
+ c.fill = GridBagConstraints.HORIZONTAL;
+
+ layout.setConstraints(value_deg, c);
+ add(value_deg);
}
}