X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosuilib%2FAltosUIEnable.java;h=74de4bf556e769ee59aa15f0d2d3bda128cf6f05;hb=HEAD;hp=4bd07c52fa5df3f66d887f9b582b0c44ca2b3771;hpb=98dc29a7a964f8d653b73989c6751695d168844c;p=fw%2Faltos diff --git a/altosuilib/AltosUIEnable.java b/altosuilib/AltosUIEnable.java index 4bd07c52..38069301 100644 --- a/altosuilib/AltosUIEnable.java +++ b/altosuilib/AltosUIEnable.java @@ -16,7 +16,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altosuilib_12; +package org.altusmetrum.altosuilib_14; 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_14.*; 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,18 +149,62 @@ 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(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(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)); Hashtable label_table = new Hashtable(); for (int i = 0; i <= 10000; i += 5000) { - label_table.put(new Integer(i), new JLabel(String.format("%d", i))); + label_table.put(i, new JLabel(String.format("%d", i))); } speed_filter.setPaintTicks(true); speed_filter.setMajorTickSpacing(1000); @@ -154,7 +216,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 +225,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 +242,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;