public class MessageDialogWithToggle extends MessageDialog
A message dialog which also allows the user to adjust a toggle setting. If a preference store is provided and the user selects the toggle, then the user's answer (yes/ok or no) will be persisted in the store. If no store is provided, then this information can be queried after the dialog closes.
This type of dialog should be used whenever you want to user to be able to avoid being prompted in the future. It is strongly recommended that a cancel option be provided, so that the user has the option of making the decision at a later point in time. The semantic for a cancel button should be to cancel the operation (if it has not yet started), or stop the operation (if it has already started).
It is the responsibility of the developer to provide a mechanism for the user to change this preference at some later point in time (e.g., through a preference page).
Window.IExceptionHandler
Modifier and Type | Field and Description |
---|---|
static String |
ALWAYS
The value of the preference when the user has asked that the answer to
the question always be "okay" or "yes".
|
static String |
NEVER
The value of the preference when the user has asked that the answer to
the question always be "no".
|
static String |
PROMPT
The value of the preference when the user wishes to prompted for an
answer every time the question is to be asked.
|
CONFIRM, ERROR, INFORMATION, NONE, QUESTION, QUESTION_WITH_CANCEL, WARNING
imageLabel, message, messageLabel
blockedHandler, buttonBar, DIALOG_DEFAULT_BOUNDS, DIALOG_PERSISTLOCATION, DIALOG_PERSISTSIZE, dialogArea, DLG_IMG_ERROR, DLG_IMG_HELP, DLG_IMG_INFO, DLG_IMG_MESSAGE_ERROR, DLG_IMG_MESSAGE_INFO, DLG_IMG_MESSAGE_WARNING, DLG_IMG_QUESTION, DLG_IMG_WARNING, ELLIPSIS
CANCEL, OK, resizeHasOccurred
Constructor and Description |
---|
MessageDialogWithToggle(Shell parentShell,
String dialogTitle,
Image image,
String message,
int dialogImageType,
String[] dialogButtonLabels,
int defaultIndex,
String toggleMessage,
boolean toggleState)
Creates a message dialog with a toggle.
|
Modifier and Type | Method and Description |
---|---|
protected void |
buttonPressed(int buttonId)
Notifies that this dialog's button with the given id has been pressed.
|
protected void |
createButtonsForButtonBar(Composite parent)
Adds buttons to this dialog's button bar.
|
protected Control |
createDialogArea(Composite parent)
This implementation of the
Dialog framework method creates
and lays out a composite and calls createMessageArea and
createCustomArea to populate it. |
protected Button |
createToggleButton(Composite parent)
Creates a toggle button without any text or state.
|
String |
getPrefKey()
An accessor for the current key of the toggle preference.
|
IPreferenceStore |
getPrefStore()
An accessor for the current preference store for this dialog.
|
protected Button |
getToggleButton()
Returns the toggle button.
|
boolean |
getToggleState()
Returns the toggle state.
|
static MessageDialogWithToggle |
open(int kind,
Shell parent,
String title,
String message,
String toggleMessage,
boolean toggleState,
IPreferenceStore store,
String key,
int style)
Convenience method to open a simple dialog as specified by the
kind flag,
with a "don't show again' toggle. |
static MessageDialogWithToggle |
openError(Shell parent,
String title,
String message,
String toggleMessage,
boolean toggleState,
IPreferenceStore store,
String key)
Convenience method to open a standard error dialog.
|
static MessageDialogWithToggle |
openInformation(Shell parent,
String title,
String message,
String toggleMessage,
boolean toggleState,
IPreferenceStore store,
String key)
Convenience method to open a standard information dialog.
|
static MessageDialogWithToggle |
openOkCancelConfirm(Shell parent,
String title,
String message,
String toggleMessage,
boolean toggleState,
IPreferenceStore store,
String key)
Convenience method to open a simple confirm (OK/Cancel) dialog.
|
static MessageDialogWithToggle |
openWarning(Shell parent,
String title,
String message,
String toggleMessage,
boolean toggleState,
IPreferenceStore store,
String key)
Convenience method to open a standard warning dialog.
|
static MessageDialogWithToggle |
openYesNoCancelQuestion(Shell parent,
String title,
String message,
String toggleMessage,
boolean toggleState,
IPreferenceStore store,
String key)
Convenience method to open a simple question Yes/No/Cancel dialog.
|
static MessageDialogWithToggle |
openYesNoQuestion(Shell parent,
String title,
String message,
String toggleMessage,
boolean toggleState,
IPreferenceStore store,
String key)
Convenience method to open a simple Yes/No question dialog.
|
void |
setPrefKey(String prefKey)
A mutator for the key of the preference to be modified by the toggle
button.
|
void |
setPrefStore(IPreferenceStore prefStore)
A mutator for the preference store to be modified by the toggle button.
|
protected void |
setToggleButton(Button button)
A mutator for the button providing the toggle option.
|
protected void |
setToggleMessage(String message)
A mutator for the text on the toggle button.
|
void |
setToggleState(boolean toggleState)
A mutator for the state of the toggle button.
|
configureShell, createButton, createCustomArea, customShouldTakeFocus, getButton, getButtonLabels, getDefaultButtonIndex, getImage, getMinimumMessageWidth, handleShellCloseEvent, open, open, openConfirm, openError, openInformation, openQuestion, openWarning, setButtonLabels, setButtons
createButtonBar, createContents, createDialogAndButtonArea, createMessageArea, getErrorImage, getInfoImage, getMessageLabelStyle, getQuestionImage, getWarningImage
applyDialogFont, cancelPressed, close, convertHeightInCharsToPixels, convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, convertWidthInCharsToPixels, create, dialogFontIsDefault, getBlockedHandler, getButtonBar, getCancelButton, getDialogArea, getDialogBoundsSettings, getDialogBoundsStrategy, getImage, getInitialLocation, getInitialSize, getOKButton, initializeBounds, initializeDialogUnits, isResizable, okPressed, setBlockedHandler, setButtonLayoutData, setButtonLayoutFormData, shortenText
canHandleShellCloseEvent, constrainShellSize, createShell, getConstrainedShellBounds, getContents, getDefaultImage, getDefaultImages, getDefaultOrientation, getLayout, getParentShell, getReturnCode, getShell, getShellListener, getShellStyle, getWindowManager, handleFontChange, setBlockOnOpen, setDefaultImage, setDefaultImages, setDefaultModalParent, setDefaultOrientation, setExceptionHandler, setParentShell, setReturnCode, setShellStyle, setWindowManager
public static final String ALWAYS
public static final String NEVER
public static final String PROMPT
public MessageDialogWithToggle(Shell parentShell, String dialogTitle, Image image, String message, int dialogImageType, String[] dialogButtonLabels, int defaultIndex, String toggleMessage, boolean toggleState)
parentShell
- the parent shelldialogTitle
- the dialog title, or null
if noneimage
- the dialog title image, or null
if nonemessage
- the dialog messagedialogImageType
- one of the following values:
MessageDialog.NONE
for a dialog with no
imageMessageDialog.ERROR
for a dialog with an
error imageMessageDialog.INFORMATION
for a dialog
with an information imageMessageDialog.QUESTION
for a dialog with a
question imageMessageDialog.WARNING
for a dialog with a
warning imagedialogButtonLabels
- an array of labels for the buttons in the button bardefaultIndex
- the index in the button label array of the default buttontoggleMessage
- the message for the toggle control, or null
for
the default messagetoggleState
- the initial state for the togglepublic static MessageDialogWithToggle open(int kind, Shell parent, String title, String message, String toggleMessage, boolean toggleState, IPreferenceStore store, String key, int style)
kind
flag,
with a "don't show again' toggle.kind
- the kind of dialog to open, one of MessageDialog.ERROR
,
MessageDialog.INFORMATION
, MessageDialog.QUESTION
, MessageDialog.WARNING
,
MessageDialog.CONFIRM
, or {#QUESTION_WITH_CANCEL}.parent
- the parent shell of the dialog, or null
if nonetitle
- the dialog's title, or null
if nonemessage
- the messagetoggleMessage
- the message for the toggle control, or null
for
the default messagetoggleState
- the initial state for the togglestore
- the IPreference store in which the user's preference should be
persisted; null
if you don't want it persisted
automatically.key
- the key to use when persisting the user's preference;
null
if you don't want it persisted.style
- SWT.NONE
for a default dialog, or SWT.SHEET
for
a dialog with sheet behaviorgetReturnCode()
or
getToggleState()
public static MessageDialogWithToggle openError(Shell parent, String title, String message, String toggleMessage, boolean toggleState, IPreferenceStore store, String key)
parent
- the parent shell of the dialog, or null
if nonetitle
- the dialog's title, or null
if nonemessage
- the messagetoggleMessage
- the message for the toggle control, or null
for
the default messagetoggleState
- the initial state for the togglestore
- the IPreference store in which the user's preference should be
persisted; null
if you don't want it persisted
automatically.key
- the key to use when persisting the user's preference;
null
if you don't want it persisted.getReturnCode()
or
getToggleState()
public static MessageDialogWithToggle openInformation(Shell parent, String title, String message, String toggleMessage, boolean toggleState, IPreferenceStore store, String key)
parent
- the parent shell of the dialog, or null
if nonetitle
- the dialog's title, or null
if nonemessage
- the messagetoggleMessage
- the message for the toggle control, or null
for
the default messagetoggleState
- the initial state for the togglestore
- the IPreference store in which the user's preference should be
persisted; null
if you don't want it persisted
automatically.key
- the key to use when persisting the user's preference;
null
if you don't want it persisted.getReturnCode()
or
getToggleState()
public static MessageDialogWithToggle openOkCancelConfirm(Shell parent, String title, String message, String toggleMessage, boolean toggleState, IPreferenceStore store, String key)
parent
- the parent shell of the dialog, or null
if nonetitle
- the dialog's title, or null
if nonemessage
- the messagetoggleMessage
- the message for the toggle control, or null
for
the default messagetoggleState
- the initial state for the togglestore
- the IPreference store in which the user's preference should be
persisted; null
if you don't want it persisted
automatically.key
- the key to use when persisting the user's preference;
null
if you don't want it persisted.getReturnCode()
or
getToggleState()
public static MessageDialogWithToggle openWarning(Shell parent, String title, String message, String toggleMessage, boolean toggleState, IPreferenceStore store, String key)
parent
- the parent shell of the dialog, or null
if nonetitle
- the dialog's title, or null
if nonemessage
- the messagetoggleMessage
- the message for the toggle control, or null
for
the default messagetoggleState
- the initial state for the togglestore
- the IPreference store in which the user's preference should be
persisted; null
if you don't want it persisted
automatically.key
- the key to use when persisting the user's preference;
null
if you don't want it persisted.getReturnCode()
or
getToggleState()
public static MessageDialogWithToggle openYesNoCancelQuestion(Shell parent, String title, String message, String toggleMessage, boolean toggleState, IPreferenceStore store, String key)
parent
- the parent shell of the dialog, or null
if nonetitle
- the dialog's title, or null
if nonemessage
- the messagetoggleMessage
- the message for the toggle control, or null
for
the default messagetoggleState
- the initial state for the togglestore
- the IPreference store in which the user's preference should be
persisted; null
if you don't want it persisted
automatically.key
- the key to use when persisting the user's preference;
null
if you don't want it persisted.getReturnCode()
or
getToggleState()
public static MessageDialogWithToggle openYesNoQuestion(Shell parent, String title, String message, String toggleMessage, boolean toggleState, IPreferenceStore store, String key)
parent
- the parent shell of the dialog, or null
if nonetitle
- the dialog's title, or null
if nonemessage
- the messagetoggleMessage
- the message for the toggle control, or null
for
the default messagetoggleState
- the initial state for the togglestore
- the IPreference store in which the user's preference should be
persisted; null
if you don't want it persisted
automatically.key
- the key to use when persisting the user's preference;
null
if you don't want it persisted.getReturnCode()
or
getToggleState()
protected void buttonPressed(int buttonId)
Dialog
The Dialog
implementation of this framework method calls
okPressed
if the ok button is the pressed, and
cancelPressed
if the cancel button is the pressed. All
other button presses are ignored. Subclasses may override to handle other
buttons, but should call super.buttonPressed
if the
default handling of the ok and cancel buttons is desired.
buttonPressed
in class MessageDialog
buttonId
- the id of the button that was pressed (see
IDialogConstants.*_ID
constants)Dialog.buttonPressed(int)
protected void createButtonsForButtonBar(Composite parent)
Dialog
The Dialog
implementation of this framework method adds
standard ok and cancel buttons using the createButton
framework method. These standard buttons will be accessible from
getCancelButton
, and getOKButton
.
Subclasses may override.
Note: The common button order is: {other buttons}, OK, Cancel.
On some platforms, Dialog.initializeBounds()
will move the default button to the right.
createButtonsForButtonBar
in class MessageDialog
parent
- the button bar compositeDialog.createButtonBar(Composite)
protected Control createDialogArea(Composite parent)
MessageDialog
Dialog
framework method creates
and lays out a composite and calls createMessageArea
and
createCustomArea
to populate it. Subclasses should
override createCustomArea
to add contents below the
message.createDialogArea
in class MessageDialog
parent
- the parent composite to contain the dialog areaDialog.createDialogArea(Composite)
protected Button createToggleButton(Composite parent)
createDialogArea
.parent
- The composite in which the toggle button should be placed;
must not be null
.null
.protected Button getToggleButton()
public IPreferenceStore getPrefStore()
null
if no
preference is being used.public String getPrefKey()
null
if no
preference is being used.public boolean getToggleState()
true
if the toggle button is checked,
false
if notpublic void setPrefKey(String prefKey)
prefKey
- The prefKey to set. If this value is null
,
then no preference will be modified.public void setPrefStore(IPreferenceStore prefStore)
prefStore
- The prefStore to set. If this value is null
,
then no preference will be modified.protected void setToggleButton(Button button)
button
- The button to use; must not be null
.protected void setToggleMessage(String message)
message
- The new text of the toggle button; if it is null
,
then used the default toggle message.public void setToggleState(boolean toggleState)
toggleState
- The desired state of the toggle button (true
means the toggle should be selected).
Copyright (c) 2000, 2014 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.