X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosCompanionInfo.java;h=9c788971f78056996e5eeabb5170d16896f7b7dd;hp=f287a8ea3348cb375b39d1595018c23467e446b9;hb=e9a3268285e97b7316c3321892e77814703ff71d;hpb=c7f540330c040c521f9d7626009a406e704a5e41 diff --git a/altosui/AltosCompanionInfo.java b/altosui/AltosCompanionInfo.java index f287a8ea..9c788971 100644 --- a/altosui/AltosCompanionInfo.java +++ b/altosui/AltosCompanionInfo.java @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -18,45 +19,43 @@ package altosui; import java.awt.*; -import java.awt.event.*; import javax.swing.*; -import javax.swing.filechooser.FileNameExtensionFilter; -import javax.swing.table.*; -import java.io.*; -import java.util.*; -import java.text.*; -import java.util.prefs.*; -import java.util.concurrent.LinkedBlockingQueue; - -public class AltosCompanionInfo extends JTable { - private AltosFlightInfoTableModel model; +import org.altusmetrum.altoslib_13.*; +import org.altusmetrum.altosuilib_13.*; - private Font infoLabelFont = new Font("SansSerif", Font.PLAIN, 14); - private Font infoValueFont = new Font("Monospaced", Font.PLAIN, 14); +public class AltosCompanionInfo extends JTable implements AltosFlightDisplay { + private AltosFlightInfoTableModel model; static final int info_columns = 2; static final int info_rows = 17; int desired_row_height() { - FontMetrics infoValueMetrics = getFontMetrics(infoValueFont); + FontMetrics infoValueMetrics = getFontMetrics(Altos.table_value_font); return (infoValueMetrics.getHeight() + infoValueMetrics.getLeading()) * 18 / 10; } + public void font_size_changed(int font_size) { + setFont(Altos.table_value_font); + setRowHeight(desired_row_height()); + doLayout(); + } + + public void units_changed(boolean imperial_units) { + } + public AltosCompanionInfo() { super(new AltosFlightInfoTableModel(info_rows, info_columns)); model = (AltosFlightInfoTableModel) getModel(); - setFont(infoValueFont); setAutoResizeMode(AUTO_RESIZE_ALL_COLUMNS); setShowGrid(true); - setRowHeight(desired_row_height()); - doLayout(); + font_size_changed(AltosUIPreferences.font_size()); } public Dimension getPreferredScrollableViewportSize() { return getPreferredSize(); } - void info_reset() { + public void reset() { model.reset(); } @@ -76,25 +75,27 @@ public class AltosCompanionInfo extends JTable { model.clear(); } - AltosRecordCompanion companion; + AltosCompanion companion; public String board_name() { if (companion == null) return "None"; switch (companion.board_id) { - case AltosRecordCompanion.board_id_telescience: + case AltosCompanion.board_id_telescience: return "TeleScience"; default: return String.format("%02x\n", companion.board_id); } } - - public void show(AltosState state, int crc_errors) { + + public String getName() { return "Companion"; } + + public void show(AltosState state, AltosListenerState listener_state) { if (state == null) return; - if (state.data.companion != null) - companion = state.data.companion; - info_reset(); + if (state.companion != null) + companion = state.companion; + reset(); info_add_row(0, "Companion board", "%s", board_name()); if (companion != null) { info_add_row(0, "Last Data", "%5d", companion.tick);