/** * Creates a combo box and associates the combo data with the combo box. * * @param composite the composite to create the combo box in * @param key the unique key to identify the combo box * @param values the values represented by the combo options * @param valueLabels the values displayed in the combo box * @return the generated combo box */ protected Combo newComboControl( Composite composite, String key, int[] values, String[] valueLabels) { ComboData data = new ComboData(key, values, -1); Combo comboBox = new Combo(composite, SWT.READ_ONLY); comboBox.setItems(valueLabels); comboBox.setData(data); comboBox.addSelectionListener(getSelectionListener()); comboBox.setFont(JFaceResources.getDialogFont()); makeScrollableCompositeAware(comboBox); int severity = -1; if (key != null) severity = fPreferencesService.getInt( getPreferenceNodeQualifier(), key, ValidationMessage.WARNING, createPreferenceScopes()); if (severity == ValidationMessage.ERROR || severity == ValidationMessage.WARNING || severity == ValidationMessage.IGNORE) { data.setSeverity(severity); data.originalSeverity = severity; } if (data.getIndex() >= 0) comboBox.select(data.getIndex()); fCombos.add(comboBox); return comboBox; }
protected void resetSeverities() { IEclipsePreferences defaultContext = new DefaultScope().getNode(getPreferenceNodeQualifier()); for (int i = 0; i < fCombos.size(); i++) { ComboData data = (ComboData) ((Combo) fCombos.get(i)).getData(); int severity = defaultContext.getInt(data.getKey(), ValidationMessage.WARNING); data.setSeverity(severity); ((Combo) fCombos.get(i)).select(data.getIndex()); } }