diff options
Diffstat (limited to 'altosuilib/AltosFlightStatsTable.java')
| -rw-r--r-- | altosuilib/AltosFlightStatsTable.java | 71 | 
1 files changed, 39 insertions, 32 deletions
| diff --git a/altosuilib/AltosFlightStatsTable.java b/altosuilib/AltosFlightStatsTable.java index e7a8e728..ec106cf1 100644 --- a/altosuilib/AltosFlightStatsTable.java +++ b/altosuilib/AltosFlightStatsTable.java @@ -15,7 +15,7 @@   * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.   */ -package altosui; +package org.altusmetrum.altosuilib_2;  import java.awt.*;  import javax.swing.*; @@ -30,11 +30,11 @@ public class AltosFlightStatsTable extends JComponent {  		public FlightStat(GridBagLayout layout, int y, String label_text, String ... values) {  			GridBagConstraints	c = new GridBagConstraints(); -			c.insets = new Insets(Altos.tab_elt_pad, Altos.tab_elt_pad, Altos.tab_elt_pad, Altos.tab_elt_pad); +			c.insets = new Insets(AltosUILib.tab_elt_pad, AltosUILib.tab_elt_pad, AltosUILib.tab_elt_pad, AltosUILib.tab_elt_pad);  			c.weighty = 1;  			label = new JLabel(label_text); -			label.setFont(Altos.label_font); +			label.setFont(AltosUILib.label_font);  			label.setHorizontalAlignment(SwingConstants.LEFT);  			c.gridx = 0; c.gridy = y;  			c.anchor = GridBagConstraints.WEST; @@ -45,7 +45,7 @@ public class AltosFlightStatsTable extends JComponent {  			for (int j = 0; j < values.length; j++) {  				value = new JTextField(values[j]); -				value.setFont(Altos.value_font); +				value.setFont(AltosUILib.value_font);  				value.setHorizontalAlignment(SwingConstants.RIGHT);  				c.gridx = j+1; c.gridy = y;  				c.anchor = GridBagConstraints.EAST; @@ -88,9 +88,11 @@ public class AltosFlightStatsTable extends JComponent {  				new FlightStat(layout, y++, "Time",  					       String.format("%02d:%02d:%02d UTC", stats.hour, stats.minute, stats.second));  		} -		new FlightStat(layout, y++, "Maximum height", -			       String.format("%5.0f m", stats.max_height), -			       String.format("%5.0f ft", AltosConvert.meters_to_feet(stats.max_height))); +		if (stats.max_height != AltosLib.MISSING) { +			new FlightStat(layout, y++, "Maximum height", +				       String.format("%5.0f m", stats.max_height), +				       String.format("%5.0f ft", AltosConvert.meters_to_feet(stats.max_height))); +		}  		if (stats.max_gps_height != AltosLib.MISSING) {  			new FlightStat(layout, y++, "Maximum GPS height",  				       String.format("%5.0f m", stats.max_gps_height), @@ -106,31 +108,36 @@ public class AltosFlightStatsTable extends JComponent {  				       String.format("%5.0f ft/s²", AltosConvert.meters_to_feet(stats.max_acceleration)),  				       String.format("%5.0f G", AltosConvert.meters_to_g(stats.max_acceleration)));  			new FlightStat(layout, y++, "Average boost acceleration", -				       String.format("%5.0f m/s²", stats.state_accel[Altos.ao_flight_boost]), -				       String.format("%5.0f ft/s²", AltosConvert.meters_to_feet(stats.state_accel[Altos.ao_flight_boost])), -				       String.format("%5.0f G", AltosConvert.meters_to_g(stats.state_accel[Altos.ao_flight_boost]))); +				       String.format("%5.0f m/s²", stats.state_accel[AltosLib.ao_flight_boost]), +				       String.format("%5.0f ft/s²", AltosConvert.meters_to_feet(stats.state_accel[AltosLib.ao_flight_boost])), +				       String.format("%5.0f G", AltosConvert.meters_to_g(stats.state_accel[AltosLib.ao_flight_boost])));  		} -		new FlightStat(layout, y++, "Drogue descent rate", -			       String.format("%5.0f m/s", stats.state_speed[Altos.ao_flight_drogue]), -			       String.format("%5.0f ft/s", AltosConvert.meters_to_feet(stats.state_speed[Altos.ao_flight_drogue]))); -		new FlightStat(layout, y++, "Main descent rate", -			       String.format("%5.0f m/s", stats.state_speed[Altos.ao_flight_main]), -			       String.format("%5.0f ft/s", AltosConvert.meters_to_feet(stats.state_speed[Altos.ao_flight_main]))); -		new FlightStat(layout, y++, "Ascent time", -			       String.format("%6.1f s %s", stats.state_end[AltosLib.ao_flight_boost] - stats.state_start[AltosLib.ao_flight_boost], -					     AltosLib.state_name(Altos.ao_flight_boost)), -			       String.format("%6.1f s %s", stats.state_end[AltosLib.ao_flight_fast] - stats.state_start[AltosLib.ao_flight_fast], -					     AltosLib.state_name(Altos.ao_flight_fast)), -			       String.format("%6.1f s %s", stats.state_end[AltosLib.ao_flight_coast] - stats.state_start[AltosLib.ao_flight_coast], -					     AltosLib.state_name(Altos.ao_flight_coast))); -		new FlightStat(layout, y++, "Descent time", -			       String.format("%6.1f s %s", stats.state_end[AltosLib.ao_flight_drogue] - stats.state_start[AltosLib.ao_flight_drogue], -					     AltosLib.state_name(Altos.ao_flight_drogue)), -			       String.format("%6.1f s %s", stats.state_end[AltosLib.ao_flight_main] - stats.state_start[AltosLib.ao_flight_main], -					     AltosLib.state_name(Altos.ao_flight_main))); -		new FlightStat(layout, y++, "Flight time", -			       String.format("%6.1f s", stats.state_end[Altos.ao_flight_main] - -					     stats.state_start[Altos.ao_flight_boost])); +		if (stats.state_speed[AltosLib.ao_flight_drogue] != AltosLib.MISSING) +			new FlightStat(layout, y++, "Drogue descent rate", +				       String.format("%5.0f m/s", stats.state_speed[AltosLib.ao_flight_drogue]), +				       String.format("%5.0f ft/s", AltosConvert.meters_to_feet(stats.state_speed[AltosLib.ao_flight_drogue]))); +		if (stats.state_speed[AltosLib.ao_flight_main] != AltosLib.MISSING) +			new FlightStat(layout, y++, "Main descent rate", +				       String.format("%5.0f m/s", stats.state_speed[AltosLib.ao_flight_main]), +				       String.format("%5.0f ft/s", AltosConvert.meters_to_feet(stats.state_speed[AltosLib.ao_flight_main]))); +		if (stats.state_start[AltosLib.ao_flight_boost] < stats.state_end[AltosLib.ao_flight_coast]) +			new FlightStat(layout, y++, "Ascent time", +				       String.format("%6.1f s %s", stats.state_end[AltosLib.ao_flight_boost] - stats.state_start[AltosLib.ao_flight_boost], +						     AltosLib.state_name(AltosLib.ao_flight_boost)), +				       String.format("%6.1f s %s", stats.state_end[AltosLib.ao_flight_fast] - stats.state_start[AltosLib.ao_flight_fast], +						     AltosLib.state_name(AltosLib.ao_flight_fast)), +				       String.format("%6.1f s %s", stats.state_end[AltosLib.ao_flight_coast] - stats.state_start[AltosLib.ao_flight_coast], +						     AltosLib.state_name(AltosLib.ao_flight_coast))); +		if (stats.state_start[AltosLib.ao_flight_drogue] < stats.state_end[AltosLib.ao_flight_main]) +			new FlightStat(layout, y++, "Descent time", +				       String.format("%6.1f s %s", stats.state_end[AltosLib.ao_flight_drogue] - stats.state_start[AltosLib.ao_flight_drogue], +						     AltosLib.state_name(AltosLib.ao_flight_drogue)), +				       String.format("%6.1f s %s", stats.state_end[AltosLib.ao_flight_main] - stats.state_start[AltosLib.ao_flight_main], +						     AltosLib.state_name(AltosLib.ao_flight_main))); +		if (stats.state_start[AltosLib.ao_flight_boost] < stats.state_end[AltosLib.ao_flight_main]) +			new FlightStat(layout, y++, "Flight time", +				       String.format("%6.1f s", stats.state_end[AltosLib.ao_flight_main] - +						     stats.state_start[AltosLib.ao_flight_boost]));  		if (stats.has_gps) {  			new FlightStat(layout, y++, "Pad location",  				       pos(stats.pad_lat,"N","S"), @@ -141,4 +148,4 @@ public class AltosFlightStatsTable extends JComponent {  		}  	} -}
\ No newline at end of file +} | 
