public PerformanceScenario getToggleEditableScenario()

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()));
			}
		};
	}