in src/org/pushingpixels/lightbeam/panels/ButtonsPanel.java [348:391]
public PerformanceScenario getToggleSelectionScenario() {
return new BaseButtonPerformanceScenario() {
Map<AbstractButton, Boolean> origToggleMap;
@Override
public String getName() {
return "Toggling selection on buttons";
}
@Override
public int getIterationCount() {
return 10;
}
@Override
public void setup() {
super.setup();
this.origToggleMap = new HashMap<AbstractButton, Boolean>();
for (AbstractButton button : this.controls) {
this.origToggleMap.put(button, button.isSelected());
}
}
@Override
public void tearDown() {
for (AbstractButton button : this.controls) {
button.setSelected(this.origToggleMap.get(button));
}
this.origToggleMap.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.setSelected(!button.isSelected());
}
paintImmediately(new Rectangle(0, 0, getWidth(), getHeight()));
}
};
}