From ea6ff1b233cf4d0bae031d029bddb0dddb17c20e Mon Sep 17 00:00:00 2001 From: Scott Fennell Date: Thu, 6 Feb 2020 12:19:55 -0600 Subject: [PATCH] fix TV bug where you could not convert multiple variables at the same time, also add set units field closes #940 --- .../src/main/java/trick/tv/TVApplication.java | 33 +++++++++++++++++++ .../src/main/java/trick/tv/VariableTable.java | 1 - 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/trick_source/java/src/main/java/trick/tv/TVApplication.java b/trick_source/java/src/main/java/trick/tv/TVApplication.java index f9c28e8e..613e01f8 100644 --- a/trick_source/java/src/main/java/trick/tv/TVApplication.java +++ b/trick_source/java/src/main/java/trick/tv/TVApplication.java @@ -156,6 +156,9 @@ public class TVApplication extends RunTimeTrickApplication implements VariableLi /** field for manually entering variables */ JXTextField manualField; + /** field for manually entering variables */ + JXTextField unitField; + /** check box for toggling Variable Tree visibility */ protected JCheckBoxMenuItem variableTreeCheckBox; @@ -1703,6 +1706,7 @@ public class TVApplication extends RunTimeTrickApplication implements VariableLi }); }}; + constraints.weightx = 1; add(manualField, constraints); constraints.weightx = 0; @@ -1723,8 +1727,37 @@ public class TVApplication extends RunTimeTrickApplication implements VariableLi } } }), constraints); + + constraints = new GridBagConstraints() {{ + gridy = 1; + fill = BOTH; + }}; + + + add(new JXLabel(" Set Units: "), constraints); + + unitField = new JXTextField() {{ + setAction(new AbstractAction() { + { + putValue(SHORT_DESCRIPTION, "Manually change units for all selected rows"); + } + public void actionPerformed(ActionEvent actionEvent) { + try { + variableTable.setValueAt(getText(), 0, 2); + } + catch (IndexOutOfBoundsException indexOutOfBoundsException) { + JOptionPane.showMessageDialog(getMainFrame(), + "No variables selected", "No variables selected", + JOptionPane.ERROR_MESSAGE); + } + } + }); + }}; + constraints.weightx = 1; + add(unitField, constraints); }}; + add(manualPanel, BorderLayout.SOUTH); }}) {{ setName("innerSplitPane"); diff --git a/trick_source/java/src/main/java/trick/tv/VariableTable.java b/trick_source/java/src/main/java/trick/tv/VariableTable.java index e7c2f581..ad8d7ab8 100644 --- a/trick_source/java/src/main/java/trick/tv/VariableTable.java +++ b/trick_source/java/src/main/java/trick/tv/VariableTable.java @@ -431,7 +431,6 @@ public class VariableTable extends JXTable { variable + "\" units to \"" + units + "\""); ioException.printStackTrace(System.err); } - break; } }