Bug 54347 [Dialogs] Provide "Yes No Always Never" dialog
In Debug UI, we define a dialog that prompts the user to answer Yes, No, Always, or Never. If anyone's interested, this code is generic and could be shipped as a JFace component. The dialog is in the org.eclipse.debug.ui project; the type name is AlwaysNeverDialog. The dialog supports passing in a preference store and preference key for the dialog to persist an Always or Never selection. For cases where clients don't have a preference store but still want to be able to get at the user's response, it alternatively supports passing in a string buffer where the dialog will store the "always/never/prompt" status.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MessageDialogWithToggle.java
}
	
	/* (non-Javadoc)
	 * Method declared in Dialog.
	 */
	protected Control createDialogArea(Composite parent) {
		Composite dialogArea = (Composite) super.createDialogArea(parent);
		toggleButton = createToggleButton(dialogArea);
		return dialogArea;
	}
	/**
	 * Creates a toggle button with the toggle message and state.
	 */
	protected Button createToggleButton(Composite parent) {
		final Button button= new Button(parent, SWT.CHECK | SWT.LEFT);
		String text = toggleMessage; 
		if (text == null) {
			text = IDEWorkbenchMessages.getString("MessageDialogWithToggle.defaultToggleMessage"); 
		}
		button.setText(text);
		button.setSelection(toggleState);
		
		GridData data = new GridData(SWT.NONE);
		data.horizontalSpan= 2;
		data.horizontalAlignment= GridData.CENTER;
		button.setLayoutData(data);
		button.setFont(parent.getFont());
		button.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				toggleState = button.getSelection();