Class WorkbenchStatusDialogManager
- java.lang.Object
-
- org.eclipse.ui.statushandlers.WorkbenchStatusDialogManager
-
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 defaultAbstractStatusAreaProvider
displays a tree ofStatusAdapter
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 providedAbstractStatusAreaProvider
. The Support button is disabled and not visible unlessenableDefaultSupportArea(boolean)
is invoked.The default details area can be replaced using
setDetailsAreaProvider(AbstractStatusAreaProvider)
The default support area can be replaced using
setSupportAreaProvider(AbstractStatusAreaProvider)
orPolicy.setErrorSupportProvider(ErrorSupportProvider)
.The manager can switch from a non-modal dialog to a modal dialog. See
addStatusAdapter(StatusAdapter, boolean)
- Since:
- 3.4
- See Also:
Policy.setErrorSupportProvider(ErrorSupportProvider)
,ErrorSupportProvider
,AbstractStatusAreaProvider
- Restriction:
- This class is not intended to be subclassed by clients.
-
-
Constructor Summary
Constructors Constructor Description WorkbenchStatusDialogManager(int displayMask, String dialogTitle)
Creates workbench status dialog.WorkbenchStatusDialogManager(String dialogTitle)
Creates workbench status dialog.WorkbenchStatusDialogManager(Shell parentShell, int displayMask, String dialogTitle)
Deprecated.As of 3.4 theparentShell
is ignoredWorkbenchStatusDialogManager(Shell parentShell, String dialogTitle)
Deprecated.As of 3.4 theparentShell
is ignored
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
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
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.5setMessageDecorator(org.eclipse.jface.viewers.ILabelDecorator)
is recommended.void
setSupportAreaProvider(AbstractStatusAreaProvider provider)
Sets the support provider.
-
-
-
Constructor Detail
-
WorkbenchStatusDialogManager
public WorkbenchStatusDialogManager(int displayMask, String dialogTitle)
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(int, String)
-
WorkbenchStatusDialogManager
public WorkbenchStatusDialogManager(String dialogTitle)
Creates workbench status dialog.- Parameters:
dialogTitle
- the title of the dialog. If null, than default will be used.
-
WorkbenchStatusDialogManager
@Deprecated public WorkbenchStatusDialogManager(Shell parentShell, 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.dialogTitle
- the title of the dialog. If null, than default will be used.- See Also:
WorkbenchStatusDialogManager(String)
-
-
Method Detail
-
addStatusAdapter
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.
- 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
public Collection getStatusAdapters()
Gets a collection of status adapters that were passed to the dialog.- Returns:
- collection of
StatusAdapter
objects
-
setDetailsAreaProvider
public void setDetailsAreaProvider(AbstractStatusAreaProvider provider)
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 public void setStatusListLabelProvider(ITableLabelProvider labelProvider)
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
public void setSupportAreaProvider(AbstractStatusAreaProvider provider)
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
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)
.- 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
public void setProperty(Object key, Object value)
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
public Object getProperty(Object key)
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:
ErrorDialog
-
-