Index: frontend/client/src/autotest/common/ui/RadioChooser.java |
diff --git a/frontend/client/src/autotest/common/ui/RadioChooser.java b/frontend/client/src/autotest/common/ui/RadioChooser.java |
index 24d2331bc6f576538f161890d4842e909e20860c..fabe2e1a384e01b568294cbc1969c148494989b8 100644 |
--- a/frontend/client/src/autotest/common/ui/RadioChooser.java |
+++ b/frontend/client/src/autotest/common/ui/RadioChooser.java |
@@ -1,51 +1,50 @@ |
package autotest.common.ui; |
-import com.google.gwt.user.client.ui.Composite; |
-import com.google.gwt.user.client.ui.HorizontalPanel; |
-import com.google.gwt.user.client.ui.Panel; |
-import com.google.gwt.user.client.ui.RadioButton; |
+import autotest.afe.IRadioButton; |
import java.util.ArrayList; |
import java.util.List; |
-public class RadioChooser extends Composite { |
+public class RadioChooser { |
+ public static interface Display { |
+ public IRadioButton generateRadioButton(String groupName, String choice); |
+ } |
+ |
private static int groupNameCounter = 0; |
- |
- private List<RadioButton> radioButtons = new ArrayList<RadioButton>(); |
- private RadioButton defaultButton; |
- private Panel container = new HorizontalPanel(); |
private String groupName = getFreshGroupName(); |
- |
- public RadioChooser() { |
- initWidget(container); |
- setStyleName("radio-chooser"); |
+ private List<IRadioButton> radioButtons = new ArrayList<IRadioButton>(); |
+ private IRadioButton defaultButton; |
+ |
+ private Display display; |
+ |
+ public void bindDisplay(Display display) { |
+ this.display = display; |
} |
- |
+ |
private static String getFreshGroupName() { |
groupNameCounter++; |
return "group" + Integer.toString(groupNameCounter); |
} |
- |
+ |
public void addChoice(String choice) { |
- RadioButton button = new RadioButton(groupName, choice); |
+ IRadioButton button = display.generateRadioButton(groupName, choice); |
if (radioButtons.isEmpty()) { |
// first button in this group |
defaultButton = button; |
button.setValue(true); |
} |
radioButtons.add(button); |
- container.add(button); |
} |
- |
+ |
public String getSelectedChoice() { |
- for (RadioButton button : radioButtons) { |
+ for (IRadioButton button : radioButtons) { |
if (button.getValue()) { |
return button.getText(); |
} |
} |
throw new RuntimeException("No radio button selected"); |
} |
- |
+ |
public void reset() { |
if (defaultButton != null) { |
defaultButton.setValue(true); |
@@ -59,9 +58,9 @@ public class RadioChooser extends Composite { |
public void setSelectedChoice(String choice) { |
findButtonForChoice(choice).setValue(true); |
} |
- |
- private RadioButton findButtonForChoice(String choice) { |
- for (RadioButton button : radioButtons) { |
+ |
+ private IRadioButton findButtonForChoice(String choice) { |
+ for (IRadioButton button : radioButtons) { |
if (button.getText().equals(choice)) { |
return button; |
} |