In diesem Dokument werden einige für Plug-in-Entwickler interessante Änderungen vorgestellt, die im Release 3.2 von Eclipse an der Eclipse-Plattform und an SWT vorgenommen wurden.
Es gibt außerdem viele neue Funktionen, die für Endbenutzer der Plattform gedacht sind. Informationen zu diesen Funktionen enthält der Abschnitt Neue Funktionen im Workbench-Benutzerhandbuch.
Änderungen
bei der Plattform
|
|
Laufzeitrefactoring |
Um die Eclipse-Laufzeit flexibler zu gestalten und die unabhängig Verwendung von Laufzeitkomponenten zu ermöglichen, wurde das Plug-in org.eclipse.core.runtime in mehrere Plug-ins aufgeteilt:
Um die Steuerung der aufgeteilten Laufzeitkomponenten zu vereinfachen, wurden neue APIs hinzugefügt. Das Laufzeitrefactoring sollte für andere Plug-ins transparent sein. Weitere Details finden Sie im Migrationshandbuch von Eclipse 3.2. |
Allgemeiner Navigator |
Das neue Plug-in org.eclipse.ui.navigator führt ein Gerüst für die Erstellung von Anzeigefunktionen ein, die Inhalt aus mehreren Domänenmodellen kombinieren.
Das Gerüst ermöglicht die Ergänzung von Inhalt, Bezeichnungen, Aktionen, Filtern und weiteren Funktionalitäten über Deklarationen. Das Plug-in org.eclipse.ui.navigator.resources
stellt eine konkrete Verwendung dieses Gerüsts in Form einer Sicht Projektexplorer
sowie Erweiterungen der Anzeigefunktionen für das Modell IResource über Deklarationen bereit.
|
Gerüst für Registerkarten mit Eigenschaften |
Es wurde ein Gerüst für Registerkarten mit Eigenschaften hinzugefügt. Das Gerüst für Registerkarten mit Eigenschaften bietet eine Ersetzungsbenutzervorgabenseite, die das Anzeigen von Eigenschaften in der Sicht "Eigenschaften" mit beliebigen Steuerelementen ermöglicht, die in Registerkarten und Abschnitten organisiert sind, deren Ergänzung durch die Erweiterungsregistrierung erfolgt.
Details finden Sie im Artikel über die Eclipse-Sicht "Eigenschaften" mit Registerkarten. |
Dateisystem-API |
Das neue Plug-in org.eclipse.core.filesystem führt eine neue generische API für die Interaktion mit Dateisystemen ein. Die Plattform wurde so migriert, dass diese Dateisystem-API anstelle der APIs aus java.io verwendet wird. Dies bedeutet, dass Ressourcen in beliebigen Sicherungsdateisystemen erstellt werden und Plug-ins eine Unterstützung für neue Dateisystemtypen bereitstellen können. Zu den Assistenten für Projekte und für verlinkte Ressourcen wurde eine Unterstützung für die Erstellung von Ressourcen hinzugefügt, die mit anderen Dateisystemen verlinkt sind. Plug-ins, die alternative Dateisysteme definieren, können den Erweiterungspunkt org.eclipse.ui.ide.filesystemSupport als Anbindungspunkt für diese Assistentenunterstützung verwenden. |
Kategorisierung zu Import und Export hinzugefügt |
Die Erweiterungspunkte |
QuickInfo für Anmerkungen in Texteditoren |
Das Anzeigen von Anmerkungen als QuickInfo wurde aus JDT-Text auf den Plattformtext übertragen. Die Unterstützung der QuickInfo für Text, vertikale Leisten und Übersichtsleisten wird durch TextSourceViewerConfiguration installiert, die von Texteditoren verwendet wird:
|
Anmerkungsnavigation in Texteditoren |
Die Anmerkungsnavigation wurde aus JDT-Text auf den Plattformtext übertragen.
|
JFace-Feldunterstützung |
JFace führt eine neue Unterstützung ein, die dem Benutzer beim Ausfüllen von Feldern in Dialogen und Formularen hilft. Das Paket org.eclipse.jface.fieldassist stellt Klassen bereit, mit denen Sie beliebige Steuerelemente mit Dekoratoren in Form von Images und QuickInfo-Text versehen können. Hiermit können Sie erforderliche Felder in einem Dialog kennzeichnen, feldbasierte Fehlerbedingungen anzeigen oder Bedienerführungen der Inhaltshilfe aufrufen. Außerdem können Sie mit diesem Paket Inhaltsvorschläge für ein Steuerelement installieren. Hierzu gehören ein Dialogfenster mit Inhaltsvorschlägen, sekundäre Dialogfenster für weitere Informationen sowie Optionen, mit denen Vorschläge explizit oder automatisch während der Eingabe aufgerufen werden können.
|
JFace-Erweiterungen für TreeViewer |
AbstractTreeViewer unterstützt nun mehrere gleiche Elemente in der Baumstruktur, die jeweils über eine eigene übergeordnete Kette verfügen. Diese Unterstützung macht die Aktivierung der Elementzuordnung durch die Clients über einen Aufruf von setUseHashLookup(true) erforderlich. TreeViewer unterstützt nun Baumstrukturen des Typs SWT.VIRTUAL. Es gibt einen entsprechenden eng gefassten Inhaltsprovider ILazyTreeContentProvider, der Inhalt nur bei Bedarf zurückgibt. |
Unterstützung von Inhalt für dynamische Hilfe |
Die Hilfefunktion unterstützt nun eine dynamische Zusammensetzung des Inhalts der Hilfetexte. In XHMTL verfasste Themen können eine zusätzliche Eclipse-spezifische Markup-Formatierung enthalten, die den Inhalt basierend auf den Werten von "os/ws/arch", auf dem Vorhandensein von Plug-ins, auf aktivierten Funktionen usw. während der Verarbeitung filtert. Gemeinsam genutzter Inhalt kann in mehrere Dokumente aufgenommen werden. Außerdem können Plug-ins XHTML-Fragmente ergänzen, die an Ankern in anderen Dokumenten integriert werden. Mit allen diesen Funktionen können Informationsentwickler dynamische Dokumente bereitstellen, die sich selbst an den Kontext des Anzeigezeitpunkts anpassen. |
Erweiterungen für die Suche in der Hilfe |
Die Indexierung und Suche der Benutzerhilfe wurde durch verschiedene Maßnahmen erweitert. Über einen Erweiterungspunkt können zusätzliche Suchteilnehmer registriert werden, die Inhalt zum Lucene-Index hinzufügen können. Die Hilfe ergänzt nun einen XHTML-Suchteilnehmer, der dynamische Hilfedokumente, die in XHTML verfasst sind (siehe oben), indexieren kann. Außerdem werden Dokumente, die zuvor nicht im Index enthalten waren (z. B. Spickzettel und Startseiten "Willkommen"), künftig angezeigt. Für Suchtreffer können nun verschiedene Symbole verwendet werden, und die Aktion "Öffnen" kann an die Suchmaschine delegiert werden. |
Gruppierung von Fehlern möglich |
Fehler in der Sicht "Fehler" können künftig gruppiert werden. Es gibt Standardgruppierungen nach Wertigkeit und Fehlertyp. Zusätzliche Gruppen können über den Erweiterungspunkt org.eclipse.ui.ide.markerSupport definiert werden. |
Verbesserte Hilfe in Dialogen |
Die meisten Eclipse-Dialoge enthalten nun standardmäßige eine Schaltfläche "Hilfe" in der linken unteren Ecke. Diese Schaltfläche ruft die Kontexthilfe auf (wie die Taste F1 bei Windows). Außerdem wird der Inhalt des Hilfetextes jetzt in der Informationsleiste des Dialogs und nicht mehr in einem separaten Fenster angezeigt. Angepasste Dialoge können diese Funktionalität übernehmen, indem sie eine Unterklasse der neuen Klasse TrayDialog anstelle der Klasse Dialog bilden. Spickzettel können Sie auch (in der Informationsleiste) in den Dialogen der Schritte begleiten, bei denen Dialoge geöffnet werden müssen. |
Befehlslinks in Benutzerhilfeninhalt einbetten |
Links in Hilfetexten, Spickzetteln und Einführungsinhalt können nun Befehle ausführen, wenn sie durch den Benutzer aktiviert werden. Befehlslinks können zum Öffnen von Benutzervorgabenseiten, zum Starten von Assistenten, zum Anzeigen von Sichten, zum Öffnen von Perspektiven und zu vielen anderen Zwecken eingesetzt werden. Das Befehlsgerüst ist erweiterbar, so dass viele weitere Einsatzmöglichkeiten für Befehlslinks denkbar sind. Das Workbench-Benutzerhandbuch wurde an vielen Stellen durch Befehlslinks erweitert. Die folgende Abbildung zeigt zwei Befehlslinks in einem Hilfethema:
|
Unterstützung für Befehlsstart aus Spickzetteln |
Befehle können künftig aus Spickzetteln heraus gestartet werden.
Die folgende Inhaltsdatei enthält Befehle, mit denen die Sicht "Suchen" und der Paketexplorer geöffnet werden können.
<?xml version="1.0" encoding="UTF-8"?> <cheatsheet title="Example of Commands in a Cheat Sheet"> <intro> <description>A cheat sheet shows the package explorer</description> </intro> <item title="Show Search View"> <description>This is a step with a command which shows the search view.</description> <command serialization= "org.eclipse.search.ui.views.SearchView"/> </item> <item title="Step 2"> <description>This is a step with a command and parameters, shows package explorer.</description> <command serialization="org.eclipse.ui.views.showView( org.eclipse.ui.views.showView.viewId= org.eclipse.jdt.ui.PackageExplorer)"/> <onCompletion> Command example completed. </onCompletion> </item> </cheatsheet> |
Abschlussnachricht |
Sie können einem Schritt in einem Spickzettel eine Abschlussnachricht zuordnen, die angezeigt wird, wenn der entsprechende Schritt vollständig ausgeführt wurde.
|
Kombinierte Spickzettel |
Kombinierte Spickzettel sind in Eclipse 3.2 erstmalig verfügbar.
Ein kombinierter Spickzettel führt durch eine umfangreiche Aufgabenstellung, indem diese in kleiner Tasks mit jeweils eigenen Spickzetteln aufgeteilt wird. Die Tasks können in Gruppen zusammengefasst werden. Kombinierte Spickzettel werden in der Sicht "Spickzettel" geöffnet und über den Auswahldialog für Spickzettel gestartet. Für jede Tasks ist eine Beschreibung angegeben. Mit Hyperlinks wird der Benutzer durch eine Folge von Tasks geführt.
Kombinierte Spickzettel enthalten eine Baumstruktur, in der die Tasks und ihr Status angegeben sind. Die untere rechte Anzeige enthält die einzelnen Tasks. Der Inhalt eines kombinierten Spickzettels wird in einer XML-Datei definiert. Die Inhaltsdatei kann angeben, welche Abhängigkeiten zwischen Tasks bestehen. Dann kann eine Task nur dann gestartet werden, wenn alle vorausgesetzten Tasks abgeschlossen wurden. |
Suchbegriffindex der Hilfe |
Die Hilfe ist nun mit einem Suchbegriffindex ausgestattet, in dem Sie Suchbegriffe aus Ihrer Dokumentation registrieren und einen Link zu einem passenden Hilfedokument bereitstellen können. Der Index ist in der Sicht "Hilfe" und auch im Fenster "Hilfe" (siehe unten) verfügbar.
Hinweis: Der Indexinhalt ist für SDK noch nicht verfügbar (der Index wird nur angezeigt, wenn Inhalt verfügbar ist.) |
Konvertierungstool für XHTML-Hilfedokumente |
PDE enthält ein neues Dienstprogramm, mit dem HTML-Hilfedokumente eines Plug-ins ohne großen Aufwand in XHTML konvertiert werden können. Neben der Konvertierung von HTML in eine gültige XHTML-Datei aktualisiert das Tool die Dateinamenerweiterung sowie das Inhaltsverzeichnis und fügt die Bindings hinzu, die zur Aktivierung des dynamischen Inhalts und für die Suche im XHTML-Inhalt benötigt werden. Nach dieser Konvertierung können Benutzer die neuen Hilfefunktionen der Version 3.2 nutzen. Hierzu zählen das Filtern von dynamischem Inhalt, die Wiederverwendung von Inhalt und die Ergänzung von dynamischem Inhalt. Alle diese Funktionen setzen XHTML als Inhaltsformat voraus.
Diese Funktion können Sie im Kontextmenü von Plug-in-Projekten über die Optionen PDE-Tools > Hilfedateien in XHMTL konvertieren aufrufen. |
Universal Welcome |
Aufgrund der Erfahrungen mit konkreten Implementierungen von Startseiten "Willkommen" bietet das Produkt nun eine konfigurierbare Seite "Universal Welcome", die von jedem beliebigen Programm verwendet werden kann. Für Produkte stehen sieben vordefinierte Abschnitte zur Auswahl: Übersicht, Erste Schritte, Lernprogramme, Beispiele, Neue Funktionen, Webressourcen und Migrieren (Eclipse SDK bietet vier dieser Abschnitte). Die Seite "Universal Welcome" verfügt über ein konfigurierbares Seitenlayout und Bedeutungsstufen für Ergänzungen. Themen können uneingeschränkt verwendet werden.
Außerdem bietet diese Seite HTML- und SWT-Darstellungen, um alle Plattformen zu 100% abzudecken.
Eine von "Universal Welcome" bereitgestellte Benutzervorgabenseite "Startseite" ermöglicht den Endbenutzern die Anpassung der Startseite "Willkommen". Diese Benutzervorgabenseite kann in jedes Produkt integriert werden, in dem sie bereitgestellt werden soll. Mehr über diese Funktion erfahren Sie in der Spezifikation von Universal Welcome. |
Konfigurations- und Themenunterstützung in Startseite "Willkommen" |
Das Einführungsgerüst bietet nun mehr Unterstützung für die Konfigurierbarkeit. Es besteht die Möglichkeit, ein Konfigurationsprogramm für Einführungen zu ergänzen, das eine einmalige Berechnung der untergeordneten Elemente in der Gruppe, eine Unterstützung der Variablensubstitution und eine späte Ankerpfadauflösung bietet. Diese Unterstützung wird von der Komponente "Universal Welcome" in großem Umfang genutzt, kann jedoch auch von anderen Startseitenimplementierungen verwendet werden.
Themen stellen benannte Objektgruppen mit CSS-Dateien, Eigenschaften und Images dar, die zusammen das Aussehen für den Inhalt einer Startseite "Willkommen" definieren. Universal Welcome nutzt diese Unterstützung und stellt in Version 3.2 die Möglichkeit zur Themenauswahl sowie zwei konkrete Themen ("Kreise" und "Purpurrotes Netz") zur Verfügung. |
Unterstützung von Namensbereichen für Ant-Erweiterungspunkte |
Die Erweiterungspunkte antTasks und antTypes von org.eclipse.ant.core ermöglichen künftig die Angabe einer URI, in der die Definition vorhanden sein soll. Vollständige Details aller Änderungen enthalten die Angaben zum Programmfehler 133190. |
Teamunterstützung für die Integration logischer Modelle |
Es wurde eine API hinzugefügt, mit der logische Modelle an Teamoperationen mitwirken können. Diese API bietet Team-Provider folgende Möglichkeiten:
|
Änderungen bei SWT
|
|
Anzeiger für Sortierung in Tabellen und Baumstrukturen |
Tabellen und Baumstrukturen unterstützen nun im Header der Spalte einen Anzeiger für die Sortierrichtung. SWT-Ausschnitte zeigen Sortierung nach Spalte (einfach) und Sortierung nach Spalte (virtuelle Tabelle). |
Neu sortierbare Spalten in Baumstrukturen |
In Eclipse 3.1 wurde die Möglichkeit hinzugefügt, Spalten in einer Tabelle neu zu sortieren. Diese Unterstützung wurde nun auf Baumstrukturen ausgeweitet. Die Anzeigefolge von Spalten in einer Baumstruktur kann geändert werden, indem der Spaltenheader gezogen wird. Alternativ kann sie über das Programm festgelegt werden. |
Verbesserte Unterstützung von XP-Thema |
Bei Windows XP zeigt SWT nun die Hintergrundtextur in Ordnern mit Registerkarten an. Alle Gruppen, Bezeichnungen, Markierungsfelder vor diesem Hintergrund sind transparent. Außerdem zeigen angepasste Fensterobjekte (z. B. StyledText) nun den richtigen Rahmen für das gültige Thema von Windows XP an. Anweisungen zur Ausführung mit einer Windows XP-Oberfläche finden Sie in den häufig gestellten Fragen zu SWT. |
Animierte GIF-Images |
Animierte GIF-Images können in einer Datei gespeichert werden. Ein Beispiel finden Sie im SWT-Ausschnitt. |
Benachrichtigung über Aussehen der Arbeitsoberfläche |
Wenn Darstellungseinstellungen wie das Thema, die Schriftart oder die Standardfarben für die Arbeitsoberfläche geändert werden, wird ein Ereignis |
Benachrichtigung über Löschvorgang |
Wenn bislang ein Ereignis |
QuickInfo für Spalten |
Mit der Methode |
Vertikale Symbolleiste |
Mit der Darstellung |
OpenGL-Unterstützung |
Künftig können Sie OpenGL in SWT-Anwendungen einsetzen. Die OpenGL-Schnittstelle arbeitet mit OpenGL-Bibliotheken anderer Anbieter wie LWJGL. Beispiele finden Sie in den folgenden SWT-Ausschnitten: |
Virtuelle Baumstruktur |
Bei Baumstrukturen wird nun die Darstellung SWT.VIRTUAL unterstützt. Hierdurch können Sie problemlos Baumstrukturen mit einem großen Datenvolumen erstellen. Wenn Elemente "TreeItems" erforderlich sind, werden sie bedarfsgerecht erstellt. Ein Beispiel finden Sie im SWT-Ausschnitt. |
Schaltflächen mit Image und Text |
Schaltflächen können nun Images ebenso wie Text anzeigen. Diese Funktionsweise wird bei Windows XP, Mac OS X und GTK unterstützt. |
HIView unter Mac OS X |
SWT verwendet nun HIView unter Mac OS X. Dies löst viele Problemsituationen beim Ausschneiden und Ändern der Größe. |
Objekte in Text einbetten |
Mit dem Element "TextLayout" können nun Objekte wie Images oder Fensterobjekte in Text eingebettet werden. Glyphenmesswerte wie Anstieg, Abstieg und Breite können angegeben werden. Objekte werden in den Text eingeschlossen. Ein Beispiel finden Sie im SWT-Ausschnitt. |
Text einrücken und ausrichten |
Das Element "TextLayout" unterstützt nun die Einrückung und Ausrichtung von Text. Ein Beispiel finden Sie im SWT-Ausschnitt. |
Anhebung der Textgrundlinie |
Bei den Elementen "TextLayout" und "TextStyle" können Sie nun die Anhebung der Grundlinie für einen Textbereich angeben. Ein Beispiel finden Sie im SWT-Ausschnitt. |
HSB-Farbunterstützung |
Eine Farbe kann durch die Angabe des Farbtons, der Sättigung und der Helligkeit erstellt werden. Außerdem können für eine bestimmte Farbe der Farbton-, Sättigungs- und Helligkeitswert abgefragt werden. Ein Beispiel finden Sie im SWT-Ausschnitt. |
Ausrichtung und Einrückung des Elements "StyledText" |
Das Element "StyledText" unterstützt nun die Einrückung und Ausrichtung von Text. Ein Beispiel finden Sie im SWT-Ausschnitt. |
Eingebettete Objekte in StyledText |
Beim Element "StyledText" können Sie nun Objekte wie Images oder Fensterobjekte in den Text einbetten. Objekte werden in den Text eingeschlossen. Ein Beispiel finden Sie im SWT-Ausschnitt. |
Hintergrundbild |
In einem Steuerelement kann ein Hintergrundbild festgelegt werden. Außerdem kann der Hintergrund von untergeordneten Fensterobjekten wie Bezeichnungen übernommen werden. Ein Beispiel finden Sie im SWT-Ausschnitt. |
Natives Laden von Images |
Die Konstruktorfunktion |
Text ziehen |
Falls das Ereignis Ein Beispiel finden Sie im SWT-Ausschnitt. |
Neues Fensterobjekt "ExpandBar" |
Mit dem Fensterobjekt "ExpandBar" kann der Benutzer durch das Klicken auf einen Header Sammlungen von Fensterobjekten anzeigen und ausblenden. Das Fensterobjekt "ExpandBar" enthält mehrere Elemente, deren Header jeweils ein Image und einen Titel enthält. Ein Beispiel finden Sie im SWT-Ausschnitt. |
Listenpunkte in StyledText |
Das Fensterobjekt "StyledText" kann nun ganz unterschiedlich formatierte Listen anzeigen. Dies schließt Listenpunkte, Nummerierungen, Groß- oder Kleinbuchstaben oder benutzerdefinierte Darstellungen ein. Ein Beispiel finden Sie im SWT-Ausschnitt. |
Angepasstes Ziehen bei Baumstrukturen |
Das Fensterobjekt "Tree" unterstützt nun das angepasste Ziehen für einzelne Zellen. Anwendungen können die native Darstellung und Funktionsweise der Baumstruktur erweitern, indem sie die Wiedergabe der Daten anpassen. Die Anwendung steuert die Zeilenhöhe, weshalb mehrere Textzeilen gezogen werden können. Außerdem können mehrere Images in derselben Zelle dargestellt, die Schriftart oder Farbe mehrerer Elemente geändert und das Ziehverhalten einer Auswahl geändert werden. Beispiele enthalten die folgenden Ausschnitte: |
Angepasstes Ziehen bei Tabellen |
Das Fensterobjekt "Table" unterstützt nun das angepasste Ziehen für einzelne Zellen. Während die native Darstellung und Funktionsweise der Tabelle erhalten bleibt, können Benutzer das Ziehen von Zellen anpassen, um Daten in einer anderen Form als Text mit Image anzuzeigen, um mehrere Textzeilen in einer Zelle darzustellen, um die Schriftart und Farbe mehrmals in derselben Zelle zu ändern, um das native Ziehen der Auswahl zu überschreiben usw. Beispiele enthalten die folgenden Ausschnitte: |
Effekte für Ziehvorgänge bei Tabellen und Baumstrukturen |
Die Fensterobjekte "Table" und "Tree" liefern nun eine optische Rückmeldung des Ziehvorgangs. |
Neue Klasse für QuickInfo |
Mit der neuen Klasse "ToolTip" können QuickInfos angezeigt werden, die nicht direkt an ein Steuerelement gebunden sind. Diese QuickInfos können an einer beliebigen Stelle platziert und entweder die Standarddarstellung der Plattform oder die im Folgenden gezeigte Darstellung BALLOON verwenden. |