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
return ResourcesPlugin.getWorkspace().getRoot();
	}
	/* (non-Javadoc)
	 * @see org.eclipse.ui.application.WorkbenchAdvisor
	 */
	public String getInitialWindowPerspectiveId() {
		int index = PlatformUI.getWorkbench().getWorkbenchWindowCount() - 1;
		
		String perspectiveId = null;
		if (index >=0 && welcomePerspectiveInfos != null && index < welcomePerspectiveInfos.size()) {
			perspectiveId = ((AboutInfo) welcomePerspectiveInfos.get(index)).getWelcomePerspectiveId();
		}
		if (perspectiveId == null) {
			perspectiveId = IDE.RESOURCE_PERSPECTIVE_ID;
		}
		return perspectiveId;
	}
	/*
	 * Open the welcome editor for the primary feature and
	 * for any newly installed features.
	 */
	private void openWelcomeEditors(IWorkbenchWindow window) throws WorkbenchException {
		if (IDEWorkbenchPlugin.getDefault().getPreferenceStore().getBoolean(IDEInternalPreferences.WELCOME_DIALOG)) {
			
			AboutInfo primaryInfo = IDEWorkbenchPlugin.getDefault().getPrimaryInfo();
			if (primaryInfo == null) {
				return;
			}
			URL url = primaryInfo.getWelcomePageURL();
			if (url == null) {