É frequente que os utilizadores considerem necessário filtrar vistas como, por exemplo, a vista do navegador por forma a reduzir a acumulação de elementos. Os plug-ins podem ajudar nesta filtragem mediante diversas técnicas.
Se o plug-in implementar uma vista que mostre recursos (ou objectos que sejam adaptáveis a IResource), deverá poder suportar conjuntos de trabalho. OIWorkingSetManager proporciona uma API para manipular conjuntos de trabalho. Poderá obter um IWorkingSetManager com a API IWorkbench.
IWorkingSetManager manager = workbench.getWorkingSetManager();
O IWorkingSetManager permite manipular e criar conjuntos de trabalho:
O IWorkingSetManager também proporciona notificação de alterações de propriedade à medida que são adicionados, removidos ou alterados conjuntos de trabalho. Se a vista ou o editor precisar de responder a alterações no conjunto de trabalho seleccionado, poderá adicionar um ouvinte para CHANGE_WORKING_SET_CONTENT_CHANGE.
Para muitos plug-ins, a utilização do IWorkingSetManager para proporcionar filtragem de recursos é suficiente. S e o plug-in precisar de definir conjuntos de trabalho de modo diferente, poderá registar um novo tipo de conjunto de trabalho com org.eclipse.ui.workingSets. As ferramentas Java utilizam esta função para definir um tipo de conjunto de trabalho Java. Os tipos de conjuntos de trabalho são mostrados quando o utilizador decidir adicionar um conjunto de trabalho.
Ao definir um tipo de conjunto de trabalho, poderá utilizar o protocolo IWorkingSet.getId para assegurar que o conjunto de trabalho corresponde ao tipo que tiver definido. Os conjuntos de trabalho que criar programaticamente devem ter o respectivo ID definido como sendo ID de uma página de conjuntos de trabalho que possa apresentar os elementos dos conjuntos de trabalho. Este ID utiliza-se para assegurar que é lançada a página de edição de conjuntos de trabalho apropriada quando o utilizador editar o conjunto de trabalho. Um ID nulo indica que o conjunto de trabalho deve utilizar o tipo de conjunto de trabalho de recurso predefinido.
Consulte a documentação do ponto de expansão org.eclipse.ui.workingSets e o protocolo IWorkingSet para mais detalhes.