Zbiory robocze

Użytkownicy często przekonują się o konieczności filtrowania widoków, na przykład widoku nawigatora, aby zredukować szum informacyjny.  Moduły dodatkowe mogą pomagać w filtrowaniu, korzystając przy tym z różnych technik.

Okno dialogowe wyboru zbiorów roboczych

Gdy dany moduł dodatkowy implementuje widok, w którym wyświetlane są zasoby (lub obiekty dostosowywane do interfejsu IResource), należy wprowadzić obsługę zbiorów roboczych.  Interfejs IWorkingSetManager udostępnia funkcje API do manipulowania zbiorami roboczymi.  Interfejs IWorkingSetManager można uzyskać przy użyciu interfejsu API IWorkbench.

IWorkingSetManager manager = workbench.getWorkingSetManager();

Interfejs IWorkingSetManager umożliwia tworzenie zbiorów roboczych i manipulowanie nimi:

Interfejs IWorkingSetManager udostępnia także powiadomienie o zmianie właściwości, gdy zbiory robocze są dodawane, usuwane lub zmieniane.  Gdy dany widok lub edytor musi zareagować na zmiany w wybranym zbiorze roboczym, może dodać funkcję nasłuchiwania dla zdarzenia CHANGE_WORKING_SET_CONTENT_CHANGE.

Dodawanie nowych typów zbiorów roboczych

Dla wielu modułów dodatkowych wystarcza użycie interfejsu IWorkingSetManager w celu udostępnienia filtrowania zasobów.  Gdy dany moduł dodatkowy inaczej definiuje zbiory robocze, może zarejestrować nowy typ zestawu roboczego przy użyciu punktu rozszerzenia org.eclipse.ui.workingSets.  Pakiet narzędziowy Java używa tej funkcji do definiowania typu zbioru roboczego Java.  Typy zbiorów roboczych są wyświetlane, gdy użytkownik decyduje się dodać zbiór roboczy.

Okno dialogowe zbiorów roboczych z wyświetloną listą dostępnych typów

 

Podczas definiowania własnego typu zbioru roboczego można użyć protokołu IWorkingSet.getId, aby zapewnić, że zbiór roboczy odpowiada zdefiniowanemu typowi.  Identyfikatory wszystkich zbiorów roboczych utworzonych w sposób programowy muszą być takie, jak identyfikatory stron zbiorów roboczych, które mogą wyświetlać elementy zbiorów roboczych.  Ten identyfikator zapewnia wyświetlenie odpowiedniej strony edycji zbioru roboczego, gdy użytkownik będzie modyfikował zbiór roboczy.  Identyfikator o wartości NULL wskazuje, że zbiór roboczy powinien używać domyślnego typu zbioru roboczego zasobów.

Więcej szczegółowych informacji na ten temat można znaleźć w dokumentacji punktu rozszerzenia org.eclipse.ui.workingSets i protokołu IWorkingSet.