Project: Eclipse_Platform_UI
Bug 304393 [CommonNavigator] Custom tabbed property sheets non functional when using CN w/ view id different from project explorer
Reported: 2010-03-02 13:15:24 | Status: verified fixed

Build Identifier: 3.5.X and 3.6 all builds. Created a custom common navigator with a unique id. Enable and use the tabbed property sheets extensions for this view id. Use the TabDescriptorProvider portion of the tabbed.PropertyContributor. This worked in 3.4.x, but starting in 3.5 the tabbed property sheet fails to load. I've traced back the code to where I believe the defect was introduced. package org.eclipse.ui.internal.navigator.resources.workbench; public class TabbedPropertySheetAdapterFactory implements IAdapterFactory { /* * (non-Javadoc) * * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, * java.lang.Class) */ public Object getAdapter(Object adaptableObject, Class adapterType) { if (adaptableObject instanceof CommonNavigator) { if (!((CommonNavigator)adaptableObject).getViewSite().getId().equals(ProjectExplorer.VIEW_ID)) return null; if (IPropertySheetPage.class == adapterType) return new TabbedPropertySheetPage( new TabbedPropertySheetProjectExplorerContributor( (CommonNavigator) adaptableObject)); } return null; } Notice the if statement above that checks for the ProjectExplorer.VIEW_ID. This line was not in 3.4.2 and a TabbedPropertySheetPage was returned and functioned well. Starting in 3.5.X only a null is returned due to my common navigator view having a different view id. Reproducible: Always Steps to Reproduce: 1. Create a custom CommonNavigator view with unique id 2. Create a TabDescriptorProvider and custom tabbed property sheet 3. Run eclipse and try and activate the tabbed property sheet. Property sheet will not show up/be activated.

Files changed in fix:
bundles/org.eclipse.ui.navigator.resources/src/org/eclipse/ui/internal/navigator/resources/workbench/TabbedPropertySheetAdapterFactory.java