Class WorkbenchStatusDialogManager
The WorkbenchStatusDialogManager
is a utility class for displaying
one or more messages (errors, warnings or infos) to the user. The dialog
supplied has a Details button that opens/closes the details area. The default
AbstractStatusAreaProvider
displays a tree of StatusAdapter
s
related to the selected item on the messages list. The dialog also hasa
Support button that opens/closes the support area which contains the provided
AbstractStatusAreaProvider
. The Support button is disabled and not
visible unless
enableDefaultSupportArea(boolean)
is
invoked.
The default details area can be replaced using
setDetailsAreaProvider(AbstractStatusAreaProvider)
The default support area can be replaced using
setSupportAreaProvider(AbstractStatusAreaProvider)
or Policy.setErrorSupportProvider(ErrorSupportProvider)
.
The manager can switch from a non-modal dialog to a modal dialog. See
addStatusAdapter(StatusAdapter, boolean)
- Since:
- 3.4
- See Also:
- Restriction:
- This class is not intended to be subclassed by clients.
-
Constructor Summary
ConstructorDescriptionWorkbenchStatusDialogManager
(int displayMask, String dialogTitle) Creates workbench status dialog.WorkbenchStatusDialogManager
(String dialogTitle) Creates workbench status dialog.WorkbenchStatusDialogManager
(Shell parentShell, int displayMask, String dialogTitle) Deprecated.WorkbenchStatusDialogManager
(Shell parentShell, String dialogTitle) Deprecated.As of 3.4 theparentShell
is ignored -
Method Summary
Modifier and TypeMethodDescriptionvoid
addStatusAdapter
(StatusAdapter statusAdapter, boolean modal) Adds a newStatusAdapter
to the status adapters list in the dialog.void
enableDefaultSupportArea
(boolean enable) Enables the default support area that shows stack trace of the exception contained in the selected status.void
This method makes the dialog to be similar to the JFace ErrorDialog.getProperty
(Object key) This method gets various dialog properties.Gets a collection of status adapters that were passed to the dialog.void
Sets the details area provider.void
setMessageDecorator
(ILabelDecorator decorator) This methods sets up the decorator, which is used to modify displayed strings extracted from StatusAdapter.void
setProperty
(Object key, Object value) This method sets various properties on the manager.void
setStatusListLabelProvider
(ITableLabelProvider labelProvider) Deprecated.As of 3.5setMessageDecorator(org.eclipse.jface.viewers.ILabelDecorator)
is recommended.void
Sets the support provider.
-
Constructor Details
-
WorkbenchStatusDialogManager
Creates workbench status dialog.- Parameters:
displayMask
- the mask used to filter the handledStatusAdapter
objects, the mask is a logical sum of status severitiesdialogTitle
- the title of the dialog. If null, than default will be used.
-
WorkbenchStatusDialogManager
@Deprecated public WorkbenchStatusDialogManager(Shell parentShell, int displayMask, String dialogTitle) Deprecated.As of 3.4 theparentShell
is ignoredCreates workbench status dialog.- Parameters:
parentShell
- the parent shell for the dialog. It may be null.displayMask
- the mask used to filter the handledStatusAdapter
objects, the mask is a logical sum of status severitiesdialogTitle
- the title of the dialog. If null, than default will be used.- See Also:
-
WorkbenchStatusDialogManager
Creates workbench status dialog.- Parameters:
dialogTitle
- the title of the dialog. If null, than default will be used.
-
WorkbenchStatusDialogManager
Deprecated.As of 3.4 theparentShell
is ignoredCreates workbench status dialog.- Parameters:
parentShell
- the parent shell for the dialog. It may be null.dialogTitle
- the title of the dialog. If null, than default will be used.- See Also:
-
-
Method Details
-
addStatusAdapter
Adds a new
StatusAdapter
to the status adapters list in the dialog.If the dialog is already visible, the status adapter will be shown immediately. Otherwise, the dialog with the added status adapter will show up, if all conditions below are false.
- the status adapter has
IProgressConstants.NO_IMMEDIATE_ERROR_PROMPT_PROPERTY
set to true
All not shown status adapters will be displayed as soon as the dialog shows up.
- Parameters:
modal
-true
if the dialog should be modal,false
otherwisestatusAdapter
- the status adapter
- the status adapter has
-
enableDefaultSupportArea
public void enableDefaultSupportArea(boolean enable) Enables the default support area that shows stack trace of the exception contained in the selected status.- Parameters:
enable
- true enables, false disables default support
-
getStatusAdapters
Gets a collection of status adapters that were passed to the dialog.- Returns:
- collection of
StatusAdapter
objects
-
setDetailsAreaProvider
Sets the details area provider. If null is set, the default area provider will be used.- Parameters:
provider
- A details area provider to be set.
-
setStatusListLabelProvider
Deprecated.As of 3.5setMessageDecorator(org.eclipse.jface.viewers.ILabelDecorator)
is recommended.Sets new label provider for the status list. This label provider is used also to display the second message on the dialog if only one status is available.This method is no longer recommended to use as it is impossible to achieve consistent behavior after changing only one label provider.
- Parameters:
labelProvider
- a label provider to be used when displaying status adapters.
-
setSupportAreaProvider
Sets the support provider. The policy for choosing support provider is:- use the support provider set by this method, if set
- use the support provider set in JFace Policy, if set
- use the default support area, if enabled
- Parameters:
provider
- Support provider to be set.
-
setMessageDecorator
This methods sets up the decorator, which is used to modify displayed strings extracted from StatusAdapter. The decorator should be used to remove technical codes from the dialog, f.e. following message "ERR2008 Invalid password" can be translated into "Invalid password".
The decorator will be applied only to messages extracted from StatusAdapter (predefined messages like "This status has children statuses. See 'Details' for more information." are not affected.
This method should not be used together with
setStatusListLabelProvider(ITableLabelProvider)
.- Parameters:
decorator
- - the decorator to be set. OnlyILabelDecorator.decorateText(String, Object)
method will be used. This method should returnnull
if and only if the first argument is null. StatusAdapter is passed as second parameter. Other methods should have default behavior as they may be used in future versions of the dialog.- Since:
- 3.5
-
setProperty
This method sets various properties on the manager.- Parameters:
key
- a key of the property to be set.value
- a value of the property to be set. The value must be of type specified by the property key.null
should never be passed unless the property key javadoc allows for that.- Since:
- 3.5
-
getProperty
This method gets various dialog properties.- Parameters:
key
- a key of the property to be get.- Returns:
- a value of the property. The value will be of type specified by the
property key.
null
can be returned. - Since:
- 3.5
-
enableErrorDialogCompatibility
public void enableErrorDialogCompatibility()This method makes the dialog to be similar to the JFace ErrorDialog. The dialog handlesStatusAdapter
s wrappingIStatus
with severityIStatus.OK
, does not display the link to the error log, does not display the link to the support area but always opens it.- Since:
- 3.5
- See Also:
-
parentShell
is ignored