views:

559

answers:

2

I want to add a new filter to the Project Explorer, to hide from the user some projects that are created automatically in an Eclipse RCP Application.

So far I've found two extension points:

org.eclipse.ui.ide.resourceFilters

Allows me to filter Navigation

org.eclipse.jdt.ui.javaElementFilters

Allows me to filter the Java Viewers

I expect there is a similar extension point for the Project Explorer, but so far I haven't had any luck getting it.

I tried importing org.eclipse.ui.navigator and org.eclipse.ui.navigator.resources but I could not find any interesting looking extension point either

I am using Eclipse 3.3.2 as the basis for this RCP Application

Thanks!

+1  A: 

Filters... for the Project Explorer view?

There are some long standing bugs on that:

That may requiere some specific development (as suggested in this thread)

you could probably accomplish this by creating a class that extends ViewFilter and associating your class with the project explorer.

(Note: FilterViewer were broken in Eclipse3.3.1, some using 3.3.2 here is a good idea)

VonC
This comment gave a hint. Indeed, it is done by extending ViewFilter. The tricky part was getting the right extension point combination to register it to the project explorer.
Mario Ortegón
+2  A: 

I found the right set of extension points. It is more of a pain that I expected, because the Project Explorer is a specialization of the common navigator.

This is a two-step process:

  • extend org.eclipse.ui.navigator.navigatorContent

    • Add a common filter to this extension point.
    • Set a name and id to the filter
    • Implement the filter viewer with the desired logic
  • extend org.eclipse.ui.navigator.viewer

    • Add a viewerContentBinding
    • Set the content id to org.eclipse.ui.navigator.ProjectExplorer
    • Add two includes
    • In the first include add a patter that matches the id of the common filter
    • In the second include add the id org.eclipse.ui.navigator.resourceContent

And then, the filter is associated to the common Project Explorer

Mario Ortegón
@Mario: very interesting; thank you for the answer, although you could detailed it a little bit more;). +1
VonC