Inhaltsverzeichnis | 5 |
Vorwort | 11 |
Geleitwort | 17 |
1Einführung | 19 |
1.1Was ist Eclipse? | 19 |
1.1.1Eclipse ist ein IDE-Framework | 20 |
1.1.2Eclipse ist eine Tools Platform | 20 |
1.1.3Eclipse ist eine Anwendungsplattform | 21 |
1.1.4Eclipse ist eine Open Source Community | 23 |
1.1.5Die Eclipse Public License und die Eclipse Foundation | 24 |
1.2Weichenstellung für die Zukunft | 25 |
1.2.1Von e4 zu Eclipse 4.2 | 26 |
1.2.2Einfacher und moderner programmieren | 27 |
1.3Warum soll ich e4 erlernen? | 28 |
1.4Aus welchen Komponenten besteht das Eclipse 4.2 SDK? | 29 |
1.4.1Eclipse 4 Application Platform | 29 |
1.4.2Compatibility Layer | 30 |
1.4.3Platform, JDT, PDE | 31 |
1.5Aus welchen Komponenten besteht die Eclipse 4 Application Platform? | 31 |
1.5.1Dependency Injection | 32 |
1.5.2IEclipseContext | 32 |
1.5.3Core Services | 33 |
1.5.4Application Model | 33 |
1.5.5Rendering Engine | 33 |
1.5.6Declarative Styling | 34 |
2Erste Schritte | 35 |
2.1Eclipse 4.2 SDK einrichten | 35 |
2.2Anwendungsgerüst erstellen | 36 |
2.2.1Plugin-Projekt einrichten | 36 |
2.2.2Application Model erzeugen | 38 |
2.2.3Das Modell mit der Plattform zusammenbringen | 39 |
2.2.4Die Anwendung starten | 42 |
2.3Die Anwendung fertigstellen | 43 |
2.3.1Früher Views, heute Parts | 43 |
2.3.2Views testen und wiederverwenden | 45 |
2.3.3Part ins Application Model aufnehmen | 46 |
2.4Die Anwendung um einen Handler erweitern | 47 |
2.4.1Toolbar und Handler deklarativ hinzufügen | 47 |
3Entwicklungsumgebung | 55 |
3.1e4-Tools | 55 |
3.1.1e4-Tools installieren | 55 |
3.1.2Überblick | 57 |
3.2Wizards | 58 |
3.2.1e4 Application Project Wizard | 58 |
3.2.2Classes | 61 |
3.2.3Model | 63 |
3.3Application Model Editor | 65 |
3.3.1Die Darstellung im Application Model Editor | 66 |
3.3.2Änderungen am Modell vornehmen | 68 |
3.4Live Editor | 70 |
3.4.1Das Eclipse SDK mit dem Live Editor betrachten | 70 |
3.4.2Den Live Editor in eigenen Programmen verwenden | 70 |
3.5CSS-Tooling | 77 |
3.5.1CSS-Editor | 77 |
3.5.2CSS Spy | 77 |
3.5.3CSS Scratchpad | 80 |
3.6Window Builder | 81 |
3.6.1Installation | 81 |
3.6.2Window Builder und e4 | 83 |
3.6.3Die Zukunft von Window Builder | 85 |
4Application Model | 87 |
4.1Einführung | 87 |
4.1.1Organisation klassischer Eclipse 3.x-Anwendungen | 87 |
4.1.2Organisation von Eclipse 4.x-Anwendungen | 89 |
4.1.3Aufbau des Application Models | 90 |
4.1.4Modell-Elemente mit externen Ressourcen verbinden | 91 |
4.1.5Eclipse Modelling Framework | 93 |
4.2Visuelle Elemente im Application Model | 93 |
4.2.1Windows | 94 |
4.2.2Parts | 98 |
4.2.3Parts am Beispiel eines kleinen Texteditors | 106 |
4.2.4PartDescriptoren im Einsatz | 112 |
4.2.5Perspektiven | 116 |
4.2.6Menüs | 126 |
4.2.7Window Trims und ToolBars | 131 |
4.3Nicht visuelle Elemente | 137 |
4.3.1Handler | 138 |
4.3.2Commands | 139 |
4.4Programmatischer Zugriff | 140 |
4.5Das Application Model erweitern | 143 |
4.5.1Model Fragment | 145 |
4.5.2Model Processor | 147 |
5Das Programmiermodell | 149 |
5.1Einführung | 149 |
5.2Der Eclipse Context | 151 |
5.2.1@Named | 153 |
5.2.2@Optional | 154 |
5.2.3@Active | 154 |
5.3Objekte injizieren | 154 |
5.3.1Konstruktoren | 155 |
5.3.2Felder | 155 |
5.3.3Methoden | 155 |
5.4Annotationen | 156 |
5.4.1@PostConstruct und @PreDestroy | 156 |
5.4.2@Focus | 157 |
5.4.3@Persist | 157 |
5.4.4@PersistState | 158 |
5.4.5@Execute und @CanExecute | 158 |
5.4.6Lifecycle-Annotationen | 158 |
5.5Den Context erweitern | 159 |
5.5.1@Creatable | 159 |
5.5.2Objekte manuell in den Context einfügen | 160 |
5.6Die Injektion manuell durchführen | 162 |
5.7Übersicht der Annotationen | 164 |
6Services | 165 |
6.1Selection Service | 166 |
6.2Preferences | 167 |
6.3Model Service und Part Service | 168 |
6.4Event Broker | 169 |
6.4.1Objekte an den Event Broker senden | 170 |
6.4.2Vom Event Broker benachrichtigt werden | 171 |
6.5Translation Service | 173 |
6.6Eigene OSGi Services definieren | 174 |
6.6.1OSGi Declarative Services | 177 |
7CSS-Styling | 181 |
7.1CSS und Eclipse 4.2 | 181 |
7.1.1Das Aussehen der Eclipse 4 IDE mit CSS verändern | 183 |
7.1.2CSS in Eclipse-4-Anwendungen verwenden | 186 |
7.1.3Farben und Gradienten | 192 |
7.2CSS-Selektoren | 195 |
7.2.1CSS-Selektoren nach Typ | 195 |
7.2.2CSS-Selektoren nach ID | 195 |
7.2.3CSS-Selektoren nach Klasse | 196 |
7.2.4Forgeschrittene Selektoren | 197 |
8Build und Deployment | 205 |
8.1Build-Werkzeuge | 206 |
8.1.1Apache Ant | 206 |
8.1.2Apache Maven | 206 |
8.2Tycho | 207 |
8.2.1Tycho bringt OSGi-Metadaten mit dem POM zusammen | 208 |
8.2.2Tycho installieren und einrichten | 209 |
8.3Packaging Types | 211 |
8.3.1eclipse-plugin | 212 |
8.3.2eclipse-test-plugin | 217 |
8.3.3eclipse-feature | 228 |
8.3.4eclipse-repository | 231 |
8.3.5Produkte bauen | 236 |
9Migration und Ausblick | 241 |
9.1Migration | 241 |
9.1.1Der Compatibility Layer | 241 |
9.1.2Migration von 3.x? | 242 |
9.1.3Reiner Compatibility Layer | 242 |
9.1.4Eine reine Eclipse-4-Applikation | 243 |
9.1.5Eine Eclipse-4-Applikation mit 3.x Komponenten | 243 |
9.1.6Compatibility Layer und Eclipse 4 Plugins | 243 |
9.1.7Eclipse 4 kompatibel entwickeln | 245 |
9.2Ausblick | 246 |
9.2.1Eclipse 3.x | 246 |
9.2.2Eclipse 4.2.x and beyond | 247 |
Autoreninfo | 249 |
Stichwortverzeichnis | 251 |