diff options
| author | Keith Packard <keithp@keithp.com> | 2010-07-31 10:34:21 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2010-08-01 10:31:14 -0400 | 
| commit | 9e8f7f75442303f9bfa99a0435984f5d36863ae6 (patch) | |
| tree | f74982738b6e96a510d202323d598efd1c71de12 /ao-tools/altosui/AltosFlightStatusTableModel.java | |
| parent | 9c9b35254c693b3ade42b24d1e29eaf31e6ba2aa (diff) | |
altosui: Split status and info panels into separate files
This moves some code out of AltosUI.java into separate files
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'ao-tools/altosui/AltosFlightStatusTableModel.java')
| -rw-r--r-- | ao-tools/altosui/AltosFlightStatusTableModel.java | 61 | 
1 files changed, 61 insertions, 0 deletions
diff --git a/ao-tools/altosui/AltosFlightStatusTableModel.java b/ao-tools/altosui/AltosFlightStatusTableModel.java new file mode 100644 index 00000000..174dd42c --- /dev/null +++ b/ao-tools/altosui/AltosFlightStatusTableModel.java @@ -0,0 +1,61 @@ +/* + * Copyright © 2010 Keith Packard <keithp@keithp.com> + * + * 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. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +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 AltosFlightStatusTableModel extends AbstractTableModel { +	private String[] columnNames = {"Height (m)", "State", "RSSI (dBm)", "Speed (m/s)" }; +	private Object[] data = { 0, "idle", 0, 0 }; + +	public int getColumnCount() { return columnNames.length; } +	public int getRowCount() { return 2; } +	public Object getValueAt(int row, int col) { +		if (row == 0) +			return columnNames[col]; +		return data[col]; +	} + +	public void setValueAt(Object value, int col) { +		data[col] = value; +		fireTableCellUpdated(1, col); +	} + +	public void setValueAt(Object value, int row, int col) { +		setValueAt(value, col); +	} + +	public void set(AltosState state) { +		setValueAt(String.format("%1.0f", state.height), 0); +		setValueAt(state.data.state, 1); +		setValueAt(state.data.rssi, 2); +		double speed = state.baro_speed; +		if (state.ascent) +			speed = state.speed; +		setValueAt(String.format("%1.0f", speed), 3); +	} +}  | 
