List of usage examples for org.eclipse.jface.preference FieldEditor FieldEditor
protected FieldEditor()
From source file:org.eclipse.eatop.workspace.ui.preferences.EastADLPreferencePage.java
License:Open Source License
private void addLoadingGroup(Composite parent) { fLoadingGroup = new Group(parent, SWT.NONE); fLoadingGroup.setText(EastADLPreferenceMessages.EastADLPreferencePage_loadingGroupText); GridLayout gridLayout = new GridLayout(2, false); gridLayout.verticalSpacing = convertVerticalDLUsToPixels(6); GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, false); gridData.horizontalSpan = 2;// w ww .j a va 2s . c om fSchemaValidationField = new BooleanFieldEditorEx(IEastADLPreferenceConstants.PREF_XSD_VALIDATION_ON_LOAD, EastADLPreferenceMessages.EastADLPreferencePage_schemaValidationFieldLabel, BooleanFieldEditor.DEFAULT, fLoadingGroup); addField(fSchemaValidationField); fCacheResources = new BooleanFieldEditorEx(IEastADLPreferenceConstants.PREF_USE_BINARY_RESOURCE, EastADLPreferenceMessages.EastADLPreferencePage_useBinaryResources, BooleanFieldEditor.DEFAULT, fLoadingGroup); addField(fCacheResources); fClearCache = new FieldEditor() { { createControl(fLoadingGroup); } private Button button; @Override protected void adjustForNumColumns(int numColumns) { if (button != null) { ((GridData) button.getLayoutData()).horizontalSpan = numColumns; } } @Override protected void doFillIntoGrid(Composite parent, int numColumns) { button = getChangeControl(parent); GridData gd = new GridData(); gd.horizontalSpan = numColumns; button.setLayoutData(gd); } @Override protected void doLoad() { } @Override protected void doLoadDefault() { } @Override protected void doStore() { } @Override public int getNumberOfControls() { return 2; } protected Button getChangeControl(Composite parent) { if (button == null) { button = new Button(parent, SWT.PUSH | SWT.CENTER); button.setText("Clear cache"); //$NON-NLS-1$ button.setFont(parent.getFont()); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { try { IWorkbench wb = PlatformUI.getWorkbench(); IProgressService ps = wb.getProgressService(); ps.busyCursorWhile(new IRunnableWithProgress() { @Override public void run(IProgressMonitor monitor) { EastADLXMLResourceImpl.clearCache(monitor); } }); } catch (Exception ex) { PlatformLogUtil.logAsError(Activator.getPlugin(), ex); } } }); button.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent event) { button = null; } }); } else { checkParent(button, parent); } return button; } @Override public void setEnabled(boolean enabled, Composite parent) { if (button != null) { button.setEnabled(enabled); button.redraw(); } }; }; addField(fClearCache); shemaValidationSeverityEditorParent = new Composite(fLoadingGroup, SWT.NULL); fShemaValidationSeverityEditor = new RadioGroupFieldEditor( IEastADLPreferenceConstants.PREF_XSD_VALIDATION_SEVERITY_LEVEL, EastADLPreferenceMessages.EastADLPreferencePage_schemaValidationSeverityLevel, 3, new String[][] { { EastADLPreferenceMessages.EastADLPreferencePage_ErrorLabel, Integer.toString(IEastADLPreferenceConstants.SEVERITY_ERROR) }, { EastADLPreferenceMessages.EastADLPreferencePage_WarningLabel, Integer.toString(IEastADLPreferenceConstants.SEVERITY_WARNING) }, { EastADLPreferenceMessages.EastADLPreferencePage_InfoLabel, Integer.toString(IEastADLPreferenceConstants.SEVERITY_INFO) } }, shemaValidationSeverityEditorParent); addField(fShemaValidationSeverityEditor); fProblemIndicationField = new BooleanFieldEditorEx( IEastADLPreferenceConstants.PREF_LIMIT_PROBLEM_INDICATION_ON_LOAD, EastADLPreferenceMessages.EastADLPreferencePage_problemIndicationFieldLabel, BooleanFieldEditor.DEFAULT, fLoadingGroup); fProblemIndicationField.getChangeControl(fLoadingGroup).addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { updateMaxProblemEditor(); } }); addField(fProblemIndicationField); fMaxProblemEditor = new IntegerFieldEditor(IEastADLPreferenceConstants.PREF_MAX_PROBLEM_REPORTED_ON_LOAD, EastADLPreferenceMessages.EastADLPreferencePage_maxProblemEditorlabel, fLoadingGroup); fMaxProblemEditor.setValidRange(0, 1000); addField(fMaxProblemEditor); fMaxProblemEditor.setEnabled( getPreferenceStore().getBoolean(IEastADLPreferenceConstants.PREF_LIMIT_PROBLEM_INDICATION_ON_LOAD), fLoadingGroup); fLoadingGroup.setLayoutData(gridData); fLoadingGroup.setLayout(gridLayout); Dialog.applyDialogFont(fLoadingGroup); }