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/wizards/newresource/BasicNewProjectResourceWizard.java
if (configElement == null)
		return;
		
	
	String perspSetting =
		IDEWorkbenchPlugin.getDefault().getPreferenceStore().getString(
			IDE.Preferences.PROJECT_OPEN_NEW_PERSPECTIVE);
	
	if (perspSetting.equals(IWorkbenchPreferenceConstants.NO_NEW_PERSPECTIVE))
		return;
	
	String finalPerspId = configElement.getAttribute(FINAL_PERSPECTIVE);
	if (finalPerspId == null)
		return;
	
	
	IPerspectiveRegistry reg = PlatformUI.getWorkbench().getPerspectiveRegistry();
	
	 
	
	IPerspectiveDescriptor finalPersp = reg.findPerspectiveWithId(finalPerspId);
	if (finalPersp != null && finalPersp instanceof IPluginContribution) {
        IPluginContribution contribution = (IPluginContribution) finalPersp;
        if (contribution.getPluginId() != null) {            
        	IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport();
    		IActivityManager activityManager = workbenchActivitySupport.getActivityManager();        	       
        	IIdentifier identifier = activityManager
                .getIdentifier(
                        WorkbenchActivityHelper.createUnifiedId(contribution));