Bug 221977 [IDE] [RCP] Use of Project Explorer in RCP requires internal IDE class WorkbenchAdapterBuilder
The magic incantation to get an RCP application working with resources and the CommonNavigator (or ResourceNavigator) is to call: WorkbenchAdapterBuilder.registerAdapters() However, this is an internal IDE class. If you don't call it, the CNF will fail in hard to diagnose ways (because there is no UndoRedo handler for example. In my conversations with Paul he is saying that the point of the IDE plugin is to be essentially the UI for resources and nothing more, that all of the "more" stuff is being moved to ui.ide.application. So if that's the case, then we probably just need to move this method to the API and prominently document it's requirement with the CNF/ResourceNavigator. And keep working on moving non-resource stuff out of the ui.ide plugin. And recommend that if you want to use the CNF (with resources) that you need: ui.navigator ui.navigator.resources core.resources ui.ide Alternatively, we can move the classes that are in ui.internal.ide.model to perhaps ui.navigator.resources. And then remove the dependency on ui.ide. I remain confused as to why there are two different plugins required to address the UI requirements for the CNF + resources, ui.navigator.resources and ui.ide. (I understand this might be some kind of legacy requirement).
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDE.java
* new project is created.
		 * <p>
		 * Value is of type <code>String</code>. The possible values are
		 * defined by the constants
		 * <code>OPEN_PERSPECTIVE_WINDOW, OPEN_PERSPECTIVE_PAGE, 
		 * OPEN_PERSPECTIVE_REPLACE, and NO_NEW_PERSPECTIVE</code>.
		 * </p>
		 * 
		 * @see org.eclipse.ui.IWorkbenchPreferenceConstants#OPEN_PERSPECTIVE_WINDOW
		 * @see org.eclipse.ui.IWorkbenchPreferenceConstants#OPEN_PERSPECTIVE_PAGE
		 * @see org.eclipse.ui.IWorkbenchPreferenceConstants#OPEN_PERSPECTIVE_REPLACE
		 * @see org.eclipse.ui.IWorkbenchPreferenceConstants#NO_NEW_PERSPECTIVE
		 */
		public static final String PROJECT_OPEN_NEW_PERSPECTIVE = "PROJECT_OPEN_NEW_PERSPECTIVE"; 
		/**
		 * <p>
		 * Specifies whether or not the workspace selection dialog should be
		 * shown on startup.
		 * </p>
		 * <p>
		 * The default value for this preference is <code>true</code>.
		 * </p>
		 * 
		 * @since 3.1
		 */
		public static final String SHOW_WORKSPACE_SELECTION_DIALOG = "SHOW_WORKSPACE_SELECTION_DIALOG"; 
		/**
		 * <p>
		 * Stores the maximum number of workspaces that should be displayed in
		 * the ChooseWorkspaceDialog.