private FieldEditor getDefaultCombo(String key, String label, Composite parent) { return new ComboFieldEditor(key, label, ERROR_SEVERITIES, parent); }
public void widgetSelected(SelectionEvent evt) { String oldValue = fValue; String name = fCombo.getText(); fValue = getValueForName(name); setPresentsDefaultValue(false); fireValueChanged(VALUE, oldValue, fValue); } });
/** * Create the combo box field editor. * * @param name the name of the preference this field editor works on * @param labelText the label text of the field editor * @param entryNamesAndValues the names (labels) and underlying values to populate the combo widget. These should be * arranged as: { {name1, value1}, {name2, value2}, ...} * @param parent the parent composite */ public ComboFieldEditor(String name, String labelText, String[][] entryNamesAndValues, Composite parent) { init(name, labelText); Assert.isTrue(checkArray(entryNamesAndValues)); fEntryNamesAndValues = entryNamesAndValues; createControl(parent); }
@Override protected void doLoad() { updateComboForValue(getPreferenceStore().getString(getPreferenceName())); }
@Override protected void doStore() { if (fValue == null) { getPreferenceStore().setToDefault(getPreferenceName()); return; } getPreferenceStore().setValue(getPreferenceName(), fValue); }
.applyTo(mergeGroup); mergeGroup.setText(UIText.GitPreferenceRoot_MergeGroupHeader); ComboFieldEditor mergeMode = new ComboFieldEditor( UIPreferences.MERGE_MODE, UIText.GitPreferenceRoot_MergeModeLabel, MERGE_MODE_NAMES_AND_VALUES, mergeGroup); mergeMode.getLabelControl(mergeGroup).setToolTipText( UIText.GitPreferenceRoot_MergeModeTooltip); addField(mergeMode);
private Combo getComboBoxControl(Composite parent) { if (fCombo == null) { fCombo = new Combo(parent, SWT.READ_ONLY); fCombo.setFont(parent.getFont()); for (int i = 0; i < fEntryNamesAndValues.length; i++) { fCombo.add(fEntryNamesAndValues[i][0], i); } fCombo.addSelectionListener(widgetSelectedAdapter(evt -> { String oldValue = fValue; String name = fCombo.getText(); fValue = getValueForName(name); setPresentsDefaultValue(false); fireValueChanged(VALUE, oldValue, fValue); })); } return fCombo; }
protected void doFillIntoGrid(Composite parent, int numColumns) { int comboC = 1; if (numColumns > 1) { comboC = numColumns - 1; } Control control = getLabelControl(parent); GridData gd = new GridData(); gd.horizontalSpan = 1; control.setLayoutData(gd); control = getComboBoxControl(parent); gd = new GridData(); gd.horizontalSpan = comboC; gd.horizontalAlignment = GridData.FILL; control.setLayoutData(gd); control.setFont(parent.getFont()); }
@Override protected void fireValueChanged ( final String property, final Object oldValue, final Object newValue ) { if ( VALUE.equals ( property ) ) { if ( this.callback != null ) { SafeRunner.run ( new SafeRunnable () { @Override public void run () throws Exception { ComboFieldEditor2.this.callback.valueChange ( newValue ); } } ); } } super.fireValueChanged ( property, oldValue, newValue ); }
protected void adjustForNumColumns(int numColumns) { if (numColumns > 1) { Control control = getLabelControl(); int left = numColumns; if (control != null) { ((GridData)control.getLayoutData()).horizontalSpan = 1; left = left - 1; } ((GridData)fCombo.getLayoutData()).horizontalSpan = left; } else { Control control = getLabelControl(); if (control != null) { ((GridData)control.getLayoutData()).horizontalSpan = 1; } ((GridData)fCombo.getLayoutData()).horizontalSpan = 1; } }
@Override public void setEnabled(boolean enabled, Composite parent) { super.setEnabled(enabled, parent); getComboBoxControl(parent).setEnabled(enabled); } }
@Override protected void doLoadDefault() { updateComboForValue(getPreferenceStore().getDefaultString(getPreferenceName())); }
@Override protected void doFillIntoGrid(Composite parent, int numColumns) { int comboC = 1; if (numColumns > 1) { comboC = numColumns - 1; } Control control = getLabelControl(parent); GridData gd = new GridData(); gd.horizontalSpan = 1; control.setLayoutData(gd); control = getComboBoxControl(parent); gd = new GridData(); gd.horizontalSpan = comboC; gd.horizontalAlignment = GridData.FILL; control.setLayoutData(gd); control.setFont(parent.getFont()); }
protected void doStore() { if (fValue == null) { getPreferenceStore().setToDefault(getPreferenceName()); return; } getPreferenceStore().setValue(getPreferenceName(), fValue); }
@Override protected void fireValueChanged ( final String property, final Object oldValue, final Object newValue ) { if ( VALUE.equals ( property ) ) { if ( this.callback != null ) { SafeRunner.run ( new SafeRunnable () { @Override public void run () throws Exception { ComboFieldEditor2.this.callback.valueChange ( newValue ); } } ); } } super.fireValueChanged ( property, oldValue, newValue ); }
@Override protected void adjustForNumColumns(int numColumns) { if (numColumns > 1) { Control control = getLabelControl(); int left = numColumns; if (control != null) { ((GridData)control.getLayoutData()).horizontalSpan = 1; left = left - 1; } ((GridData)fCombo.getLayoutData()).horizontalSpan = left; } else { Control control = getLabelControl(); if (control != null) { ((GridData)control.getLayoutData()).horizontalSpan = 1; } ((GridData)fCombo.getLayoutData()).horizontalSpan = 1; } }
@Override public void setEnabled(boolean enabled, Composite parent) { super.setEnabled(enabled, parent); getComboBoxControl(parent).setEnabled(enabled); } }
@Override protected void createFieldEditors () { final List<String> tzs = Arrays.asList ( TimeZone.getAvailableIDs () ); Collections.sort ( tzs ); final String[][] entries = new String[tzs.size ()][2]; int i = 0; for ( final String id : tzs ) { entries[i][0] = id; entries[i][1] = id; i += 1; } final FieldEditor field = new ComboFieldEditor ( "timeZone", Messages.TimeZonePreferencePage_TimeZone_Label, entries, getFieldEditorParent () ); //$NON-NLS-1$ addField ( field ); }
protected void doLoad() { updateComboForValue(getPreferenceStore().getString(getPreferenceName())); }
/** * Create the combo box field editor. * * @param name the name of the preference this field editor works on * @param labelText the label text of the field editor * @param entryNamesAndValues the names (labels) and underlying values to populate the combo widget. These should be * arranged as: { {name1, value1}, {name2, value2}, ...} * @param parent the parent composite */ public ComboFieldEditor(String name, String labelText, String[][] entryNamesAndValues, Composite parent) { init(name, labelText); Assert.isTrue(checkArray(entryNamesAndValues)); fEntryNamesAndValues = entryNamesAndValues; createControl(parent); }