summaryrefslogtreecommitdiff
path: root/altosuilib/AltosUIEnable.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-10-04 13:43:45 -0700
committerKeith Packard <keithp@keithp.com>2017-10-04 13:43:45 -0700
commit2f779d318753b73463f7166977453ab5533e5921 (patch)
tree35c62d27a36ce90a3e5789cf9bbc3b9e85e197af /altosuilib/AltosUIEnable.java
parent730ee7bf91f607ece42c010a10c53d0013492b96 (diff)
altosuilib: Add 'show marker' button to graphs
Provides a marker at each actual data point which can be useful for sparse data sets like telemetry with poor reception. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosuilib/AltosUIEnable.java')
-rw-r--r--altosuilib/AltosUIEnable.java37
1 files changed, 33 insertions, 4 deletions
diff --git a/altosuilib/AltosUIEnable.java b/altosuilib/AltosUIEnable.java
index 4bd07c52..ed1e6c53 100644
--- a/altosuilib/AltosUIEnable.java
+++ b/altosuilib/AltosUIEnable.java
@@ -43,11 +43,13 @@ public class AltosUIEnable extends Container implements ChangeListener {
int y;
int x;
JCheckBox imperial_units;
+ JCheckBox show_shapes;
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 +113,16 @@ 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 register_shape_listener(AltosShapeListener shape_listener) {
+ this.shape_listener = shape_listener;
+ }
+
public void add_units() {
/* Imperial units setting */
@@ -131,12 +143,29 @@ 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);
+
+
+ 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 +183,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 +192,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 +209,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;