Bug 273330 [JFace] Add API to MessageDialog to enable clients to use SWT.SHEET
A new style constant SWT.SHEET was added recently. Without adding new API in JFace, clients who are currently using the convenience methods MessageDialog.openWarning/Error/Information/Question/Confirmation would not be able to open these dialogs as sheets.
bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/MessageDialogWithToggle.java
final Button[] buttons = new Button[buttonLabels.length];
        final int defaultButtonIndex = getDefaultButtonIndex();
        int suggestedId = IDialogConstants.INTERNAL_ID;
        for (int i = 0; i < buttonLabels.length; i++) {
            String label = buttonLabels[i];
            
            
            int id = mapButtonLabelToButtonID(label, suggestedId);
            
            
            if (id == suggestedId) {
				suggestedId++;
			}
 
            Button button = createButton(parent, id, label,
                    defaultButtonIndex == i);
            buttons[i] = button;
 
        }
        setButtons(buttons);
    }
    /**
     * @see Dialog#createDialogArea(Composite)
     */
    protected Control createDialogArea(Composite parent) {
        Composite dialogAreaComposite = (Composite) super
                .createDialogArea(parent);
        setToggleButton(createToggleButton(dialogAreaComposite));
        return dialogAreaComposite;
    }