Najprostszy moduł dodatkowy

Wszyscy wiemy, jak wygląda portlet "Hello World" w zwykłym kodzie Java bez używania żadnych struktur interfejsów użytkownika ani innych specjalistycznych bibliotek.

   public class HelloWorld {
      public static void main(String[] args) {
         System.out.println("Hello World");
      }
   }

Co się dzieje z tym starym standardem w kontekście platformy Eclipse? Zamiast myśleć o portlecie Hello World jako samozawierającym się programie, przeobrażamy go w rozszerzenie platformy. Ponieważ chcemy przywitać się ze światem, mówiąc "Hello World", musimy wymyślić sposób rozszerzenia środowiska roboczego o nasze pozdrowienia.

Gdy dokładniej przyjrzymy się komponentom interfejsu użytkownika platformy, poznamy wszystkie sposoby rozszerzania i dostosowywania interfejsu użytkownika środowiska roboczego. Na razie zacznijmy od jednego z najprostszych rozszerzeń środowiska roboczego - widoku. 

Okno środowiska roboczego możemy sobie wyobrazić jako ramkę prezentującą różne elementy wizualne. Te elementy dzielą się na dwie główne kategorie: widoki i edytory. Edytorom przyjrzymy się później. Widoki dostarczają informacji na temat obiektu, z którym użytkownik pracuje w środowisku roboczym. Treść widoków często ulega zmianie, ponieważ użytkownik wybiera różne obiekty środowiska roboczego.

Widok Hello world

Aby powitać użytkownika pozdrowieniem "Hello World", zaimplementujemy własny widok dla modułu dodatkowego hello world.

Moduł dodatkowy org.eclipse.ui.workbench definiuje większość interfejsów publicznych składających się na interfejs API środowiska roboczego. Te interfejsy można znaleźć w pakiecie org.eclipse.ui i jego podpakietach. Dla wielu z tych interfejsów dostarczono domyślne klasy implementujące, które można rozszerzać, aby wprowadzić drobne modyfikacje systemu. W przykładzie hello world rozszerzymy widok środowiska roboczego, aby dostarczyć etykietę z napisem "hello".

Interesuje nas interfejs IViewPart definiujący metody, które muszą zostać zaimplementowane, aby dodać widok do środowiska roboczego. Domyślną implementację tego interfejsu dostarcza klasa ViewPart. Mówiąc w skrócie, klasa ta jest odpowiedzialna za tworzenie widgetów potrzebnych do wyświetlania widoku.

Standardowe widoki środowiska roboczego często wyświetlają pewne informacje dotyczące obiektu zaznaczonego przez użytkownika lub takiego, po którym użytkownik nawiguje. Treść widoków jest aktualizowana w odpowiedzi na akcje uruchamiane w środowisku roboczym. W naszym przypadku chcemy tylko powiedzieć "hello", więc implementacja widoku będzie dosyć prosta.

Zanim przejdziemy do tworzenia kodu, musimy się upewnić, że środowisko zostało przygotowane do programowania modułów dodatkowych.