altos/telefireone-v2.0: Remove build of ao_product.h from Makefile
[fw/altos] / altosuilib / AltosUIEnable.java
index 4bd07c52fa5df3f66d887f9b582b0c44ca2b3771..ef9a692a62a47ce07339378d6dc92e6d64e53b19 100644 (file)
@@ -16,7 +16,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altosuilib_12;
+package org.altusmetrum.altosuilib_13;
 
 import java.awt.*;
 import java.awt.event.*;
@@ -25,7 +25,7 @@ import javax.swing.event.*;
 import java.io.*;
 import java.util.concurrent.*;
 import java.util.*;
-import org.altusmetrum.altoslib_12.*;
+import org.altusmetrum.altoslib_13.*;
 
 import org.jfree.ui.*;
 import org.jfree.chart.*;
@@ -43,11 +43,15 @@ public class AltosUIEnable extends Container implements ChangeListener {
        int             y;
        int             x;
        JCheckBox       imperial_units;
+       JCheckBox       show_shapes;
+       JLabel          line_width_label;
+       JSpinner        line_width;
        JLabel          speed_filter_label;
        JSlider         speed_filter;
        JLabel          accel_filter_label;
        JSlider         accel_filter;
        AltosFilterListener     filter_listener;
+       AltosShapeListener      shape_listener;
 
        static final int max_rows = 14;
 
@@ -111,6 +115,20 @@ public class AltosUIEnable extends Container implements ChangeListener {
                }
        }
 
+       public void set_shapes_visible(boolean visible) {
+               if (shape_listener != null)
+                       shape_listener.set_shapes_visible(visible);
+       }
+
+       public void set_line_width(float width) {
+               if (shape_listener != null)
+                       shape_listener.set_line_width(width);
+       }
+
+       public void register_shape_listener(AltosShapeListener shape_listener) {
+               this.shape_listener = shape_listener;
+       }
+
        public void add_units() {
                /* Imperial units setting */
 
@@ -131,12 +149,57 @@ public class AltosUIEnable extends Container implements ChangeListener {
                c.insets = il;
                add(imperial_units, c);
 
-               speed_filter_label = new JLabel("Speed Filter(ms)");
+               show_shapes = new JCheckBox("Show Markers", false);
+               show_shapes.addActionListener(new ActionListener() {
+                               public void actionPerformed(ActionEvent e) {
+                                       JCheckBox item = (JCheckBox) e.getSource();
+                                       boolean enabled = item.isSelected();
+                                       set_shapes_visible(enabled);
+                               }
+                       });
+               show_shapes.setToolTipText("Show marker Use Imperial units instead of metric");
                c = new GridBagConstraints();
                c.gridx = 0; c.gridy = 1001;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.LINE_START;
                c.insets = il;
+               add(show_shapes, c);
+
+
+               line_width_label = new JLabel("Line Width");
+               c = new GridBagConstraints();
+               c.gridx = 1; c.gridy = 1001;
+               c.fill = GridBagConstraints.NONE;
+               c.anchor = GridBagConstraints.LINE_START;
+               c.insets = il;
+               add(line_width_label, c);
+
+               line_width = new JSpinner();
+               line_width.setValue(new Integer(1));
+               line_width.addChangeListener(new ChangeListener() {
+                               public void stateChanged(ChangeEvent e) {
+                                       int w = (Integer) line_width.getValue();
+                                       if (w < 1) {
+                                               w = 1;
+                                               line_width.setValue(new Integer(w));
+                                       }
+                                       System.out.printf("line width set to %d\n", w);
+                                       set_line_width(w);
+                               }
+                       });
+               c = new GridBagConstraints();
+               c.gridx = 2; c.gridy = 1001;
+               c.fill = GridBagConstraints.NONE;
+               c.anchor = GridBagConstraints.LINE_START;
+               c.insets = il;
+               add(line_width, c);
+
+               speed_filter_label = new JLabel("Speed Filter(ms)");
+               c = new GridBagConstraints();
+               c.gridx = 0; c.gridy = 1002;
+               c.fill = GridBagConstraints.NONE;
+               c.anchor = GridBagConstraints.LINE_START;
+               c.insets = il;
                add(speed_filter_label, c);
 
                speed_filter = new JSlider(JSlider.HORIZONTAL, 0, 10000, (int) (filter_listener.speed_filter() * 1000.0));
@@ -154,7 +217,7 @@ public class AltosUIEnable extends Container implements ChangeListener {
                speed_filter.addChangeListener(this);
 
                c = new GridBagConstraints();
-               c.gridx = 1; c.gridy = 1001;
+               c.gridx = 1; c.gridy = 1002;
                c.gridwidth = 1000; c.gridheight = 1;
                c.fill = GridBagConstraints.BOTH;
                c.anchor = GridBagConstraints.LINE_START;
@@ -163,7 +226,7 @@ public class AltosUIEnable extends Container implements ChangeListener {
 
                accel_filter_label = new JLabel("Acceleration Filter(ms)");
                c = new GridBagConstraints();
-               c.gridx = 0; c.gridy = 1002;
+               c.gridx = 0; c.gridy = 1003;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.LINE_START;
                c.insets = il;
@@ -180,7 +243,7 @@ public class AltosUIEnable extends Container implements ChangeListener {
                accel_filter.addChangeListener(this);
 
                c = new GridBagConstraints();
-               c.gridx = 1; c.gridy = 1002;
+               c.gridx = 1; c.gridy = 1003;
                c.gridwidth = 1000; c.gridheight = 1;
                c.fill = GridBagConstraints.BOTH;
                c.anchor = GridBagConstraints.LINE_START;