altosuilib: New line styles and colors for graphs. Selectable line width
[fw/altos] / altosuilib / AltosUIEnable.java
index ed1e6c53b87b029eb4658bde94f7d02310c10902..851e831f43c8cd952d5df755c6e4b00853afab0d 100644 (file)
@@ -44,6 +44,8 @@ public class AltosUIEnable extends Container implements ChangeListener {
        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;
@@ -114,11 +116,15 @@ public class AltosUIEnable extends Container implements ChangeListener {
        }
 
        public void set_shapes_visible(boolean visible) {
-               System.out.printf("set shapes %b\n", 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;
        }
@@ -160,6 +166,34 @@ public class AltosUIEnable extends Container implements ChangeListener {
                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;