Working sets
Users often find it necessary to filter views such as the navigator view in
order to reduce clutter. Plug-ins can assist in filtering using different
techniques.
-
Resource filters
can be used to filter by file name. Plug-ins contribute resource
filters that the user can enable using a view's filter selection dialog.
-
Working sets can be used to filter resources by only including
specified resources. Working sets are selected using the view's
working set dialog.
If your plug-in implements a view that shows resources (or objects that are
adaptable to
IResource),
you should support working sets.
IWorkingSetManager
provides API for manipulating working sets. You can obtain an
IWorkingSetManager
using
IWorkbench
API.
IWorkingSetManager manager = workbench.getWorkingSetManager();
IWorkingSetManager
allows you to manipulate and create working sets:
-
createWorkingSetSelectionDialog - returns a working set dialog that shows the user the current working
sets. You can get the selected working sets from the dialog once it is
closed.
-
createWorkingSetEditWizard - returns a working set edit wizard for editing the specified working
set
-
getWorkingSets() - returns a list of all defined working sets
-
getWorkingSet(String name) - returns a working set specified by
name
IWorkingSetManager
also provides property change notification as working sets are added,
removed, or as they change. If your view or editor needs to respond to
changes in the selected working set, it can add a listener for CHANGE_WORKING_SET_CONTENT_CHANGE.
Adding new working set types
For many plug-ins, using
IWorkingSetManager
to provide resource filtering is sufficient. If your plug-in needs to
define working sets differently, it can register a new type of working set using
org.eclipse.ui.workingSets
.
The Java tooling uses this feature to define a Java working set type.
Working set types are shown when the user decides to add a working set.
When you define your own type of working set, you can use
IWorkingSet.getId protocol to ensure that the working set matches the type that you have
defined. Any working sets that you create programmatically must have
their id set to the id of a working set page that can display the working
set elements. This id is used to ensure that the proper working set
edit page is launched when the user edits the working set. A null
id indicates that the working set should use the default resource working
set type.
See the
org.eclipse.ui.workingSets
extension point documentation and
IWorkingSet
protocol for more detail.