GEF-Tutorial Kapitel 1
Aus Wirthi's Wiki
| GEF-Tutorial Eclipse Graphical Editor Framework | |
|---|---|
| Allgemeines Kapitel 1 (Überblick) Kapitel 2 (Model-View-Controller) Kapitel 3 (Model) Kapitel 4 (Controller) Kapitel 5 (View) Kapitel 6 (Editor-Hauptklasse) Kapitel 7 (Einsatz und Zusammenfassung) | |
|
Im Kapitel 1 des GEF-Tutorials wird kurz beschrieben, was GEF leisten kann und wie es dem Programmierer hilft, einen leistungsfähigen graphischen Editor zu erstellen.
[bearbeiten] Grundlagen
Das Graphical Editor Framework (kurz: GEF) ist eine Bibliothek von Java-Klassen und Eclipse-Plugins, die das Erstellen von graphischen Editoren vereinfacht. Dem Programmierer bleibt dabei immer noch etwas Arbeit überlassen, dies garantiert allerdings auch größtmögliche Flexibilität bei den erstellbaren Editoren. Ist man erstmal mit den benötigten Klassen und Techniken vertraut, kann man in kürzester Zeit höchst funktionale Editoren mit einerm ansprechenden GUI für beliebige Daten erstellen.
GEF basiert auf der Graphikbibliothek draw2d und wird meist gemeinsam mit dieser ausgeliefert. Die Zeichenoperationen werden nicht direkt auf SWT-Elemente - wie in Eclipse sonst üblich - durchgeführt, sondern über draw2d weiter abstrahiert. Der Umgang mit dieser Bibliothek ist nicht besonders kompliziert. Kennern des AWT-Frameworks wird vieles bekannt vorkommen, auch Umsteiger von SWT oder Swing werden keine größeren Probleme damit haben.
Wichtigstes Element von GEF ist die Bereitstellung einiger Basisklassen, die vom Benutzer implementiert werden müssen. Die Struktur dieser Klassen leitet den Benutzer an, wie ein Editor nach dem Model-View-Controller-Prinzip (siehe nächstes Kapitel) zu erstellen ist. Der Kern von GEF entspricht einer implementierung von Basisklassen zur Implementierung eines Editors nach diesem Prinzip. Das Framework "zwingt" den Programmierer in gewisser Weise dazu, den Editor sauber zu programmieren und die Verantwortlichkeiten des Systemes korrekt zu trennen. Daneben wird aber bereits auch komplexere Funktionalität bereit gestellt, um die sich der Benutzer später nicht mehr kümmern muss.
[bearbeiten] Beispiele für Editoren
Es gibt zwei unterschiedliche Haupttypen von Editoren:
- Graphen/Netzwerke: Dabei werden Informationsblöcke als frei im Raum schwebend darstellt und untereinander mit Kanten verbunden. Diese Variante eignet sich zur Bearbeitung von UML-Diagrammen, ER-Diagrammen, Stammbäumen, Flussdiagrammen u.s.w.
- Hierarchien: Dabei wird ein Informationsblock dargestellt, der insbesondere in seiner Reihenfolge oder graphischen Anordnung fix definiert wird. Beispiel hierfür wären Landkarten, GUI-Designer, Struktogramme (Nassi-Shneiderman-Diagramme), Tabellenkalkulations-änliche Informationen u.s.w.
Meist werden diese Darstellungsformen kombiniert. So werden in UML-Klassendiagrammen die einzelnen Klassen als Hierarchien darstellt, die untereinander über Kanten verbunden sind. Während die Klassen als ganzes räumlich verschoben werden können, ist dies für Informationen innerhalb einer Klasse nicht der Fall.
GEF unterstützt beide Arten von Editoren. Während die Hierarchien vom Programmierer mittels Schachtelung von graphischen Elementen und der Benutzung von geeigneten Layout-Managern selbst konfiguiert werden müssen, gibt es für die Garstellung von den Netzwerken zwischen einzelnen Elementen eine gute unterstüzung durch GEF. So muss man sich i.A. nicht mehr um das Routing der Verbindungslinien in Netzwerken kümmen, diese Arbeit wird bereits von GEF erledigt.
| GEF-Tutorial: Allgemeines - Kapitel 1 - Kapitel 2 - Kapitel 3 - Kapitel 4 - Kapitel 5 - Kapitel 6 - Kapitel 7 |
