X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosFlightUI.java;h=04bfc90dff237b1ed740bcfbaefaae8c4449f6ca;hp=68e0ef874fe7363928898352f35f2d0d5151715d;hb=6492218fc316f8cf6214a577807a8dd0a80a9b6a;hpb=f3e68341f6f5daaf26dd162e4f9a06c29988986a diff --git a/altosui/AltosFlightUI.java b/altosui/AltosFlightUI.java index 68e0ef87..04bfc90d 100644 --- a/altosui/AltosFlightUI.java +++ b/altosui/AltosFlightUI.java @@ -119,9 +119,10 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay { Container bag; JComboBox channels; + JComboBox telemetries; public AltosFlightUI(AltosVoice in_voice, AltosFlightReader in_reader, final int serial) { - AltosPreferences.init(this); + AltosPreferences.set_component(this); voice = in_voice; reader = in_reader; @@ -149,8 +150,32 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay { }); c.gridx = 0; c.gridy = 0; + c.insets = new Insets(3, 3, 3, 3); c.anchor = GridBagConstraints.WEST; bag.add (channels, c); + + // Telemetry format menu + telemetries = new JComboBox(); + for (int i = 1; i <= Altos.ao_telemetry_max; i++) + telemetries.addItem(Altos.telemetry_name(i)); + int telemetry = AltosPreferences.telemetry(serial); + if (telemetry <= Altos.ao_telemetry_off || + telemetry > Altos.ao_telemetry_max) + telemetry = Altos.ao_telemetry_standard; + telemetries.setSelectedIndex(telemetry - 1); + telemetries.setMaximumRowCount(Altos.ao_telemetry_max); + telemetries.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + int telemetry = telemetries.getSelectedIndex() + 1; + reader.set_telemetry(telemetry); + } + }); + c.gridx = 1; + c.gridy = 0; + c.fill = GridBagConstraints.NONE; + c.anchor = GridBagConstraints.WEST; + bag.add (telemetries, c); + c.insets = new Insets(0, 0, 0, 0); } /* Flight status is always visible */ @@ -159,7 +184,9 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay { c.gridy = 1; c.fill = GridBagConstraints.HORIZONTAL; c.weightx = 1; + c.gridwidth = 2; bag.add(flightStatus, c); + c.gridwidth = 1; /* The rest of the window uses a tabbed pane to * show one of the alternate data views @@ -190,6 +217,7 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay { c.fill = GridBagConstraints.BOTH; c.weightx = 1; c.weighty = 1; + c.gridwidth = 2; bag.add(pane, c); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);