Часто пользователи нуждаются в использовании фильтров, например в панели Навигатор, для упрощения и разгрузки интерфейса. Модули могут осуществлять фильтрацию с помощью разных приемов.
Если модуль использует панель, отображающую ресурсы (или объекты, принимающие IResource), то следует включить поддержку рабочих наборов. IWorkingSetManager содержит API для управления рабочими наборами. Можно получить IWorkingSetManager , используя API IWorkbench.
IWorkingSetManager manager = workbench.getWorkingSetManager();
IWorkingSetManager позволяет создавать рабочие наборы и управлять ими:
IWorkingSetManager также предоставляет функцию уведомления об изменении параметров при добавлении, удалении или изменении рабочих наборов. Если требуется, чтобы панель или редактор реагировали на изменения выбранного рабочего набора, можно добавить получатель запросов для CHANGE_WORKING_SET_CONTENT_CHANGE.
Для многих модулей достаточно использовать IWorkingSetManager для фильтрации. Если требуется, чтобы модуль задал рабочие наборы иным способом, можно зарегистрировать новый тип рабочих наборов с помощью org.eclipse.ui.workingSets. Утилиты Java используют эту опцию для указания типов рабочих наборов Java. Типы рабочих наборов отображаются в том случае, когда пользователь решает добавить рабочий набор.
При определении собственного типа рабочего набора можно использовать протокол IWorkingSet.getId, чтобы убедиться, что рабочий набор совпадает с заданным вами типом. Все созданные вами рабочие наборы должны иметь ИД, совпадающий с ИД страницы рабочих наборов, отображающей элементы рабочего набора. Этот ИД используется для запуска подходящей страницы редактирования рабочего набора, когда пользователь собирается внести изменения в рабочий набор. Нулевой ИД указывает, что рабочий набор должен использовать тип рабочего набора ресурсов по умолчанию.
Дополнительные сведения по этому вопросу содержатся в описании точки расширения org.eclipse.ui.workingSets и протокола IWorkingSet.