Bug 175117 [StatusHandling] Cannot generally plug status support into ErrorDialogs
M5 Currently we have several ways to get ErrorDialogs that do not go through the status handling - we can either call the constructor or use our own class (there are 10 in the SDK alone). Our strategy of overriding the static method hits many cases but there are many quite common ones we will miss (like CVS errors for instance). I think we want to look at a way to extend the current error dialog rather than override the static method.
bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ErrorDialog.java
* Show the details portion of the dialog if it is not already visible.
     * This method will only work when it is invoked after the control of the dialog
     * has been set. In other words, after the <code>createContents</code> method
     * has been invoked and has returned the control for the content area of the dialog.
     * Invoking the method before the content area has been set or after the dialog has been
     * disposed will have no effect.
     * @since 3.1
     */
    protected final void showDetailsArea() {
        if (!listCreated) {
            Control control = getContents();
            if (control != null && ! control.isDisposed()) {
				toggleDetailsArea();
			}
        }
    }
    
    /**
     * Return whether the Details button should be included.
     * This method is invoked once when the dialog is built.
     * By default, the Details button is only included if
     * the status used when creating the dialog was a multi-status
     * or if the status contains an exception.
     * Subclasses may override.
     * @return whether the Details button should be included
     * @since 3.1
     */
    protected boolean shouldShowDetailsButton() {
        return status.isMultiStatus() || status.getException() != null;
    }