From f65880cf5bfcba5005c32db2b300448e585f3e45 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 20 Dec 2013 19:39:40 -0800 Subject: [PATCH 1/1] altosuilib: Rearrange graph enable buttons Eliminate separate 'enable' radio button, provide for multiple columns Signed-off-by: Keith Packard --- altosuilib/AltosUIEnable.java | 37 ++++++++++++++--------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/altosuilib/AltosUIEnable.java b/altosuilib/AltosUIEnable.java index 84803c0e..36885611 100644 --- a/altosuilib/AltosUIEnable.java +++ b/altosuilib/AltosUIEnable.java @@ -39,10 +39,12 @@ public class AltosUIEnable extends Container { Insets il, ir; int y; + int x; + + static final int max_rows = 14; class GraphElement implements ActionListener { AltosUIGrapher grapher; - JLabel label; JRadioButton enable; String name; @@ -53,8 +55,7 @@ public class AltosUIEnable extends Container { GraphElement (String name, AltosUIGrapher grapher, boolean enabled) { this.name = name; this.grapher = grapher; - label = new JLabel(name); - enable = new JRadioButton("Enable", enabled); + enable = new JRadioButton(name, enabled); grapher.set_enable(enabled); enable.addActionListener(this); } @@ -63,18 +64,11 @@ public class AltosUIEnable extends Container { public void add(String name, AltosUIGrapher grapher, boolean enabled) { GraphElement e = new GraphElement(name, grapher, enabled); - - /* Add label */ GridBagConstraints c = new GridBagConstraints(); - c.gridx = 0; c.gridy = y; - c.fill = GridBagConstraints.NONE; - c.anchor = GridBagConstraints.LINE_START; - c.insets = il; - add(e.label, c); - /* Add radio button */ + /* Add element */ c = new GridBagConstraints(); - c.gridx = 1; c.gridy = y; + c.gridx = x; c.gridy = y; c.fill = GridBagConstraints.HORIZONTAL; c.anchor = GridBagConstraints.CENTER; c.insets = ir; @@ -82,19 +76,17 @@ public class AltosUIEnable extends Container { /* Next row */ y++; + if (y == max_rows) { + x++; + y = 0; + } } public void add_units() { /* Imperial units setting */ - /* Add label */ - GridBagConstraints c = new GridBagConstraints(); - c.gridx = 0; c.gridy = 1000; - c.fill = GridBagConstraints.NONE; - c.anchor = GridBagConstraints.LINE_START; - c.insets = il; - add(new JLabel("Imperial Units"), c); - JRadioButton imperial_units = new JRadioButton("Enable", AltosUIPreferences.imperial_units()); + /* Add label */ + JRadioButton imperial_units = new JRadioButton("Imperial Units", AltosUIPreferences.imperial_units()); imperial_units.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JRadioButton item = (JRadioButton) e.getSource(); @@ -103,8 +95,8 @@ public class AltosUIEnable extends Container { } }); imperial_units.setToolTipText("Use Imperial units instead of metric"); - c = new GridBagConstraints(); - c.gridx = 1; c.gridy = 1000; + GridBagConstraints c = new GridBagConstraints(); + c.gridx = 0; c.gridy = 1000; c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.LINE_START; c.insets = il; @@ -114,6 +106,7 @@ public class AltosUIEnable extends Container { public AltosUIEnable() { il = new Insets(4,4,4,4); ir = new Insets(4,4,4,4); + x = 0; y = 0; setLayout(new GridBagLayout()); add_units(); -- 2.30.2