in src/org/pushingpixels/lightbeam/panels/ButtonsPanel.java [394:437]
public PerformanceScenario getToggleEnabledScenario() {
return new BaseButtonPerformanceScenario() {
Map<AbstractButton, Boolean> origEnabledMap;
@Override
public String getName() {
return "Toggling enabled on buttons";
}
@Override
public int getIterationCount() {
return 10;
}
@Override
public void setup() {
super.setup();
this.origEnabledMap = new HashMap<AbstractButton, Boolean>();
for (AbstractButton button : this.controls) {
this.origEnabledMap.put(button, button.isEnabled());
}
}
@Override
public void tearDown() {
for (AbstractButton button : this.controls) {
button.setEnabled(this.origEnabledMap.get(button));
}
this.origEnabledMap.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++) {
AbstractButton button = this.controls.get(this.perms[i]);
button.setEnabled(!button.isEnabled());
}
paintImmediately(new Rectangle(0, 0, getWidth(), getHeight()));
}
};
}