Working Sets



This extension point is used to define a working set wizard page. Working sets contain a number of elements of type IAdaptable and can be used to group elements for presentation to the user or for operations on a set of elements. A working set wizard page is used to create and edit working sets that contain elements of a specific type. An updater class is capable of monitoring for changes in resources contained within working sets and an element adapter class is able to transform resources prior to inclusion in the working set.

To select a working set the user is presented with a list of working sets that exist in the workbench. From that list a working set can be selected and edited using one of the wizard pages defined using this extension point. An existing working set is always edited with the wizard page that was used to create it or with the default resource based working set page if the original page is not available.

A new working set can be defined by the user from the same working set selection dialog. When a new working set is defined, the plugin provided wizard page is preceded by a page listing all available working set types. This list is made up of the name attribute values of each working set extension.

Views provide a user interface to open the working set selection dialog and must store the selected working set.

The resource navigator uses a working set to filter elements from the navigator view. Only parents and children of working set elements are shown in the view, in addition to the working set elements themselves.

Configuration Markup:

<!ELEMENT extension (workingSet*)>

<!ATTLIST extension




<!ELEMENT workingSet (EMPTY*)>

<!ATTLIST workingSet

id                  CDATA #REQUIRED

name                CDATA #REQUIRED

description         CDATA #IMPLIED

icon                CDATA #IMPLIED

pageClass           CDATA #IMPLIED

updaterClass        CDATA #IMPLIED

elementAdapterClass CDATA #IMPLIED>

Following is an example of how the resource working set dialog extension is defined to display and edit generic IResource elements. Additionally, it supplies an updaterClass that can handle removal and addition of resources on the fly as well as an elementAdapterClass that is capable of adapting objects to IResources.

    <extension point="org.eclipse.ui.workingSets">
            description="Contains basic resources (files, folders, and projects)"

API Information:
The value of the pageClass attribute must represent a class that implements the org.eclipse.ui.dialogs.IWorkingSetPage interface.

Supplied Implementation:
The workbench provides a working set wizard page for creating and editing resource based working sets.

Copyright (c) 2002, 2006 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at