in src/org/pushingpixels/lightbeam/panels/CombosPanel.java [220:263]
public PerformanceScenario getToggleEditableScenario() {
return new BaseComboBoxPerformanceScenario() {
Map<JComboBox, Boolean> origEditableMap;
@Override
public String getName() {
return "Toggling editable on comboboxes";
}
@Override
public int getIterationCount() {
return 10;
}
@Override
public void setup() {
super.setup();
this.origEditableMap = new HashMap<JComboBox, Boolean>();
for (JComboBox combo : this.controls) {
this.origEditableMap.put(combo, combo.isEditable());
}
}
@Override
public void tearDown() {
for (JComboBox combo : this.controls) {
combo.setEditable(this.origEditableMap.get(combo));
}
this.origEditableMap.clear();
super.tearDown();
}
@Override
public void runSingleIteration(int iterationNumber) {
int startInd = this.flipCount * iterationNumber;
int endInd = startInd + this.flipCount;
for (int i = startInd; i < endInd; i++) {
JComboBox combo = this.controls.get(this.perms[i]);
combo.setEditable(!combo.isEditable());
}
paintImmediately(new Rectangle(0, 0, getWidth(), getHeight()));
}
};
}