org.eclipse.jface.preference
Class PreferencePage
java.lang.Object
org.eclipse.jface.dialogs.DialogPage
org.eclipse.jface.preference.PreferencePage
-
All Implemented Interfaces:
-
IDialogPage,
IMessageProvider,
IPreferencePage
-
Direct Known Subclasses:
-
ActivitiesPreferencePage,
ActivityCategoryPreferencePage,
FieldEditorPreferencePage,
PropertyPage,
RootScopePage,
TemplatePreferencePage
-
public abstract class PreferencePage
- extends
DialogPage
- implements
IPreferencePage
Abstract base implementation for all preference page implementations.
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.
Constructor Summary
|
protected
|
PreferencePage
()
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
|
void
|
applyData
(
Object data)
Apply the data to the receiver. |
protected void
|
applyDialogFont
(
Composite composite)
Apply the dialog font to the composite and it's children
if it is set. |
Point
|
computeSize
()
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)
The PreferencePage implementation of this
IDialogPage 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
|
doComputeSize
()
Computes the size needed by this page's UI control. |
protected
IPreferenceStore
|
doGetPreferenceStore
()
Returns the preference store of this preference page. |
protected
Button
|
getApplyButton
()
Returns the Apply button. |
IPreferencePageContainer
|
getContainer
()
Returns the container of this page. |
protected
Button
|
getDefaultsButton
()
Returns the Restore Defaults button. |
IPreferenceStore
|
getPreferenceStore
()
Returns the preference store of this preference page. |
boolean
|
isValid
()
The preference page implementation of an IPreferencePage
method returns whether this preference page is valid. |
protected void
|
noDefaultAndApplyButton
()
Suppresses creation of the standard Default and Apply buttons
for this page. |
boolean
|
okToLeave
()
The PreferencePage implementation of this
IPreferencePage method returns true
if the page is valid. |
protected void
|
performApply
()
Performs special processing when this page's Apply button has been pressed. |
boolean
|
performCancel
()
The preference page implementation of an IPreferencePage
method performs special processing when this page's Cancel button has
been pressed. |
protected void
|
performDefaults
()
Performs special processing when this page's Defaults button has been pressed. |
void
|
performHelp
()
This default implementation of an IDialogPage method does
nothing. |
boolean
|
performOk
()
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
|
setPreferenceStore
(
IPreferenceStore store)
Sets the preference store for this preference page. |
void
|
setSize
(
Point uiSize)
Sets the size of this page's UI component. |
void
|
setTitle
(
String title)
The PreferencePage implementation of this IDialogPage
method extends the DialogPage implementation to update
the preference page container title. |
void
|
setValid
(boolean b)
Sets whether this page is valid. |
String
|
toString
()
|
protected void
|
updateApplyButton
()
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
|
PreferencePage
protected PreferencePage()
- Creates a new preference page with an empty title and no image.
PreferencePage
protected PreferencePage(
String title)
- Creates a new preference page with the given title and no image.
-
Parameters:
-
title
- the title of this preference page
PreferencePage
protected PreferencePage(
String title,
ImageDescriptor image)
- Creates a new abstract preference page with the given title and image.
-
Parameters:
-
title
- the title of this preference page -
image
- the image for this preference page,
or null
if none
computeSize
public
Point computeSize()
- Computes the size for this page's UI control.
The default implementation of this IPreferencePage
method returns the size set by setSize
; if no size
has been set, but the page has a UI control, the framework
method doComputeSize
is called to compute the size.
-
-
Specified by:
-
computeSize
in interface
IPreferencePage
-
-
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
protected void contributeButtons(
Composite parent)
- 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
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.
This framework method must be implemented by concrete subclasses. Any
subclass returning a Composite
object whose Layout
has default margins (for example, a GridLayout
) are expected to
set the margins of this Layout
to 0 pixels.
-
-
-
Parameters:
-
parent
- the parent composite
-
Returns:
- the new control
createControl
public void createControl(
Composite parent)
- The
PreferencePage
implementation of this
IDialogPage
method creates a description label
and button bar for the page. It calls createContents
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, a GridLayout
)
it is expected to set the margins of this Layout
to 0 pixels.
-
-
Specified by:
-
createControl
in interface
IDialogPage
-
-
Parameters:
-
parent
- the parent composite -
See Also:
-
IDialogPage.createControl(Composite)
applyDialogFont
protected void applyDialogFont(
Composite composite)
- 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
-
createDescriptionLabel
protected
Label createDescriptionLabel(
Composite parent)
- Creates and returns an SWT label under the given composite.
-
-
-
Parameters:
-
parent
- the parent composite
-
Returns:
- the new label
doComputeSize
protected
Point 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
protected
IPreferenceStore 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
public
IPreferencePageContainer 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
public
IPreferenceStore 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 an
IPreferencePage
method returns whether this preference page is valid. Preference
pages are considered valid by default; call setValid(false)
to make a page invalid.
-
-
Specified by:
-
isValid
in interface
IPreferencePage
-
-
Returns:
-
true
if the page is in a valid state,
and false
if invalid -
See Also:
-
IPreferencePage.isValid()
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.
-
-
okToLeave
public boolean okToLeave()
- The
PreferencePage
implementation of this
IPreferencePage
method returns true
if the page is valid.
-
-
Specified by:
-
okToLeave
in interface
IPreferencePage
-
-
Returns:
-
false
to abort page flipping and the
have the current page remain visible, and true
to allow the page flip -
See Also:
-
IPreferencePage.okToLeave()
performApply
protected void performApply()
- Performs special processing when this page's Apply button has been pressed.
This is a framework hook method for sublcasses 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:
-
performOk()
performCancel
public boolean performCancel()
- The preference page implementation of an
IPreferencePage
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
.
-
-
Specified by:
-
performCancel
in interface
IPreferencePage
-
-
Returns:
-
false
to abort the container's cancel
procedure and true
to allow the cancel to happen -
See Also:
-
IPreferencePage.performCancel()
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 interface
IPreferencePage
-
-
Returns:
-
false
to abort the container's OK
processing and true
to allow the OK to happen
setContainer
public void setContainer(
IPreferencePageContainer container)
-
Description copied from interface:
IPreferencePage
- Sets or clears the container of this page.
-
-
Specified by:
-
setContainer
in interface
IPreferencePage
-
-
Parameters:
-
container
- the preference page container, or null
setPreferenceStore
public void setPreferenceStore(
IPreferenceStore store)
- 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, or null
-
See Also:
-
getPreferenceStore()
setSize
public void setSize(
Point uiSize)
-
Description copied from interface:
IPreferencePage
- Sets the size of this page's UI component.
-
-
Specified by:
-
setSize
in interface
IPreferencePage
-
-
Parameters:
-
uiSize
- the size of the preference page encoded as
new Point(width,height)
setTitle
public void setTitle(
String title)
- The
PreferencePage
implementation of this IDialogPage
method extends the DialogPage
implementation to update
the preference page container title. Subclasses may extend.
-
-
Specified by:
-
setTitle
in interface
IDialogPage
-
Overrides:
-
setTitle
in class
DialogPage
-
-
Parameters:
-
title
- the title of this dialog page,
or null
if none -
See Also:
-
IDialogPage.setTitle(String)
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
public
String toString()
-
-
Overrides:
-
toString
in class
Object
-
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 use -
composite
- the parent composite -
title
- the title of the note -
message
- the message for the note
-
Returns:
- the composite for the note
getApplyButton
protected
Button getApplyButton()
- Returns the Apply button.
-
-
-
Returns:
- the Apply button
getDefaultsButton
protected
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 an
IDialogPage
method does
nothing. Subclasses should override to take some action in response to a
help request.
-
-
Specified by:
-
performHelp
in interface
IDialogPage
-
Overrides:
-
performHelp
in class
DialogPage
-
applyData
public void applyData(
Object data)
- Apply the data to the receiver. By default do nothing.
-
-
-
Parameters:
-
data
- -
Since:
- 3.1
setErrorMessage
public void setErrorMessage(
String newMessage)
-
Description copied from class:
DialogPage
- Sets or clears the error message for this page.
-
-
Overrides:
-
setErrorMessage
in class
DialogPage
-
-
Parameters:
-
newMessage
- the message, or null
to clear the error message
setMessage
public void setMessage(
String newMessage,
int newType)
-
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
, or
ERROR
.
Note that for backward compatibility, a message of type
ERROR
is different than an error message (set using
setErrorMessage
). 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 class
DialogPage
-
-
Parameters:
-
newMessage
- the message, or null
to clear the message -
newType
- the message type
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.