public class WorkbenchStatusDialogManager extends Object
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)
Policy.setErrorSupportProvider(ErrorSupportProvider)
,
ErrorSupportProvider
,
AbstractStatusAreaProvider
Constructor and Description |
---|
WorkbenchStatusDialogManager(int displayMask,
String dialogTitle)
Creates workbench status dialog.
|
WorkbenchStatusDialogManager(Shell parentShell,
int displayMask,
String dialogTitle)
Deprecated.
As of 3.4 the
parentShell |
WorkbenchStatusDialogManager(Shell parentShell,
String dialogTitle)
Deprecated.
As of 3.4 the
parentShell |
WorkbenchStatusDialogManager(String dialogTitle)
Creates workbench status dialog.
|
Modifier and Type | Method and Description |
---|---|
void |
addStatusAdapter(StatusAdapter statusAdapter,
boolean modal)
Adds a new
StatusAdapter 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 |
enableErrorDialogCompatibility()
This method makes the dialog to be similar to the JFace ErrorDialog.
|
Object |
getProperty(Object key)
This method gets various dialog properties.
|
Collection |
getStatusAdapters()
Gets a collection of status adapters that were passed to the dialog.
|
void |
setDetailsAreaProvider(AbstractStatusAreaProvider provider)
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.5
setMessageDecorator(org.eclipse.jface.viewers.ILabelDecorator) is recommended. |
void |
setSupportAreaProvider(AbstractStatusAreaProvider provider)
Sets the support provider.
|
public WorkbenchStatusDialogManager(int displayMask, String dialogTitle)
displayMask
- the mask used to filter the handled StatusAdapter
objects, the mask is a logical sum of status severitiesdialogTitle
- the title of the dialog. If null, than default will be used.@Deprecated public WorkbenchStatusDialogManager(Shell parentShell, int displayMask, String dialogTitle)
parentShell is ignored
parentShell
- the parent shell for the dialog. It may be null.displayMask
- the mask used to filter the handled StatusAdapter
objects, the mask is a logical sum of status severitiesdialogTitle
- the title of the dialog. If null, than default will be used.WorkbenchStatusDialogManager(int, String)
public WorkbenchStatusDialogManager(String dialogTitle)
dialogTitle
- the title of the dialog. If null, than default will be used.@Deprecated public WorkbenchStatusDialogManager(Shell parentShell, String dialogTitle)
parentShell is ignored
parentShell
- the parent shell for the dialog. It may be null.dialogTitle
- the title of the dialog. If null, than default will be used.WorkbenchStatusDialogManager(String)
public void addStatusAdapter(StatusAdapter statusAdapter, boolean modal)
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.
IProgressConstants.NO_IMMEDIATE_ERROR_PROMPT_PROPERTY
set to trueAll not shown status adapters will be displayed as soon as the dialog shows up.
modal
- true
if the dialog should be modal,
false
otherwisestatusAdapter
- the status adapterpublic void enableDefaultSupportArea(boolean enable)
enable
- true enables, false disables default supportpublic Collection getStatusAdapters()
StatusAdapter
objectspublic void setDetailsAreaProvider(AbstractStatusAreaProvider provider)
provider
- A details area provider to be set.@Deprecated public void setStatusListLabelProvider(ITableLabelProvider labelProvider)
setMessageDecorator(org.eclipse.jface.viewers.ILabelDecorator)
is recommended.This method is no longer recommended to use as it is impossible to achieve consistent behavior after changing only one label provider.
labelProvider
- a label provider to be used when displaying status adapters.public void setSupportAreaProvider(AbstractStatusAreaProvider provider)
provider
- Support provider to be set.public void setMessageDecorator(ILabelDecorator decorator)
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)
.
decorator
- - the decorator to be set. Only
ILabelDecorator.decorateText(String, Object)
method
will be used. This method should return null
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.public void setProperty(Object key, Object value)
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.public Object getProperty(Object key)
key
- a key of the property to be get.null
can be returned.public void enableErrorDialogCompatibility()
StatusAdapter
s wrapping IStatus
with
severity IStatus.OK
, does not display the link to the error log,
does not display the link to the support area but always opens it.ErrorDialog
Copyright (c) 2000, 2014 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.