1package autotest.afe;
2
3import java.util.ArrayList;
4import java.util.List;
5
6public class CheckBoxPanel {
7    public static interface Display {
8        public ICheckBox generateCheckBox(int index);
9    }
10
11    private List<ICheckBox> checkBoxes = new ArrayList<ICheckBox>();
12    private Display display;
13
14    public void bindDisplay(Display display) {
15        this.display = display;
16    }
17
18    public ICheckBox generateCheckBox() {
19        return display.generateCheckBox(checkBoxes.size());
20    }
21
22    public void add(ICheckBox checkBox) {
23        checkBoxes.add(checkBox);
24    }
25
26    public List<ICheckBox> getChecked() {
27        List<ICheckBox> result = new ArrayList<ICheckBox>();
28        for(ICheckBox checkBox : checkBoxes) {
29            if (checkBox.getValue()) {
30                result.add(checkBox);
31            }
32        }
33        return result;
34    }
35
36    public void setEnabled(boolean enabled) {
37        for(ICheckBox thisBox : checkBoxes) {
38            thisBox.setEnabled(enabled);
39        }
40    }
41
42    public void reset() {
43        for (ICheckBox thisBox : checkBoxes) {
44            thisBox.setValue(false);
45        }
46    }
47}
48