Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Eclipse Plug-in Developer Guide
Previous Page Home Next Page

Field editors

The implementation of a preference page is primarily SWT code.  SWT code is used to create the preference page controls, set the values of the controls, and retrieve the values of the controls. The org.eclipse.jface.preference package provides helper classes, called field editors, that create the widgets and implement the value setting and retrieval code for the most common preference types. The platform provides field editors for displaying and updating many value types, including booleans, colors, strings, integers, fonts, and file names.

FieldEditorPreferencePage implements a page that uses these field editors to display and store the preference values on the page.  Instead of creating SWT controls to fill its contents, a FieldEditorPreferencePage subclass creates field editors to display the contents.  All of the fields on the page must be implemented as field editors.  The following is a snippet from the debug UI preferences page:

protected void createFieldEditors() {
	addField(new BooleanFieldEditor(IDebugUIConstants.PREF_BUILD_BEFORE_LAUNCH, 
		DebugPreferencesMessages.getString("DebugPreferencePage.auto_build_before_launch"), 
		SWT.NONE, getFieldEditorParent())); 
	...	
	String[][] perspectiveNamesAndIds = getPerspectiveNamesAndIds();
	addField(new ComboFieldEditor(IDebugUIConstants.PREF_SHOW_DEBUG_PERSPECTIVE_DEFAULT,
		DebugPreferencesMessages.getString("DebugPreferencePage.Default_perspective_for_Debug_2"), //$NON-NLS-1$
		perspectiveNamesAndIds,
		getFieldEditorParent()));
	...
}

Each field editor is assigned the name of its corresponding preference key and the text label for the SWT control that it will create. The kind of control created depends on the type of field editor. For example, a boolean field editor creates a checkbox.

Since the preference page is associated with a preference store (specified in the doGetPreferenceStore method), the code for storing the current values, for initializing the control values from the preference store, and for restoring the controls to their default values can all be implemented in the FieldEditorPreferencePage .

The FieldEditorPreferencePage will use a grid layout with one column as the default layout for field editor widgets.  For special layout requirements, you can override the createContents method.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire