Class PreferencePage
- All Implemented Interfaces:
IDialogPage
,IMessageProvider
,IPreferencePage
- Direct Known Subclasses:
ActivitiesPreferencePage
,ActivityCategoryPreferencePage
,ComparePreferencePage
,FieldEditorPreferencePage
,PropertyPage
,RepositoryManipulationPage
,RootScopePage
,TemplatePreferencePage
Subclasses must implement the createContents
framework
method to supply the page's main control.
Subclasses should extend the doComputeSize
framework
method to compute the size of the page's control.
Subclasses may override the performOk
, performApply
,
performDefaults
, performCancel
, and performHelp
framework methods to react to the standard button events.
Subclasses may call the noDefaultAndApplyButton
framework
method before the page's control has been created to suppress
the standard Apply and Defaults buttons.
-
Field Summary
Fields inherited from interface org.eclipse.jface.dialogs.IMessageProvider
ERROR, INFORMATION, NONE, WARNING
-
Constructor Summary
ModifierConstructorDescriptionprotected
Creates a new preference page with an empty title and no image.protected
PreferencePage
(String title) Creates a new preference page with the given title and no image.protected
PreferencePage
(String title, ImageDescriptor image) Creates a new abstract preference page with the given title and image. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Applies the given data to this page.protected void
applyDialogFont
(Composite composite) Apply the dialog font to the composite and it's children if it is set.Computes the size for this page's UI control.protected void
contributeButtons
(Composite parent) Contributes additional buttons to the given composite.protected abstract Control
createContents
(Composite parent) Creates and returns the SWT control for the customized body of this preference page under the given parent composite.void
createControl
(Composite parent) ThePreferencePage
implementation of thisIDialogPage
method creates a description label and button bar for the page.protected Label
createDescriptionLabel
(Composite parent) Creates and returns an SWT label under the given composite.protected Composite
createNoteComposite
(Font font, Composite composite, String title, String message) Creates a composite with a highlighted Note entry and a message text.protected Point
Computes the size needed by this page's UI control.protected IPreferenceStore
Returns the preference store of this preference page.protected Button
Returns the Apply button.Returns the container of this page.protected Button
Returns the Restore Defaults button.Returns the preference store of this preference page.boolean
isValid()
The preference page implementation of anIPreferencePage
method returns whether this preference page is valid.protected void
Suppresses creation of the standard Default and Apply buttons for this page.protected void
Suppress creation of the standard Default button for this page.boolean
ThePreferencePage
implementation of thisIPreferencePage
method returnstrue
if the page is valid.protected void
Performs special processing when this page's Apply button has been pressed.boolean
The preference page implementation of anIPreferencePage
method performs special processing when this page's Cancel button has been pressed.protected void
Performs special processing when this page's Defaults button has been pressed.void
This default implementation of anIDialogPage
method does nothing.boolean
Notifies that the OK button of this page's container has been pressed.void
setContainer
(IPreferencePageContainer container) Sets or clears the container of this page.void
setErrorMessage
(String newMessage) Sets or clears the error message for this page.void
setMessage
(String newMessage, int newType) Sets the message for this page with an indication of what type of message it is.void
Sets the preference store for this preference page.void
Sets the size of this page's UI component.void
ThePreferencePage
implementation of thisIDialogPage
method extends theDialogPage
implementation to update the preference page container title.void
setValid
(boolean b) Sets whether this page is valid.toString()
protected void
Updates the enabled state of the Apply button to reflect whether this page is valid.Methods inherited from class org.eclipse.jface.dialogs.DialogPage
convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, dispose, getControl, getDescription, getDialogFontName, getErrorMessage, getFont, getImage, getMessage, getMessageType, getShell, getTitle, getToolTipText, initializeDialogUnits, isControlCreated, setButtonLayoutData, setControl, setDescription, setImageDescriptor, setMessage, setVisible
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.jface.dialogs.IDialogPage
dispose, getControl, getDescription, getErrorMessage, getImage, getMessage, getTitle, setDescription, setImageDescriptor, setVisible
-
Constructor Details
-
PreferencePage
protected PreferencePage()Creates a new preference page with an empty title and no image. -
PreferencePage
Creates a new preference page with the given title and no image.- Parameters:
title
- the title of this preference page
-
PreferencePage
Creates a new abstract preference page with the given title and image.- Parameters:
title
- the title of this preference pageimage
- the image for this preference page, ornull
if none
-
-
Method Details
-
computeSize
Computes the size for this page's UI control.The default implementation of this
IPreferencePage
method returns the size set bysetSize
; if no size has been set, but the page has a UI control, the framework methoddoComputeSize
is called to compute the size.- Specified by:
computeSize
in interfaceIPreferencePage
- Returns:
- the size of the preference page encoded as
new Point(width,height)
, or(0,0)
if the page doesn't currently have any UI component
-
contributeButtons
Contributes additional buttons to the given composite.The default implementation of this framework hook method does nothing. Subclasses should override this method to contribute buttons to this page's button bar. For each button a subclass contributes, it must also increase the parent's grid layout number of columns by one; that is,
((GridLayout) parent.getLayout()).numColumns++);
- Parameters:
parent
- the button bar
-
createContents
Creates and returns the SWT control for the customized body of this preference page under the given parent composite.This framework method must be implemented by concrete subclasses. Any subclass returning a
Composite
object whoseLayout
has default margins (for example, aGridLayout
) is expected to set the margins of thisLayout
to 0 pixels.- Parameters:
parent
- the parent composite- Returns:
- the new control
-
createControl
ThePreferencePage
implementation of thisIDialogPage
method creates a description label and button bar for the page. It callscreateContents
to create the custom contents of the page.If a subclass that overrides this method creates a
Composite
that has a layout with default margins (for example, aGridLayout
) it is expected to set the margins of thisLayout
to 0 pixels.- Specified by:
createControl
in interfaceIDialogPage
- Parameters:
parent
- the parent composite- See Also:
-
applyDialogFont
Apply the dialog font to the composite and it's children if it is set. Subclasses may override if they wish to set the font themselves.- Parameters:
composite
- the composite to apply the font to. Font will also be applied to its children. If the control isnull
nothing happens.
-
createDescriptionLabel
Creates and returns an SWT label under the given composite.- Parameters:
parent
- the parent composite- Returns:
- the new label
-
doComputeSize
Computes the size needed by this page's UI control.All pages should override this method and set the appropriate sizes of their widgets, and then call
super.doComputeSize
.- Returns:
- the size of the preference page encoded as
new Point(width,height)
-
doGetPreferenceStore
Returns the preference store of this preference page.This is a framework hook method for subclasses to return a page-specific preference store. The default implementation returns
null
.- Returns:
- the preference store, or
null
if none
-
getContainer
Returns the container of this page.- Returns:
- the preference page container, or
null
if this page has yet to be added to a container
-
getPreferenceStore
Returns the preference store of this preference page.- Returns:
- the preference store , or
null
if none
-
isValid
public boolean isValid()The preference page implementation of anIPreferencePage
method returns whether this preference page is valid. Preference pages are considered valid by default; callsetValid(false)
to make a page invalid.- Specified by:
isValid
in interfaceIPreferencePage
- Returns:
true
if the page is in a valid state, andfalse
if invalid- See Also:
-
noDefaultAndApplyButton
protected void noDefaultAndApplyButton()Suppresses creation of the standard Default and Apply buttons for this page.Subclasses wishing a preference page without these buttons should call this framework method before the page's control has been created.
-
noDefaultButton
protected void noDefaultButton()Suppress creation of the standard Default button for this page.Subclasses wishing a preference page with this button should call this framework method before the page's control has been created.
- Since:
- 3.11
-
okToLeave
public boolean okToLeave()ThePreferencePage
implementation of thisIPreferencePage
method returnstrue
if the page is valid.- Specified by:
okToLeave
in interfaceIPreferencePage
- Returns:
false
to abort page flipping and the have the current page remain visible, andtrue
to allow the page flip- See Also:
-
performApply
protected void performApply()Performs special processing when this page's Apply button has been pressed.This is a framework hook method for subclasses to do special things when the Apply button has been pressed. The default implementation of this framework method simply calls
performOk
to simulate the pressing of the page's OK button.- See Also:
-
performCancel
public boolean performCancel()The preference page implementation of anIPreferencePage
method performs special processing when this page's Cancel button has been pressed.This is a framework hook method for subclasses to do special things when the Cancel button has been pressed. The default implementation of this framework method does nothing and returns
true
.Note that UI guidelines on different platforms disagree on whether Cancel should revert changes that have been applied with the Apply button. Windows wants applied changes to persist on Cancel, whereas Mac and GTK consider Apply a preview that should not be saved on Cancel. Eclipse applications typically adhere to the Windows guidelines and just override
performOk()
and save preferences there.- Specified by:
performCancel
in interfaceIPreferencePage
- Returns:
false
to abort the container's cancel procedure andtrue
to allow the cancel to happen- See Also:
-
performDefaults
protected void performDefaults()Performs special processing when this page's Defaults button has been pressed.This is a framework hook method for subclasses to do special things when the Defaults button has been pressed. Subclasses may override, but should call
super.performDefaults
. -
performOk
public boolean performOk()Description copied from interface:IPreferencePage
Notifies that the OK button of this page's container has been pressed.- Specified by:
performOk
in interfaceIPreferencePage
- Returns:
false
to abort the container's OK processing andtrue
to allow the OK to happen
-
setContainer
Description copied from interface:IPreferencePage
Sets or clears the container of this page.- Specified by:
setContainer
in interfaceIPreferencePage
- Parameters:
container
- the preference page container, ornull
-
setPreferenceStore
Sets the preference store for this preference page.If preferenceStore is set to null, getPreferenceStore will invoke doGetPreferenceStore the next time it is called.
- Parameters:
store
- the preference store, ornull
- See Also:
-
setSize
Description copied from interface:IPreferencePage
Sets the size of this page's UI component.- Specified by:
setSize
in interfaceIPreferencePage
- Parameters:
uiSize
- the size of the preference page encoded asnew Point(width,height)
-
setTitle
ThePreferencePage
implementation of thisIDialogPage
method extends theDialogPage
implementation to update the preference page container title. Subclasses may extend.- Specified by:
setTitle
in interfaceIDialogPage
- Overrides:
setTitle
in classDialogPage
- Parameters:
title
- the title of this dialog page, ornull
if none- See Also:
-
setValid
public void setValid(boolean b) Sets whether this page is valid. The enable state of the container buttons and the apply button is updated when a page's valid state changes.- Parameters:
b
- the new valid state
-
toString
-
updateApplyButton
protected void updateApplyButton()Updates the enabled state of the Apply button to reflect whether this page is valid. -
createNoteComposite
protected Composite createNoteComposite(Font font, Composite composite, String title, String message) Creates a composite with a highlighted Note entry and a message text. This is designed to take up the full width of the page.- Parameters:
font
- the font to usecomposite
- the parent compositetitle
- the title of the notemessage
- the message for the note- Returns:
- the composite for the note
-
getApplyButton
Returns the Apply button.- Returns:
- the Apply button
-
getDefaultsButton
Returns the Restore Defaults button.- Returns:
- the Restore Defaults button
-
performHelp
public void performHelp()Description copied from class:DialogPage
This default implementation of anIDialogPage
method does nothing. Subclasses should override to take some action in response to a help request.- Specified by:
performHelp
in interfaceIDialogPage
- Overrides:
performHelp
in classDialogPage
-
applyData
Applies the given data to this page.It is up to the subclasses to specify the contract and the data format. The contract is not guaranteed if the subclass is in an internal package.
Note: The implementation must silently ignore all unknown data.
The default implementation does nothing.
- Parameters:
data
- the data as specified by the subclass- Since:
- 3.1
-
setErrorMessage
Description copied from class:DialogPage
Sets or clears the error message for this page.- Overrides:
setErrorMessage
in classDialogPage
- Parameters:
newMessage
- the message, ornull
to clear the error message
-
setMessage
Description copied from class:DialogPage
Sets the message for this page with an indication of what type of message it is.The valid message types are one of
NONE
,INFORMATION
,WARNING
, orERROR
.Note that for backward compatibility, a message of type
ERROR
is different than an error message (set usingsetErrorMessage
). An error message overrides the current message until the error message is cleared. This method replaces the current message and does not affect the error message.- Overrides:
setMessage
in classDialogPage
- Parameters:
newMessage
- the message, ornull
to clear the messagenewType
- the message type
-