diff options
| -rw-r--r-- | altosui/AltosConfigureUI.java | 358 | ||||
| -rw-r--r-- | altosui/Makefile.am | 28 | ||||
| -rw-r--r-- | altosuilib/AltosUIConfigure.java | 153 | ||||
| -rw-r--r-- | altosuilib/Makefile.am | 27 | 
4 files changed, 82 insertions, 484 deletions
diff --git a/altosui/AltosConfigureUI.java b/altosui/AltosConfigureUI.java index c576b052..0e411b03 100644 --- a/altosui/AltosConfigureUI.java +++ b/altosui/AltosConfigureUI.java @@ -22,86 +22,17 @@ import java.awt.event.*;  import java.beans.*;  import javax.swing.*;  import javax.swing.event.*; - -class DelegatingRenderer implements ListCellRenderer { - -	// ... -	public static void install(JComboBox comboBox) { -		DelegatingRenderer renderer = new DelegatingRenderer(comboBox); -		renderer.initialise(); -		comboBox.setRenderer(renderer); -	} - -	// ... -	private final JComboBox comboBox; - -	// ... -	private ListCellRenderer delegate; - -	// ... -	private DelegatingRenderer(JComboBox comboBox) { -		this.comboBox = comboBox; -	} - -	// ... -	private void initialise() { -		delegate = new JComboBox().getRenderer(); -		comboBox.addPropertyChangeListener("UI", new PropertyChangeListener() { - -				public void propertyChange(PropertyChangeEvent evt) { -					delegate = new JComboBox().getRenderer(); -				} -			}); -	} - -	// ... -	public Component getListCellRendererComponent(JList list, -						      Object value, int index, boolean isSelected, boolean cellHasFocus) { - -		return delegate.getListCellRendererComponent(list, -							     ((UIManager.LookAndFeelInfo) value).getName(), -							     index, isSelected, cellHasFocus); -	} -} +import org.altusmetrum.altosuilib.*;  public class AltosConfigureUI -	extends AltosDialog +	extends AltosUIConfigure  	implements DocumentListener  { -	JFrame		owner;  	AltosVoice	voice; -	Container	pane; - -	JRadioButton	enable_voice; -	JButton		test_voice; -	JButton		close; - -	JButton		configure_log; -	JTextField	log_directory; - -	JLabel		callsign_label; -	JTextField	callsign_value; - -	JRadioButton	imperial_units; - -	JLabel		font_size_label; -	JComboBox	font_size_value; -	JLabel		look_and_feel_label; -	JComboBox	look_and_feel_value; - -	JRadioButton	serial_debug; - -	JButton		manage_bluetooth; -	JButton		manage_frequencies; - -	final static String[] font_size_names = { "Small", "Medium", "Large" }; +	public JTextField	callsign_value;  	/* DocumentListener interface methods */ -	public void changedUpdate(DocumentEvent e) { -		AltosUIPreferences.set_callsign(callsign_value.getText()); -	} -  	public void insertUpdate(DocumentEvent e) {  		changedUpdate(e);  	} @@ -110,49 +41,17 @@ public class AltosConfigureUI  		changedUpdate(e);  	} -	public AltosConfigureUI(JFrame in_owner, AltosVoice in_voice) { -		super(in_owner, "Configure AltosUI", false); - -		GridBagConstraints	c; - -		Insets insets = new Insets(4, 4, 4, 4); - -		int row = 0; - -		owner = in_owner; -		voice = in_voice; -		pane = getContentPane(); -		pane.setLayout(new GridBagLayout()); - -		c = new GridBagConstraints(); -		c.insets = insets; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.WEST; - -		/* Nice label at the top */ -		c.gridx = 0; -		c.gridy = row++; -		c.gridwidth = 3; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.CENTER; -		pane.add(new JLabel ("Configure AltOS UI"), c); +	public void changedUpdate(DocumentEvent e) { +		if (callsign_value != null)  +			AltosUIPreferences.set_callsign(callsign_value.getText()); +	} -		c.gridx = 0; -		c.gridy = row++; -		c.gridwidth = 3; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.CENTER; -		pane.add(new JLabel (String.format("AltOS version %s", AltosVersion.version)), c); +	public void add_voice() {  		/* Voice settings */ -		c.gridx = 0; -		c.gridy = row; -		c.gridwidth = 1; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.WEST; -		pane.add(new JLabel("Voice"), c); +		pane.add(new JLabel("Voice"), constraints(0, 1)); -		enable_voice = new JRadioButton("Enable", AltosUIPreferences.voice()); +		JRadioButton enable_voice = new JRadioButton("Enable", AltosUIPreferences.voice());  		enable_voice.addActionListener(new ActionListener() {  				public void actionPerformed(ActionEvent e) {  					JRadioButton item = (JRadioButton) e.getSource(); @@ -164,246 +63,57 @@ public class AltosConfigureUI  						voice.speak_always("Disable voice.");  				}  			}); -		c.gridx = 1; -		c.gridy = row; -		c.gridwidth = 1; -		c.weightx = 1; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.WEST; -		pane.add(enable_voice, c); +		pane.add(enable_voice, constraints(1, 1));  		enable_voice.setToolTipText("Enable/Disable all audio in-flight announcements"); -		c.gridx = 2; -		c.gridy = row++; -		c.gridwidth = 1; -		c.weightx = 1; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.EAST; -		test_voice = new JButton("Test Voice"); +		JButton test_voice = new JButton("Test Voice");  		test_voice.addActionListener(new ActionListener() {  				public void actionPerformed(ActionEvent e) {  					voice.speak("That's one small step for man; one giant leap for mankind.");  				}  			}); -		pane.add(test_voice, c); +		pane.add(test_voice, constraints(2, 1));  		test_voice.setToolTipText("Play a stock audio clip to check volume"); +		row++; +	} -		/* Log directory settings */ -		c.gridx = 0; -		c.gridy = row; -		c.gridwidth = 1; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.WEST; -		pane.add(new JLabel("Log Directory"), c); - -		configure_log = new JButton(AltosUIPreferences.logdir().getPath()); -		configure_log.addActionListener(new ActionListener() { -				public void actionPerformed(ActionEvent e) { -					AltosUIPreferences.ConfigureLog(); -					configure_log.setText(AltosUIPreferences.logdir().getPath()); -				} -			}); -		c.gridx = 1; -		c.gridy = row++; -		c.gridwidth = 2; -		c.fill = GridBagConstraints.BOTH; -		c.anchor = GridBagConstraints.WEST; -		pane.add(configure_log, c); -		configure_log.setToolTipText("Which directory flight logs are stored in"); - +	public void add_callsign() {  		/* Callsign setting */ -		c.gridx = 0; -		c.gridy = row; -		c.gridwidth = 1; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.WEST; -		pane.add(new JLabel("Callsign"), c); +		pane.add(new JLabel("Callsign"), constraints(0, 1)); -		callsign_value = new JTextField(AltosUIPreferences.callsign()); +		JTextField callsign_value = new JTextField(AltosUIPreferences.callsign());  		callsign_value.getDocument().addDocumentListener(this); -		c.gridx = 1; -		c.gridy = row++; -		c.gridwidth = 2; -		c.fill = GridBagConstraints.BOTH; -		c.anchor = GridBagConstraints.WEST; -		pane.add(callsign_value, c);  		callsign_value.setToolTipText("Callsign sent in packet mode"); +		pane.add(callsign_value, constraints(1, 2, GridBagConstraints.BOTH)); +		row++; +	} -		/* Imperial units setting */ -		c.gridx = 0; -		c.gridy = row; -		c.gridwidth = 1; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.WEST; -		pane.add(new JLabel("Imperial Units"), c); - -		imperial_units = new JRadioButton("Enable", AltosUIPreferences.imperial_units()); -		imperial_units.addActionListener(new ActionListener() { -				public void actionPerformed(ActionEvent e) { -					JRadioButton item = (JRadioButton) e.getSource(); -					boolean enabled = item.isSelected(); -					AltosUIPreferences.set_imperial_units(enabled); -				} -			}); -		imperial_units.setToolTipText("Use Imperial units instead of metric"); - -		c.gridx = 1; -		c.gridy = row++; -		c.gridwidth = 3; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.WEST; -		pane.add(imperial_units, c); - -		/* Font size setting */ -		c.gridx = 0; -		c.gridy = row; -		c.gridwidth = 1; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.WEST; -		pane.add(new JLabel("Font size"), c); - -		font_size_value = new JComboBox(font_size_names); -		int font_size = AltosUIPreferences.font_size(); -		font_size_value.setSelectedIndex(font_size - Altos.font_size_small); -		font_size_value.addActionListener(new ActionListener() { -				public void actionPerformed(ActionEvent e) { -					int	size = font_size_value.getSelectedIndex() + Altos.font_size_small; - -					AltosUIPreferences.set_font_size(size); -				} -			}); -		c.gridx = 1; -		c.gridy = row++; -		c.gridwidth = 2; -		c.fill = GridBagConstraints.BOTH; -		c.anchor = GridBagConstraints.WEST; -		pane.add(font_size_value, c); -		font_size_value.setToolTipText("Font size used in telemetry window"); - -		/* Look & Feel setting */ -		c.gridx = 0; -		c.gridy = row; -		c.gridwidth = 1; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.WEST; -		pane.add(new JLabel("Look & feel"), c); - -		/* -		class LookAndFeelRenderer extends BasicComboBoxRenderer implements ListCellRenderer { - -			public LookAndFeelRenderer() { -				super(); -			} - -			public Component getListCellRendererComponent( -				JList list, -				Object value, -				int index, -				boolean isSelected, -				boolean cellHasFocus) -			{ -				super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); -				setText(((UIManager.LookAndFeelInfo) value).getName()); -				return this; -			} -		} -		*/ - -		final UIManager.LookAndFeelInfo[] look_and_feels = UIManager.getInstalledLookAndFeels(); - -		look_and_feel_value = new JComboBox(look_and_feels); - -		DelegatingRenderer.install(look_and_feel_value); - -		String look_and_feel  = AltosUIPreferences.look_and_feel(); -		for (int i = 0; i < look_and_feels.length; i++) -			if (look_and_feel.equals(look_and_feels[i].getClassName())) -				look_and_feel_value.setSelectedIndex(i); - -		look_and_feel_value.addActionListener(new ActionListener() { -				public void actionPerformed(ActionEvent e) { -					int	id = look_and_feel_value.getSelectedIndex(); - -					AltosUIPreferences.set_look_and_feel(look_and_feels[id].getClassName()); -				} -			}); -		c.gridx = 1; -		c.gridy = row++; -		c.gridwidth = 2; -		c.fill = GridBagConstraints.BOTH; -		c.anchor = GridBagConstraints.WEST; -		pane.add(look_and_feel_value, c); -		look_and_feel_value.setToolTipText("Look&feel used for new windows"); - -		/* Serial debug setting */ -		c.gridx = 0; -		c.gridy = row; -		c.gridwidth = 1; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.WEST; -		pane.add(new JLabel("Serial Debug"), c); - -		serial_debug = new JRadioButton("Enable", AltosUIPreferences.serial_debug()); -		serial_debug.addActionListener(new ActionListener() { -				public void actionPerformed(ActionEvent e) { -					JRadioButton item = (JRadioButton) e.getSource(); -					boolean enabled = item.isSelected(); -					AltosUIPreferences.set_serial_debug(enabled); -				} -			}); -		serial_debug.setToolTipText("Enable/Disable USB I/O getting sent to the console"); - -		c.gridx = 1; -		c.gridy = row++; -		c.gridwidth = 3; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.WEST; -		pane.add(serial_debug, c); - -		manage_bluetooth = new JButton("Manage Bluetooth"); +	public void add_bluetooth() { +		JButton manage_bluetooth = new JButton("Manage Bluetooth");  		manage_bluetooth.addActionListener(new ActionListener() {  				public void actionPerformed(ActionEvent e) {  					AltosBTManage.show(owner, AltosBTKnown.bt_known());  				}  			}); -		c.gridx = 0; -		c.gridy = row; -		c.gridwidth = 2; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.WEST; -		pane.add(manage_bluetooth, c); +		pane.add(manage_bluetooth, constraints(0, 2)); +		/* in the same row as add_frequencies, so don't bump row */ +	} -		manage_frequencies = new JButton("Manage Frequencies"); +	public void add_frequencies() { +		JButton manage_frequencies = new JButton("Manage Frequencies");  		manage_frequencies.addActionListener(new ActionListener() {  				public void actionPerformed(ActionEvent e) {  					AltosConfigFreqUI.show(owner);  				}  			});  		manage_frequencies.setToolTipText("Configure which values are shown in frequency menus"); -		c.gridx = 2; -		c.gridx = 2; -		c.gridy = row++; -		c.gridwidth = 2; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.WEST; -		pane.add(manage_frequencies, c); +		pane.add(manage_frequencies, constraints(2, 1)); +		row++; +	} -		/* And a close button at the bottom */ -		close = new JButton("Close"); -		close.addActionListener(new ActionListener() { -				public void actionPerformed(ActionEvent e) { -					setVisible(false); -				} -			}); -		c.gridx = 0; -		c.gridy = row++; -		c.gridwidth = 3; -		c.fill = GridBagConstraints.NONE; -		c.anchor = GridBagConstraints.CENTER; -		pane.add(close, c); +	public AltosConfigureUI(JFrame owner, AltosVoice voice) { +		super(owner); -		pack(); -		setLocationRelativeTo(owner); -		setVisible(true); +		this.voice = voice;  	}  } diff --git a/altosui/Makefile.am b/altosui/Makefile.am index a42426cd..494539ae 100644 --- a/altosui/Makefile.am +++ b/altosui/Makefile.am @@ -6,7 +6,7 @@ man_MANS=altosui.1  altoslibdir=$(libdir)/altos -CLASSPATH_ENV=mkdir -p $(JAVAROOT); CLASSPATH=".:classes:../altoslib/*:../libaltos:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar:$(FREETTS)/freetts.jar" +CLASSPATH_ENV=mkdir -p $(JAVAROOT); CLASSPATH="./*:$(JAVAROOT):../libaltos:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar:$(FREETTS)/freetts.jar"  bin_SCRIPTS=altosui @@ -109,6 +109,9 @@ FREETTS_CLASS= \  ALTOSLIB_CLASS=\  	AltosLib.jar +ALTOSUILIB_CLASS=\ +	altosuilib.jar +  LIBALTOS= \  	libaltos.so \  	libaltos.dylib \ @@ -172,7 +175,7 @@ LINUX_DIST=Altos-Linux-$(VERSION).tar.bz2  MACOSX_DIST=Altos-Mac-$(VERSION).zip  WINDOWS_DIST=Altos-Windows-$(VERSION_DASH).exe -FAT_FILES=$(FATJAR) $(ALTOSLIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS) +FAT_FILES=$(FATJAR) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS)  LINUX_FILES=$(FAT_FILES) libaltos.so $(FIRMWARE) $(DOC)  LINUX_EXTRA=altosui-fat @@ -187,7 +190,7 @@ all-local: classes/altosui $(JAR) altosui altosui-test altosui-jdb  clean-local:  	-rm -rf classes $(JAR) $(FATJAR) \ -		$(LINUX_DIST) $(MACOSX_DIST) windows $(WINDOWS_DIST) $(ALTOSLIB_CLASS) $(FREETTS_CLASS) \ +		$(LINUX_DIST) $(MACOSX_DIST) windows $(WINDOWS_DIST) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) \  		$(JFREECHART_CLASS) $(JCOMMON_CLASS) $(LIBALTOS) Manifest.txt Manifest-fat.txt altos-windows.log \  		altosui altosui-test altosui-jdb macosx linux @@ -229,13 +232,13 @@ install-altosuiJAVA: altosui.jar  classes/altosui:  	mkdir -p classes/altosui -$(JAR): classaltosui.stamp Manifest.txt $(JAVA_ICONS) $(ALTOSLIB_CLASS) +$(JAR): classaltosui.stamp Manifest.txt $(JAVA_ICONS) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS)  	jar cfm $@ Manifest.txt \  		$(ICONJAR) \  		-C classes altosui \  		-C ../libaltos libaltosJNI -$(FATJAR): classaltosui.stamp Manifest-fat.txt $(ALTOSLIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS) $(LIBALTOS) $(JAVA_ICONS) +$(FATJAR): classaltosui.stamp Manifest-fat.txt $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS) $(LIBALTOS) $(JAVA_ICONS)  	jar cfm $@ Manifest-fat.txt \  		$(ICONJAR) \  		-C classes altosui \ @@ -243,25 +246,25 @@ $(FATJAR): classaltosui.stamp Manifest-fat.txt $(ALTOSLIB_CLASS) $(FREETTS_CLASS  Manifest.txt: Makefile  	echo 'Main-Class: altosui.AltosUI' > $@ -	echo "Class-Path: AltosLib.jar $(FREETTS)/freetts.jar $(JCOMMON)/jcommon.jar $(JFREECHART)/jfreechart.jar" >> $@ +	echo "Class-Path: $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS)/freetts.jar $(JCOMMON)/jcommon.jar $(JFREECHART)/jfreechart.jar" >> $@  Manifest-fat.txt:  	echo 'Main-Class: altosui.AltosUI' > $@ -	echo "Class-Path: AltosLib.jar freetts.jar jcommon.jar jfreechart.jar" >> $@ +	echo "Class-Path: $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) freetts.jar jcommon.jar jfreechart.jar" >> $@  altosui: Makefile  	echo "#!/bin/sh" > $@ -	echo 'exec java  -cp "$(FREETTS)/freetts.jar:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar" -Djava.library.path="$(altoslibdir)" -jar "$(altosuidir)/altosui.jar" "$$@"' >> $@ +	echo 'exec java -Djava.library.path="$(altoslibdir)" -jar "$(altosuidir)/altosui.jar" "$$@"' >> $@  	chmod +x $@  altosui-test: Makefile  	echo "#!/bin/sh" > $@ -	echo 'exec java -cp "./*:../libaltos:$(FREETTS)/freetts.jar:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar" -Djava.library.path="../libaltos/.libs" -jar altosui.jar "$$@"' >> $@ +	echo 'exec java -Djava.library.path="../libaltos/.libs" -jar altosui.jar "$$@"' >> $@  	chmod +x $@  altosui-jdb: Makefile  	echo "#!/bin/sh" > $@ -	echo 'exec jdb -classpath "classes:../libaltos:$(FREETTS)/freetts.jar:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar" -Djava.library.path="../libaltos/.libs" altosui/AltosUI "$$@"' >> $@ +	echo 'exec jdb -classpath "classes:./*:../libaltos:$(FREETTS)/freetts.jar:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar" -Djava.library.path="../libaltos/.libs" altosui/AltosUI "$$@"' >> $@  	chmod +x $@  libaltos.so: build-libaltos @@ -298,6 +301,10 @@ $(ALTOSLIB_CLASS):  	-rm -f "$@"  	$(LN_S) ../altoslib/"$@" . +$(ALTOSUILIB_CLASS): +	-rm -f "$@" +	$(LN_S) ../altosuilib/"$@" . +  $(FREETTS_CLASS):  	-rm -f "$@"  	$(LN_S) "$(FREETTS)"/"$@" . @@ -329,6 +336,7 @@ $(MACOSX_DIST): $(MACOSX_FILES) $(MACOSX_EXTRA)  	cp -p $(FATJAR) macosx/AltosUI.app/Contents/Resources/Java/altosui.jar  	cp -p libaltos.dylib macosx/AltosUI.app/Contents/Resources/Java  	cp -p $(ALTOSLIB_CLASS) macosx/AltosUI.app/Contents/Resources/Java +	cp -p $(ALTOSUILIB_CLASS) macosx/AltosUI.app/Contents/Resources/Java  	cp -p $(FREETTS_CLASS) macosx/AltosUI.app/Contents/Resources/Java  	cp -p $(JFREECHART_CLASS) macosx/AltosUI.app/Contents/Resources/Java  	cp -p $(JCOMMON_CLASS) macosx/AltosUI.app/Contents/Resources/Java diff --git a/altosuilib/AltosUIConfigure.java b/altosuilib/AltosUIConfigure.java index ef44f0be..6c9a841e 100644 --- a/altosuilib/AltosUIConfigure.java +++ b/altosuilib/AltosUIConfigure.java @@ -66,52 +66,14 @@ class DelegatingRenderer implements ListCellRenderer {  public class AltosUIConfigure  	extends AltosUIDialog -	implements DocumentListener  { -	JFrame		owner; -	Container	pane; +	public JFrame		owner; +	public Container	pane; -	JRadioButton	enable_voice; -	JButton		test_voice; -	JButton		close; - -	JButton		configure_log; -	JTextField	log_directory; - -	JLabel		callsign_label; -	JTextField	callsign_value; - -	JRadioButton	imperial_units; - -	JLabel		font_size_label; -	JComboBox	font_size_value; - -	JLabel		look_and_feel_label; -	JComboBox	look_and_feel_value; - -	JRadioButton	serial_debug; - -	JButton		manage_bluetooth; -	JButton		manage_frequencies; - -	int		row; +	public int		row;  	final static String[] font_size_names = { "Small", "Medium", "Large" }; -	/* DocumentListener interface methods */ -	public void changedUpdate(DocumentEvent e) { -		if (callsign_value != null)  -			AltosUIPreferences.set_callsign(callsign_value.getText()); -	} - -	public void insertUpdate(DocumentEvent e) { -		changedUpdate(e); -	} - -	public void removeUpdate(DocumentEvent e) { -		changedUpdate(e); -	} -  	public GridBagConstraints constraints (int x, int width, int fill) {  		GridBagConstraints c = new GridBagConstraints();  		Insets insets = new Insets(4, 4, 4, 4); @@ -120,6 +82,8 @@ public class AltosUIConfigure  		c.fill = fill;  		if (width == 3)  			c.anchor = GridBagConstraints.CENTER; +		else if (x == 2) +			c.anchor = GridBagConstraints.EAST;  		else  			c.anchor = GridBagConstraints.WEST;  		c.gridx = x; @@ -133,59 +97,13 @@ public class AltosUIConfigure  	}  	public void add_voice() { -//		GridBagConstraints c = new GridBagConstraints(); -// -//		/* Voice settings */ -//		c.gridx = 0; -//		c.gridy = row; -//		c.gridwidth = 1; -//		c.fill = GridBagConstraints.NONE; -//		c.anchor = GridBagConstraints.WEST; -//		pane.add(new JLabel("Voice"), c); -// -//		enable_voice = new JRadioButton("Enable", AltosUIPreferences.voice()); -//		enable_voice.addActionListener(new ActionListener() { -//				public void actionPerformed(ActionEvent e) { -//					JRadioButton item = (JRadioButton) e.getSource(); -//					boolean enabled = item.isSelected(); -//					AltosUIPreferences.set_voice(enabled); -//					if (enabled) -//						voice.speak_always("Enable voice."); -//					else -//						voice.speak_always("Disable voice."); -//				} -//			}); -//		c.gridx = 1; -//		c.gridy = row; -//		c.gridwidth = 1; -//		c.weightx = 1; -//		c.fill = GridBagConstraints.NONE; -//		c.anchor = GridBagConstraints.WEST; -//		pane.add(enable_voice, c); -//		enable_voice.setToolTipText("Enable/Disable all audio in-flight announcements"); -// -//		c.gridx = 2; -//		c.gridy = row++; -//		c.gridwidth = 1; -//		c.weightx = 1; -//		c.fill = GridBagConstraints.NONE; -//		c.anchor = GridBagConstraints.EAST; -//		test_voice = new JButton("Test Voice"); -//		test_voice.addActionListener(new ActionListener() { -//				public void actionPerformed(ActionEvent e) { -//					voice.speak("That's one small step for man; one giant leap for mankind."); -//				} -//			}); -//		pane.add(test_voice, c); -//		test_voice.setToolTipText("Play a stock audio clip to check volume"); -//		row++;  	}  	public void add_log_dir() {  		/* Log directory settings */  		pane.add(new JLabel("Log Directory"), constraints(0, 1)); -		configure_log = new JButton(AltosUIPreferences.logdir().getPath()); +		final JButton configure_log = new JButton(AltosUIPreferences.logdir().getPath());  		configure_log.addActionListener(new ActionListener() {  				public void actionPerformed(ActionEvent e) {  					AltosUIPreferences.ConfigureLog(); @@ -198,21 +116,13 @@ public class AltosUIConfigure  	}  	public void add_callsign() { -//		/* Callsign setting */ -//		pane.add(new JLabel("Callsign"), constraints(0, 1)); -// -//		callsign_value = new JTextField(AltosUIPreferences.callsign()); -//		callsign_value.getDocument().addDocumentListener(this); -//		callsign_value.setToolTipText("Callsign sent in packet mode"); -//		pane.add(callsign_value, constraints(1, 2, GridBagConstraints.BOTH)); -//		row++;  	}  	public void add_units() {  		/* Imperial units setting */  		pane.add(new JLabel("Imperial Units"), constraints(0, 1)); -		imperial_units = new JRadioButton("Enable", AltosUIPreferences.imperial_units()); +		JRadioButton imperial_units = new JRadioButton("Enable", AltosUIPreferences.imperial_units());  		imperial_units.addActionListener(new ActionListener() {  				public void actionPerformed(ActionEvent e) {  					JRadioButton item = (JRadioButton) e.getSource(); @@ -229,7 +139,7 @@ public class AltosUIConfigure  		/* Font size setting */  		pane.add(new JLabel("Font size"), constraints(0, 1)); -		font_size_value = new JComboBox(font_size_names); +		final JComboBox font_size_value = new JComboBox(font_size_names);  		int font_size = AltosUIPreferences.font_size();  		font_size_value.setSelectedIndex(font_size - AltosUILib.font_size_small);  		font_size_value.addActionListener(new ActionListener() { @@ -271,7 +181,7 @@ public class AltosUIConfigure  		final UIManager.LookAndFeelInfo[] look_and_feels = UIManager.getInstalledLookAndFeels(); -		look_and_feel_value = new JComboBox(look_and_feels); +		final JComboBox look_and_feel_value = new JComboBox(look_and_feels);  		DelegatingRenderer.install(look_and_feel_value); @@ -298,7 +208,7 @@ public class AltosUIConfigure  		/* Serial debug setting */  		pane.add(new JLabel("Serial Debug"), constraints(0, 1)); -		serial_debug = new JRadioButton("Enable", AltosUIPreferences.serial_debug()); +		JRadioButton serial_debug = new JRadioButton("Enable", AltosUIPreferences.serial_debug());  		serial_debug.addActionListener(new ActionListener() {  				public void actionPerformed(ActionEvent e) {  					JRadioButton item = (JRadioButton) e.getSource(); @@ -307,47 +217,18 @@ public class AltosUIConfigure  				}  			});  		serial_debug.setToolTipText("Enable/Disable USB I/O getting sent to the console"); +		c.gridx = 1; +		c.gridy = row++; +		c.gridwidth = 3; +		c.fill = GridBagConstraints.NONE; +		c.anchor = GridBagConstraints.WEST; +		pane.add(serial_debug, c);  	}  	public void add_bluetooth() { -//		GridBagConstraints c = new GridBagConstraints(); -//		c.gridx = 1; -//		c.gridy = row++; -//		c.gridwidth = 3; -//		c.fill = GridBagConstraints.NONE; -//		c.anchor = GridBagConstraints.WEST; -//		pane.add(serial_debug, c); -// -//		manage_bluetooth = new JButton("Manage Bluetooth"); -//		manage_bluetooth.addActionListener(new ActionListener() { -//				public void actionPerformed(ActionEvent e) { -//					AltosBTManage.show(owner, AltosBTKnown.bt_known()); -//				} -//			}); -//		c.gridx = 0; -//		c.gridy = row; -//		c.gridwidth = 2; -//		c.fill = GridBagConstraints.NONE; -//		c.anchor = GridBagConstraints.WEST; -//		pane.add(manage_bluetooth, c);  	}  	public void add_frequencies() { -//		GridBagConstraints c = new GridBagConstraints(); -//		manage_frequencies = new JButton("Manage Frequencies"); -//		manage_frequencies.addActionListener(new ActionListener() { -//				public void actionPerformed(ActionEvent e) { -//					AltosConfigFreqUI.show(owner); -//				} -//			}); -//		manage_frequencies.setToolTipText("Configure which values are shown in frequency menus"); -//		c.gridx = 2; -//		c.gridx = 2; -//		c.gridy = row++; -//		c.gridwidth = 2; -//		c.fill = GridBagConstraints.NONE; -//		c.anchor = GridBagConstraints.WEST; -//		pane.add(manage_frequencies, c);  	}  	public AltosUIConfigure(JFrame in_owner) { @@ -378,7 +259,7 @@ public class AltosUIConfigure  		add_frequencies();  		/* And a close button at the bottom */ -		close = new JButton("Close"); +		JButton close = new JButton("Close");  		close.addActionListener(new ActionListener() {  				public void actionPerformed(ActionEvent e) {  					setVisible(false); diff --git a/altosuilib/Makefile.am b/altosuilib/Makefile.am index d93d9415..d4aa0116 100644 --- a/altosuilib/Makefile.am +++ b/altosuilib/Makefile.am @@ -2,14 +2,13 @@ AM_JAVACFLAGS=-encoding UTF-8 -Xlint:deprecation  JAVAROOT=bin -CLASSPATH_ENV=mkdir -p $(JAVAROOT); CLASSPATH="bin:../altoslib/*:../libaltos:$(FREETTS)/*:/usr/share/java/*" +CLASSPATH_ENV=mkdir -p $(JAVAROOT); CLASSPATH="$(JAVAROOT):../altoslib/*:../libaltos:/usr/share/java/*"  SRC=. -BIN=bin/org/altusmetrum/AltosUILib -AltosUILibdir = $(datadir)/java +altosuilibdir = $(datadir)/java -AltosUILib_JAVA = \ +altosuilib_JAVA = \  	AltosUIConfigure.java \  	AltosDevice.java \  	AltosDeviceDialog.java \ @@ -24,21 +23,21 @@ AltosUILib_JAVA = \  	AltosUIVersion.java \  	AltosUnitsListener.java -JAR=AltosUILib.jar +JAR=altosuilib.jar  all-local: $(JAR)  clean-local: -	-rm -rf bin $(JAR) +	-rm -rf $(JAVAROOT) $(JAR) -install-AltosUILibJAVA: $(JAR) +install-altosuilibjava: $(JAR)  	@$(NORMAL_INSTALL) -	test -z "$(AltosUILibdir)" || $(MKDIR_P) "$(DESTDIR)$(AltosUILibdir)" -	echo " $(INSTALL_DATA)" "$<" "'$(DESTDIR)$(AltosUILibdir)/$(JAR)"; \ -	$(INSTALL_DATA) "$<" "$(DESTDIR)$(AltosUILibdir)" +	test -z "$(altosuilibdir)" || $(MKDIR_P) "$(DESTDIR)$(altosuilibdir)" +	echo " $(INSTALL_DATA)" "$<" "'$(DESTDIR)$(altosuilibdir)/$(JAR)"; \ +	$(INSTALL_DATA) "$<" "$(DESTDIR)$(altosuilibdir)" -bin: -	mkdir -p bin +$(JAVAROOT): +	mkdir -p $(JAVAROOT) -$(JAR): classAltosUILib.stamp -	jar cf $@ -C bin org +$(JAR): classaltosuilib.stamp +	jar cf $@ -C $(JAVAROOT) .  | 
