[ Pobierz całość w formacie PDF ]
wybranych elementów. Dzięki temu da się w pewnych sytuacjach przewidzieć czyn-
ności, które użytkownik będzie chciał wykonać. Przykładem jest tutaj kreator importu
zapamiętujący miejsce, z którego ostatnio pobieraliśmy pliki, lub też kreator nowych
zasobów, który podpowiada nam ostatnio wprowadzone w nim wartości.
D:\PDF\Eclipse. Podręcznik programisty\r11.doc 273
274 Część II f& Rozb dowa Eclipse
Okna dialogowe ogólnego zastosowania
W bibliotekach dołączonych do Eclipse znajdziemy implementację gotowych okien
dialogowych, które służą do wykonywania wielu często powtarzanych czynności i mogą
zostać bez problemu użyte wewnątrz naszych modułów. Ich definicje zawierają się
w kilku warstwach składających się na interfejs użytkownika Eclipse: SWT, JFace czy
też w klasach definiujących obszar roboczy.
Pakiet oferuje nam dwa typowe okna dialogowe:
, służące do przeglądania i wyboru katalogu.
, za pomocą którego wskazujemy plik do otwarcia lub do zapisu danych.
Te dwa okna dialogowe są elementami sterującymi SWT. Oznacza to, że korzystają
z odpowiadających im obiektów zdefiniowanych na poziomie konkretnego systemu ope-
racyjnego i mogą się między sobą różnić. Dzięki temu jednak mają na każdej platfor-
mie, na której działa aplikacja, naturalny dla użytkownika wygląd. Natomiast interfejs
programowy, z którego korzystamy (czyli API), jest identyczny.
W tabeli 11.3 znajdziemy listę okienek dialogowych, które zdefiniowane są w pakiecie
. Możemy z nich korzystać w samodzielnie tworzonych na-
rzędziach.
Tabela 11.3. Okna dialogowe zdefiniowane w pakiecie org.eclipse.jface.dialogs
Nazwa klasy Opis
Wyświetla typowe okienko komunikatu. Może zawierać ilustrujący kategorię
komunikatu obrazek. Do dyspozycji mamy następujące możliwości:
(brak obrazka), (błąd), (informacja), (pytanie)
oraz (ostrzeżenie).
Okienko dialogowe pozwalające użytkownikowi na wprowadzenie
pojedynczego łańcucha znaków.
Z tego okienka dialogowego korzystamy w sytuacji, gdy wykonujemy
długotrwałą operację i chcemy o stanie jej zaawansowania informować
użytkownika na bieżąco. Od nas zależy, czy zadanie to zdecydujemy
się uruchomić w osobnym wątku. Jeśli tak, możemy obsłużyć funkcję
przerwania tego zadania przez użytkownika. Wszystkie te opcje mogą
być obsłużone przez opisywane okno.
Okno dialogowe służące do wyświetlania komunikatu o błędzie. Posiada część,
w której mogą znalezć się szczegółowe informacje o zaistniałej sytuacji.
Również pakiet oferuje nam zbiór okien dialogowych, które
potrafią wesprzeć budowany przez nas moduł:
pozwala użytkownikowi wybrać elementy znajdujące
się na liście.
służy do wyboru jednego elementu z listy zasobów.
pozwala wybierać elementy tworzące strukturę
drzewa. Podczas selekcji możemy korzystać z mechanizmów filtrowania
i kontroli poprawności.
Rozdział 11. f& Okna dialogowe i kreatory 275
odpowiada typowemu oknu dialogowemu Zapisz jako .
Wskazujemy plik (także taki, który jeszcze nie istnieje), do którego chcemy
zapisać zawartość obiektu.
Przedstawiliśmy tylko wybrane okna dialogowe zdefiniowane w pakiecie. Naszym zda-
niem są one najbardziej przydatne. Radzimy, by w sytuacji, gdy potrzebne jest nowe
okienko dialogowe, sprawdzić, czy w wymienionych pakietach nie istnieje już klasa,
która spełnia nasze wymagania. Jeśli jednak stwierdzimy, że konieczne jest zbudowanie
własnego okienka, warto jego implementację oprzeć na jednej z wymienionych klas
bazowych:
Proponujemy również, by opierać się w miarę możliwości na komponentach dostar-
czanych w ramach SWT i nie tworzyć na przykład własnej implementacji okienka służą-
cego do otwarcia pliku. Stracimy bowiem cechy charakterystyczne dla natywnych w da-
nym systemie aplikacji.
Tworzenie własnej strony parametrów
Strona parametrów pozwala nam definiować opcje dotyczące któregoś z zainstalowanych
modułów. Informacje te zapisywane są jako lokalne dane dotyczące wybranego pluginu.
Rysunek 11.3 przedstawia strukturę okienka parametrów i zawarte w nim strony. Widać
na nim także sposób, w jaki strona komunikuje ze swym magazynem danych (ang.
preference store).
Rys nek 11.3.
Struktura
okienka parametrów
systemu i zawartej
w nim strony
Okno dialogowe parametrów środowiska wyświetla wszystkie dostępne strony; zarządza
tym moduł zwany menedżerem stron. Każda z nich składa się z pojedynczego kom-
ponentu typu , który staje się aktywnym obiektem po wskazaniu w drzewie
pozycji odpowiadającej danej stronie. Przypominamy, że to klasa zdefiniowana
w bibliotece SWT (szczegóły znajdują się w rozdziale 10.). Stanowi ona kontener za-
wierający inne elementy sterujące, zdefiniowane przez nas podczas projektowania strony.
D:\PDF\Eclipse. Podręcznik programisty\r11.doc 275
276 Część II f& Rozb dowa Eclipse
Aktywna strona korzysta z klasy pluginu w celu znalezienia miejsca, w którym zapa-
miętujemy wartości naszych właściwości (jest to tzw. magazyn danych).
Za komunikację z magazynem danych odpowiada klasa pluginu. Sama strona parametrów
nie zarządza zapisywaniem wartości. To klasa pluginu ma dostęp do aktualnej przestrzeni
projektów, w której znajduje się przypisany jej folder służący do przechowywania
bieżących danych. Jest to zawsze folder lokalny, nie repozytorium. Domyślne wartości
parametrów mogą być zdefiniowane wewnątrz pluginu. O wprowadzonych przez użyt-
kownika zmianach informować mogą zdarzenia płynące od poszczególnych elementów
interfejsu użytkownika. Wartości parametrów zapisywane są lokalnie, ale mogą być
importowane i eksportowane, tak więc istnieje możliwość przenoszenia ich pomiędzy
różnymi przestrzeniami projektów.
W magazynie danych związanym ze stroną parametrów możemy przechowywać
wartości, które nigdy nie będą widoczne dla użytkownika. Możemy także zapisy-
wać własności zdefiniowane w jednej części narzędzia, a odczytywać je w drugiej.
Wszystkie one będą wzięte pod uwagę w czasie wykonywania operacji eksportu oraz
importu.
Za większość czynności związanych z dodawaniem strony parametrów odpowiada szkie-
let, z którego zwykle korzystamy. Naszym podstawowym zadaniem jest definicja znajdu-
jących się w niej pól. Oto lista kolejnych etapów tworzenia własnej strony parametrów:
1. Definicja rozszerzenia dotyczącego strony parametrów.
2. Implementacja strony parametrów.
3. Przygotowanie interfejsu użytkownika strony.
4. Określenie sposobu zapisu i odczytu własności.
5. Ustalenie domyślnych wartości parametrów.
6. Dodanie kodu zarządzającego wartościami parametrów.
7. Obsługa zdarzeń na stronie parametrów.
Oto szczegółowy opis przedstawionych kroków.
Definicja rozszerzenia dotyczącego strony parametrów
Nową stronę parametrów definiujemy, dodając do pliku manifestu punkt rozszerzenia
o nazwie . Określamy tam wartości trzech atrybutów:
nazwę strony, jej identyfikator oraz nazwę klasy zawierającej implementację. Opcjonalnie
możemy podać kategorię na tej podstawie strony parametrów mogą tworzyć strukturę
hierarchiczną widoczną po lewej stronie okna parametrów. Poniżej znajduje się przykład,
w którym definiujemy dwie strony parametrów. Występuje między nimi zależność po-
legająca na tym, że druga z nich jest elementem węzła, który stanowi pierwsza.
Rozdział 11. f& Okna dialogowe i kreatory 277
Powyższe punkty rozszerzenia tworzą dwie strony parametrów. W drugim z nich wy-
[ Pobierz całość w formacie PDF ]