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/IDEWorkbenchAdvisor.java
if (workspaceLocation != null) {
			title = IDEWorkbenchMessages.format("WorkbenchWindow.shellTitle", new Object[] { workspaceLocation, title }); 
		}
		IWorkbenchPage currentPage = window.getActivePage();
		if (currentPage != null) {
			IEditorPart editor = currentPage.getActiveEditor();
			if (editor != null) {
				String editorTitle = editor.getTitle();
				title = IDEWorkbenchMessages.format("WorkbenchWindow.shellTitle", new Object[] { editorTitle, title }); 
			}
			IPerspectiveDescriptor persp = currentPage.getPerspective();
			String label = ""; 
			if (persp != null)
				label = persp.getLabel();
			IAdaptable input = currentPage.getInput();
			if (input != null && !input.equals(getDefaultPageInput())) {
				label = currentPage.getLabel();
			}
			if (label != null && !label.equals("")) { 	
				title = IDEWorkbenchMessages.format("WorkbenchWindow.shellTitle", new Object[] { label, title }); 
			}
		}
		
		windowConfigurer.setTitle(title);
	}
	
	/**
	 * Declares all IDE-specific workbench images. This includes both "shared"
	 * images (named in {@link IDE.SharedImages}) and
	 * internal images (named in