import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
-import org.altusmetrum.AltosLib.*;
+import org.altusmetrum.altoslib_1.*;
public class AltosInfoTable extends JTable {
private AltosFlightInfoTableModel model;
}
void info_add_deg(int col, String name, double v, int pos, int neg) {
- //int c = pos;
+ int c = pos;
if (v < 0) {
- //c = neg;
+ c = neg;
v = -v;
}
double deg = Math.floor(v);
double min = (v - deg) * 60;
- info_add_row(col, name, String.format("%3.0f°%08.5f'", deg, min));
+ info_add_row(col, name, String.format("%c %3.0f°%08.5f'", c, deg, min));
}
void info_finish() {
if (state == null)
return;
info_reset();
- info_add_row(0, "Altitude", "%6.0f m", state.altitude);
- info_add_row(0, "Pad altitude", "%6.0f m", state.ground_altitude);
- info_add_row(0, "Height", "%6.0f m", state.height);
- info_add_row(0, "Max height", "%6.0f m", state.max_height);
- info_add_row(0, "Acceleration", "%8.1f m/s²", state.acceleration);
- info_add_row(0, "Max acceleration", "%8.1f m/s²", state.max_acceleration);
- info_add_row(0, "Speed", "%8.1f m/s", state.speed());
- info_add_row(0, "Max Speed", "%8.1f m/s", state.max_accel_speed);
- info_add_row(0, "Temperature", "%9.2f °C", state.temperature);
- info_add_row(0, "Battery", "%9.2f V", state.battery);
+ if (state.altitude != AltosRecord.MISSING)
+ info_add_row(0, "Altitude", "%6.0f m", state.altitude);
+ if (state.ground_altitude != AltosRecord.MISSING)
+ info_add_row(0, "Pad altitude", "%6.0f m", state.ground_altitude);
+ if (state.height != AltosRecord.MISSING)
+ info_add_row(0, "Height", "%6.0f m", state.height);
+ if (state.max_height != AltosRecord.MISSING)
+ info_add_row(0, "Max height", "%6.0f m", state.max_height);
+ if (state.acceleration != AltosRecord.MISSING)
+ info_add_row(0, "Acceleration", "%8.1f m/s²", state.acceleration);
+ if (state.max_acceleration != AltosRecord.MISSING)
+ info_add_row(0, "Max acceleration", "%8.1f m/s²", state.max_acceleration);
+ if (state.speed() != AltosRecord.MISSING)
+ info_add_row(0, "Speed", "%8.1f m/s", state.speed());
+ if (state.max_speed() != AltosRecord.MISSING)
+ info_add_row(0, "Max Speed", "%8.1f m/s", state.max_accel_speed);
+ if (state.temperature != AltosRecord.MISSING)
+ info_add_row(0, "Temperature", "%9.2f °C", state.temperature);
+ if (state.battery != AltosRecord.MISSING)
+ info_add_row(0, "Battery", "%9.2f V", state.battery);
if (state.drogue_sense != AltosRecord.MISSING)
info_add_row(0, "Drogue", "%9.2f V", state.drogue_sense);
if (state.main_sense != AltosRecord.MISSING)