Interfejs |
Opis |
IErrorContext |
Tworzy komunikaty interfejsu IStatus i zapisuje je w protokole modułu dodatkowego. |
Bundle |
Pakunek modułów dodatkowych zawierający implementację części. Automatycznie informuje inne komponenty, takie jak implementację interfejsu IErrorContext, o ich modułach dodatkowych. |
IContainer |
Kontener serwisu. Ten obiekt obsługuje zapytania dotyczące innych interfejsów serwisów. Jest to przydatne, gdy część musi przekierowywać lub multipleksować wszystkie dane ze swojego serwisu do jego elementów potomnych. |
INameable |
Umożliwia części ustawienie jej nazwy, ikony, tekstu podpowiedzi i opisu treści. Zastępuje
metody pobierające i funkcje nasłuchiwania związane z interfejsem IWorkbenchPart. |
Composite |
Nadrzędny element złożony części. Ten element
nie jest współużytkowany z żadnymi innymi częściami. Jest on utylizowany razem z
częścią. Część może ustawiać układ tego elementu i przyłączać do niego funkcje nasłuchiwania. |
ISecondaryId |
Interfejs, który użyty jako widok wielu instancji, zwraca drugorzędny identyfikator części. |
ResourceManager |
Przydziela i zwalnia w bezpieczny sposób obrazy, czcionki, kolory i inne zasoby pakietu SWT.
Zapewnia, że części współużytkują identyczne zasoby, a wszelkie przecieki pamięci są naprawiane przy zamykaniu części. |
IDirtyHandler |
Pozwala części ustawić lub wyzerować swoje informacje o zmianach. |
IMessageDialogs |
Wyświetla na ekranie okna dialogowe z błędami, ostrzeżeniami i informacjami. |
IActionBars |
Służy do wykonywania tych samych zadań, co metoda
getViewSite().getActionBars() interfejsu API platformy Eclipse 3.0. |
IMultiplexer |
Udostępnia komponent multipleksowany z dostępem do jego multipleksera
i wszelkich współużytkowanych interfejsów. . |
ISavedState |
Przechowuje stan części określający, czy część była wcześniej trwała. |
IPartFactory |
Pozwala części tworzyć zagnieżdżone widoki i edytory. |
IPartDescriptor |
Przechowuje metainformacje o części, takie jak identyfikator, tytuł, domyślny obraz itd. |
IEditorInput |
Przechowuje dane wejściowe edytora. Wskazuje widokom puste dane wejściowe edytora. |
ISelectionHandler |
Obsługuje zmiany wyboru. Części mogą używać tego pola do zmieniania wyboru, jaki udostępniają środowisku roboczemu. |
Do kontekstu zawierającego daną część należy określenie, czy część otrzyma unikalną instancję dla każdego interfejsu lub obiektu współużytkowanych przez wiele części. Konstruktor części nigdy nie otrzymuje argumentu o wartości NULL.
Wstawianie konstruktorów jest wygodne, ale przepisywanie istniejących edytorów i widoków tak, aby korzystały
z możliwości nowych interfejsów serwisu byłoby bardzo niepraktyczne. Dlatego wszystkie nowe interfejsy są dostępne
dla istniejących widoków także jako adaptery interfejsu IWorkbenchPartSite.
Poniżej przedstawiono widok z pojedynczym przyciskiem otwierającym okno dialogowe komunikatu.
Poniższy przykład zawiera kod źródłowy widoku korzystającego z nowego stylu, który otwiera okno dialogowe za pomocą nowego interfejsu IMessageDialogs.
/**
* Prezentacja użycia zależności komponentów w częściach korzystających z nowego stylu.
*
* @since 3.1
*/
public class DependenciesViewNew {
// Zależności
private IMessageDialogs dialogs;
/**
* Konstruktor komponentu. Nie należy wywoływać bezpośrednio.
*/
public DependenciesViewNew(Composite parent, IMessageDialogs dialogs) {
this.dialogs = dialogs;
Button testButton = new Button(parent,
SWT.PUSH);
testButton.setText("Otwórz okno dialogowe");
testButton.addSelectionListener(new
SelectionAdapter() {
/* (nie należy do dokumentacji Javadoc)
* @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
public void widgetSelected(SelectionEvent
e) {
openADialog();
}
});
}
private void openADialog() {
dialogs.open(IStatus.INFO, "To jest komunikat");
}
}
Ten przykład zawiera tradycyjny widok, który otwiera okno dialogowe przy
użyciu interfejsu IMessageDialogs i przedstawia fakt, że jest to wykonalne także za
pomocą tradycyjnych części środowiska roboczego.
Wiersze wyróżnione czerwoną czcionką zawierają inicjalizację interfejsu
IMessageDialogs i pokazują sposób korzystania z niego.
/**
* Prezentacja użycia zależności komponentów w częściach korzystających ze starego stylu.
*
* @since 3.1
*/
public class DependenciesViewOld extends ViewPart {
// Zależności
private IMessageDialogs dialogs;
// Główny widget
private Composite parent;
/* (nie należy do dokumentacji Javadoc)
* @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
*/
public void createPartControl(Composite parent) {
this.parent = parent;
this.dialogs = (IMessageDialogs)getSite().getAdapter(IMessageDialogs.class);
Button testButton = new Button(parent,
SWT.PUSH);
testButton.setText("Otwórz okno dialogowe");
testButton.addSelectionListener(new
SelectionAdapter() {
/* (nie należy do dokumentacji Javadoc)
* @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
public void widgetSelected(SelectionEvent
e) {
openADialog();
}
});
}
private void openADialog() {
if (dialogs != null) {
dialogs.open(IStatus.INFO, "To jest komunikat");
}
}
/* (nie należy do dokumentacji Javadoc)
* @see org.eclipse.ui.IWorkbenchPart#setFocus()
*/
public void setFocus() {
parent.setFocus();
}
}