|
|
11 | Plugins für die Eclipse-Workbench entwickeln | 341
|
11.1 | Die Architektur der Eclipse-Plattform. | 342
|
11.1.1 | OSGi. | 342
|
11.1.2 | Minimalplattform. | 344
|
11.1.3 | Rich Client Platform vs. IDE. | 344
|
11.1.4 | Ressourcenverwaltung. | 344
|
11.1.5 | Benutzeroberfläche. | 345
|
11.1.6 | Hilfesystem. | 345
|
11.1.7 | Unterstützung für Arbeitsgruppen. | 346
|
11.1.8 | Weitere Plugin-Gruppen. | 346
|
11.1.9 | Zusammenfassung. | 346
|
11.2 | Die Kernklassen der Eclipse-Plattform. | 347
|
11.2.1 | Die Klasse Platform. | 348
|
11.2.2 | Die Klasse Plugin. | 348
|
11.2.3 | Die Klasse Preferences. | 349
|
11.2.4 | Pfadangaben. | 350
|
11.2.5 | Überwachung lang laufender Prozesse. | 350
|
11.3 | Der Eclipse-Workspace. | 351
|
11.3.1 | Ressourcen. | 352
|
11.3.2 | Markierungen. | 356
|
11.3.3 | Auf Ressourcenänderungen reagieren. | 357
|
11.3.4 | Lang laufende Prozesse verwalten. | 359
|
11.4 | Plugins konfigurieren. | 360
|
11.4.1 | Die Plugin-Development-Perspektive. | 360
|
11.4.2 | Die Manifest-Dateien. | 363
|
11.4.3 | Die wichtigsten Erweiterungspunkte im Eclipse-SDK. | 367
|
11.4.4 | Der Schema-Editor. | 376
|
11.5 | Die Benutzeroberfläche der Eclipse-Plattform. | 379
|
11.5.1 | Formulare. | 379
|
11.5.2 | Die Eclipse-Workbench. | 387
|
11.5.3 | Die Architektur der Workbench. | 388
|
11.5.4 | Ereignisverarbeitung in der Workbench. | 390
|
11.5.5 | Operationenverwaltung. | 393
|
11.5.6 | Editoren. | 394
|
11.5.7 | Views. | 403
|
11.5.8 | Aktionen. | 408
|
11.5.9 | Dialoge. | 414
|
11.5.10 | Workbench-Wizards. | 417
|
11.5.11 | Präferenzen und PropertyPages. | 420
|
11.5.12 | Perspektiven definieren. | 421
|
11.6 | Elemente der Benutzerhilfe. | 423
|
11.6.1 | Das Hilfesystem. | 423
|
11.6.2 | Cheat Sheets. | 429
|
11.6.3 | Den Eclipse-SDK-Willkommensschirm erweitern. | 431
|
11.6.4 | Hover. | 433
|
11.7 | Webbrowser aufrufen. | 434
|
|
|
12 | Eigene Produkte auf der Grundlage von Eclipse entwickeln | 435
|
12.1 | ANT-Einbindung. | 436
|
12.2 | Plugins und Fragmente. | 439
|
12.3 | Features. | 440
|
12.4 | Deployment. | 442
|
12.4.1 | Features ausliefern. | 443
|
12.4.2 | Eigenständige Produkte ausliefern. | 444
|
12.4.3 | Produktgestaltung. | 445
|
12.4.4 | Den Workspace bevölkern. | 446
|
12.4.5 | Update-Sites erstellen. | 448
|
12.5 | Von einer Update-Site installieren. | 450
|
12.5.1 | Update-Site hinzufügen. | 450
|
12.5.2 | Features installieren. | 451
|
12.5.3 | Features aktualisieren. | 452
|
12.5.4 | Die Eclipse-Konfiguration verwalten. | 452
|
12.5.5 | Install-Handler. | 453
|
12.5.6 | Update Policies. | 453
|
12.6 | Produkte internationalisieren. | 454
|
12.6.1 | Textkonstanten in Programmen. | 455
|
12.6.2 | Textkonstanten in Manifest-Dateien. | 457
|
12.6.3 | Hilfetexte und Spickzettel. | 457
|
12.6.4 | Sprachpakete ausliefern. | 459
|
12.7 | Der Feature-Patch. | 459
|
|
|
13 | Projekt 3: Rechtschreibprüfung als Eclipse-Plugin | 461
|
13.1 | Die Kernklassen der Rechtschreibprüfung. | 462
|
13.2 | Übersicht. | 462
|
13.2.1 | Die Engine. | 462
|
13.2.2 | Übersicht. | 463
|
13.3 | Das Projekt einrichten. | 464
|
13.4 | Die Plugin-Konfiguration. | 467
|
13.4.1 | Importierte Dateien. | 468
|
13.4.2 | Das OSGi-Manifest MANIFEST.MF. | 469
|
13.4.3 | Das Manifest plugin.xml. | 470
|
13.4.4 | Das Schema documentTokenizer.exsd. | 475
|
13.5 | Die Plugin-Klasse. | 477
|
13.6 | Die Aktion "Check Spelling". | 483
|
13.6.1 | Die Klasse SpellCheckingTarget. | 483
|
13.6.2 | Die Klasse CheckSpellingActionDelegate. | 490
|
13.7 | Das Korrekturfenster. | 499
|
13.7.1 | Die Klasse SpellCorrectionView. | 500
|
13.7.2 | Aktionen. | 512
|
13.7.3 | Bilder verwalten. | 513
|
13.8 | Das Zusammenspiel zwischen den Kernklassen und den GUI-Klassen. | 515
|
13.9 | Dokumente analysieren. | 530
|
13.10 | Die Rechtschreibprüfung konfigurieren. | 530
|
13.10.1 | Präferenzen. | 530
|
13.10.2 | Das GUI. | 533
|
13.10.3 | Den PreferenceStore auslesen. | 539
|
13.11 | Das Hilfesystem. | 540
|
13.11.1 | Das Hilfe-Inhaltsverzeichnis. | 540
|
13.11.2 | Kontextabhängige Hilfe. | 541
|
13.11.3 | Aktive Hilfe. | 542
|
13.12 | Ein Plugin für Java-Properties. | 545
|
13.12.1 | Das Projekt einrichten. | 546
|
13.12.2 | Das Manifest. | 546
|
13.12.3 | Die Plugin-Klasse. | 549
|
13.12.4 | Die Präferenzen. | 549
|
13.12.5 | Die PreferencePage. | 551
|
13.12.6 | Der Java-Properties-Tokenizer. | 552
|
13.12.7 | Das Hilfesystem. | 552
|
13.13 | Die Rechtschreibprüfung internationalisieren. | 553
|
13.13.1 | Textkonstanten in Java-Code. | 553
|
13.13.2 | Textkonstanten in Manifest-Dateien. | 556
|
13.13.3 | Ein Sprachfragment erstellen. | 557
|
13.14 | Den Spell Checker zum Einsatz bringen. | 560
|
13.14.1 | Definition des Spell-Checker-Features. | 560
|
13.14.2 | Das Sprach-Feature erstellen. | 566
|
13.14.3 | Definition der Update-Site. | 568
|
13.14.4 | Installation. | 570
|
13.15 | Erfahrungen. | 570
|
|
|
14 | Die Rich Client Platform | 571
|
14.1 | Motivation und Abgrenzung. | 572
|
14.2 | Plugins und die RCP. | 572
|
14.3 | Erstellen einer Applikation. | 573
|
14.3.1 | Das Interface IPlatformRunnable. | 574
|
14.3.2 | Die Klasse WorkbenchAdvisor. | 574
|
14.3.3 | Die Klasse WorkbenchWindowAdvisor. | 576
|
14.3.4 | Die Klasse ActionBarAdvisor. | 577
|
14.4 | Testen einer Rich-Client-Applikation. | 578
|
14.5 | Produktdefinition. | 579
|
14.5.1 | Produktdefinition im Plugin-Manifest. | 579
|
14.5.2 | Die Konfigurationdatei config.ini. | 579
|
14.5.3 | Der Produkteditor. | 580
|
14.5.4 | Weitere Gestaltungsmöglichkeiten. | 583
|
14.6 | Die Willkommensseite. | 584
|
14.7 | Ausliefern einer Rich-Client-Applikation. | 584
|
|
|
15 | Projekt 4: Das Spiel Hex als RCP-Applikation | 587
|
15.1 | Übersicht. | 587
|
15.2 | Das Projekt einrichten. | 589
|
15.3 | Das Manifest plugin.xml. | 590
|
15.3.1 | Erste Ausführung. | 590
|
15.3.2 | Weitere benötigte Eclipse-Plugins. | 591
|
15.3.3 | Die Applikation konfigurieren. | 592
|
15.4 | Die Schnittstelle zur Game-Engine. | 593
|
15.4.1 | Das Interface IStatusListener. | 593
|
15.4.2 | Das Interface IGame. | 593
|
15.5 | Die Klasse View. | 594
|
15.6 | Die Game-Engine. | 596
|
15.7 | Die Klasse ApplicationActionBarAdvisor. | 602
|
15.8 | Benutzerhilfe. | 606
|
15.8.1 | Hilfe anbinden. | 606
|
15.8.2 | Willkommensschirm erstellen. | 607
|
15.9 | Produktdefinition. | 611
|
15.10 | Das komplette Manifest. | 614
|
15.11 | Auslieferung. | 615
|
15.12 | Diskussion. | 616
|
|
|
16 | Schlussfolgerungen und Ausblick | 617
|
16.1 | Lauffähige Prototypen. | 618
|
16.2 | Automatisierte Tests. | 619
|
16.3 | Verfeinerungen. | 619
|
16.4 | "Embrace Change". | 621
|
16.5 | Weg des geringsten Widerstandes. | 622
|
|
|
|
|