Bug 261031 [CommonNavigator] IPipelinedContentProvider getParent() returning the suggested parent is not ignored
"Link with Editor" neglects to expand the tree in Project Explorer for not C/C++ file types after reopening eclipse. My case: 1. Create a new subfolder in C/C++ project. Place there a new file with non-C/C++ extension like hello.txt. Open the file with text editor. 2. Quit and reenter eclipse. It should open hello.txt in editor at that point. 3. In Project Explorer, push button "Link with Editor". I expect the tree to be expanded and the cursor placed on hello.txt at that point. As a side note, the button is actually named "Link open editors with content in the Navigator" (???). Well, that appears to be absolutely true and if you open Navigator it is linked. But what about linking in Project Explorer?
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/NavigatorContentServiceContentProvider.java
import org.eclipse.ui.internal.navigator.extensions.NavigatorViewerDescriptor;
import org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider;
import org.eclipse.ui.navigator.CommonViewer;
import org.eclipse.ui.navigator.INavigatorContentDescriptor;
import org.eclipse.ui.navigator.INavigatorViewerDescriptor;
import org.eclipse.ui.navigator.IPipelinedTreeContentProvider;
import org.eclipse.ui.navigator.OverridePolicy;
/**
 * <p>
 * Provides relevant content based on the associated
 * {@link org.eclipse.ui.internal.navigator.NavigatorContentService}&nbsp; for a
 * TreeViewer .
 * </p>
 * <p>
 * Except for the dependency on
 * {@link org.eclipse.ui.internal.navigator.NavigatorContentService}, this class
 * has no dependencies on the rest of the Common Navigator framework. Tree
 * viewers that would like to use the extensions defined by the Common
 * Navigator, without using the actual view part or other pieces of
 * functionality (filters, sorting, etc) may choose to use this class, in effect
 * using an extensible, aggregating, delegate content provider.
 * </p>
 * 
 * @see org.eclipse.ui.internal.navigator.NavigatorContentService
 * @see org.eclipse.ui.internal.navigator.NavigatorContentServiceLabelProvider
 * 
 * @since 3.2
 * 
 */
public class NavigatorContentServiceContentProvider implements ITreeContentProvider, ITreePathContentProvider {