You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by se...@apache.org on 2012/12/06 11:05:43 UTC
svn commit: r1417789 - in /jmeter/trunk:
src/core/org/apache/jmeter/gui/util/TristateCheckBox.java
test/src/org/apache/jmeter/gui/util/TristateCheckBoxTest.java
Author: sebb
Date: Thu Dec 6 10:05:42 2012
New Revision: 1417789
URL: http://svn.apache.org/viewvc?rev=1417789&view=rev
Log:
Add tests for original code - which did not use a special icon - for comparison
Bugzilla Id: 54251
Modified:
jmeter/trunk/src/core/org/apache/jmeter/gui/util/TristateCheckBox.java
jmeter/trunk/test/src/org/apache/jmeter/gui/util/TristateCheckBoxTest.java
Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/util/TristateCheckBox.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/util/TristateCheckBox.java?rev=1417789&r1=1417788&r2=1417789&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/gui/util/TristateCheckBox.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/gui/util/TristateCheckBox.java Thu Dec 6 10:05:42 2012
@@ -61,12 +61,21 @@ public final class TristateCheckBox exte
this(text, null, TristateState.DESELECTED);
}
- public TristateCheckBox(String text, Icon icon,
- TristateState initial) {
+ // For testing only at present
+ TristateCheckBox(String text, boolean original) {
+ this(text, null, TristateState.DESELECTED, original);
+ }
+
+ public TristateCheckBox(String text, Icon icon, TristateState initial) {
+ this(text, icon, initial, false);
+ }
+
+ // For testing only at present
+ TristateCheckBox(String text, Icon icon, TristateState initial, boolean original) {
super(text, icon);
//Set default single model
- setModel(new TristateButtonModel(initial, this));
+ setModel(new TristateButtonModel(initial, this, original));
// override action behaviour
super.addMouseListener(new MouseAdapter() {
@@ -148,12 +157,14 @@ public final class TristateCheckBox exte
private TristateState state = TristateState.DESELECTED;
private final TristateCheckBox tristateCheckBox;
private final Icon icon;
+ private final boolean original;
public TristateButtonModel(TristateState initial,
- TristateCheckBox tristateCheckBox) {
+ TristateCheckBox tristateCheckBox, boolean original) {
setState(TristateState.DESELECTED);
this.tristateCheckBox = tristateCheckBox;
icon = new TristateCheckBoxIcon(tristateCheckBox);
+ this.original = original;
}
public void setIndeterminate() {
@@ -211,15 +222,17 @@ public final class TristateCheckBox exte
private void displayState() {
super.setSelected(state != TristateState.DESELECTED);
- // original used:
-// super.setArmed(state == TristateState.INDETERMINATE);
- if (state == TristateState.INDETERMINATE) {
- tristateCheckBox.setIcon(icon); // Needed for all but Nimbus
- tristateCheckBox.setSelectedIcon(icon); // Nimbus works - after a fashion - with this
- } else { // reset
- if (tristateCheckBox!= null){
- tristateCheckBox.setIcon(null);
- tristateCheckBox.setSelectedIcon(null);
+ if (original) {
+ super.setArmed(state == TristateState.INDETERMINATE);
+ } else {
+ if (state == TristateState.INDETERMINATE) {
+ tristateCheckBox.setIcon(icon); // Needed for all but Nimbus
+ tristateCheckBox.setSelectedIcon(icon); // Nimbus works - after a fashion - with this
+ } else { // reset
+ if (tristateCheckBox!= null){
+ tristateCheckBox.setIcon(null);
+ tristateCheckBox.setSelectedIcon(null);
+ }
}
}
super.setPressed(state == TristateState.INDETERMINATE);
Modified: jmeter/trunk/test/src/org/apache/jmeter/gui/util/TristateCheckBoxTest.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/gui/util/TristateCheckBoxTest.java?rev=1417789&r1=1417788&r2=1417789&view=diff
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/gui/util/TristateCheckBoxTest.java (original)
+++ jmeter/trunk/test/src/org/apache/jmeter/gui/util/TristateCheckBoxTest.java Thu Dec 6 10:05:42 2012
@@ -50,7 +50,38 @@ public class TristateCheckBoxTest {
}
private static JPanel makePanel(String name) {
- final TristateCheckBox tristateBox = new TristateCheckBox("Tristate checkbox");
+ final TristateCheckBox tristateBox = new TristateCheckBox("Tristate checkbox (icon)", false);
+ createTristate(tristateBox);
+ final TristateCheckBox tristateBoxorig = new TristateCheckBox("Tristate checkbox (original)", true);
+ createTristate(tristateBoxorig);
+ final JCheckBox normalBox = new JCheckBox("Normal checkbox");
+ normalBox.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ System.out.println(e);
+ }
+ });
+
+ final JCheckBox enabledBox = new JCheckBox("Enable", true);
+ enabledBox.addItemListener(new ItemListener() {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ tristateBox.setEnabled(enabledBox.isSelected());
+ normalBox.setEnabled(enabledBox.isSelected());
+ }
+ });
+
+ JPanel panel = new JPanel(new GridLayout(0, 1, 5, 5));
+ panel.add(new JLabel(name));
+ panel.add(tristateBox);
+ panel.add(tristateBoxorig);
+ panel.add(normalBox);
+ panel.add(enabledBox);
+ return panel;
+ }
+
+ private static void createTristate(final TristateCheckBox tristateBox) {
+ tristateBox.setIndeterminate(); // start in new state
tristateBox.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
@@ -79,28 +110,5 @@ public class TristateCheckBoxTest {
}
}
});
- final JCheckBox normalBox = new JCheckBox("Normal checkbox");
- normalBox.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- System.out.println(e);
- }
- });
-
- final JCheckBox enabledBox = new JCheckBox("Enable", true);
- enabledBox.addItemListener(new ItemListener() {
- @Override
- public void itemStateChanged(ItemEvent e) {
- tristateBox.setEnabled(enabledBox.isSelected());
- normalBox.setEnabled(enabledBox.isSelected());
- }
- });
-
- JPanel panel = new JPanel(new GridLayout(0, 1, 5, 5));
- panel.add(new JLabel(name));
- panel.add(tristateBox);
- panel.add(normalBox);
- panel.add(enabledBox);
- return panel;
}
}
\ No newline at end of file