gmf (graphical modeling framework)
DESCRIPTION
GMF (Graphical Modeling Framework). Urs Frei. Inhalt. GMF Beispiel Shape Editor Standardfunktionalitäten des GMF Editor Theorie GMF Draw2d GEF Über den Tellerrand blickend GEF3d Zest. Ziel:. So einfach ist das!!! Vortrag soll beim selbständigen Einstieg helfen - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/1.jpg)
1
GMF (Graphical Modeling Framework)
Urs Frei
![Page 2: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/2.jpg)
2
Inhalt
GMF Beispiel Shape Editor Standardfunktionalitäten des GMF Editor Theorie GMF
Draw2d GEF
Über den Tellerrand blickend GEF3d Zest
![Page 3: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/3.jpg)
3
Ziel:
So einfach ist das!!! Vortrag soll beim selbständigen Einstieg
helfen Brauche eine graphische Visualisierung
Kein Problem Es geht „alles“
![Page 4: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/4.jpg)
4
GMF am Beispiel eines Shape-Editors Anforderungen:
Rechteck zeichnen Ellipse zeichnen Rechtecke und Ellipsen haben Namen Elemente mit Linien verbinden
![Page 5: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/5.jpg)
5
Ausgangslage EMF (Michael & Laurent) EMF Modell für Shape Editor
![Page 6: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/6.jpg)
6
GMF Übersicht
Eclipse
GMF
EMF
GEF (Graphical Editor Framework)
Draw2d
![Page 7: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/7.jpg)
7
GMF Dashboard
EMF-Teil (Michael Laurent)
![Page 8: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/8.jpg)
8
Der EMF Editor (RCP)
Der Shape-Editor als EMF Editor RCP Konfiguration
![Page 9: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/9.jpg)
9
EMF Editor generieren
![Page 10: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/10.jpg)
10
Launch EMF Editor
1
32
4
![Page 11: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/11.jpg)
11
Shape Editor mit EMF erstellen
Für diese Anwendung nicht sehr komfortabel!!!
![Page 12: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/12.jpg)
12
EMF was findet man wo?
Modell
Labelprovider
EditorProjekt Wizard
![Page 13: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/13.jpg)
13
Wir wollen mehr Graphischer Editor
![Page 14: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/14.jpg)
14
Graphische Elemente Definieren
![Page 15: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/15.jpg)
15
Editor Toolbar definieren 1/2
![Page 16: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/16.jpg)
16
Editor Toolbar definieren 2/2
![Page 17: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/17.jpg)
17
Mapping definieren 1/4
![Page 18: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/18.jpg)
18
Mapping definieren 2/4
![Page 19: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/19.jpg)
19
Mapping definieren 3/4
![Page 20: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/20.jpg)
20
Mapping definieren 4/4
![Page 21: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/21.jpg)
21
GMF gmfgen
![Page 22: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/22.jpg)
22
Neues Plugin mit GMF Code
Enthält alle GMF Informationen (GEF, draw2d)
![Page 23: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/23.jpg)
23
GMF Launch konfigurieren
1
324
![Page 24: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/24.jpg)
24
Shape Editor mit GMF erstellen
![Page 25: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/25.jpg)
25
Was kann der Editor standardmässig? Outline Property-View (wie bei EMF) Kopieren/Einfügen über Zwischenablage
(auch in andere Programme) Drucken von Diagrammen Algorithmen zum Anordnen von Elementen
![Page 26: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/26.jpg)
26
Was kann der Editor standardmässig? (Properties)
![Page 27: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/27.jpg)
27
Was kann der Editor standardmässig? (Preference)
![Page 28: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/28.jpg)
28
Wo nimmt man folgende Anpassungen vor? Eine Ellipse soll eine Ellipse sein Symbolleiste: ein Bild anpassen Bsp.: falscher Shape wird gezeichnet. Wo
ändern?
![Page 29: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/29.jpg)
29
Ellipse anpassen
![Page 30: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/30.jpg)
30
Symbolleiste anpassen
![Page 31: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/31.jpg)
31
Falscher Shape wird gezeichnet: Wo ändern?
![Page 32: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/32.jpg)
32
GMF: etwas genauer
Besteht aus: GEF
Draw2D EMF kennen wir
![Page 33: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/33.jpg)
33
Draw2d: Übersicht
Lightweight Toolkit Empfängt SWT Event
und transformiert sie Paint und Layout
Events über UpdateManager
„Alles“ ist FigureBsp. Label usw.
![Page 34: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/34.jpg)
34
Draw2d: Aufgaben
Painting Layout Hit Testing Connection Routing Koordinaten-Systems
![Page 35: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/35.jpg)
35
Draw2d: Painting, Layout
Firgure#paint() Start des Zeichnens mit div. Optimierungen (Figure#paintFigure() Figure#paintChildrenArea() Figure#paintChildren() Figure#paintBorder())
Layout
![Page 36: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/36.jpg)
36
Draw2d: Z-Order, Clipping
![Page 37: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/37.jpg)
37
Draw2d: Connections
Bsp: ChopboxAnchor
Decorations
![Page 38: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/38.jpg)
38
GEF: Übersicht
![Page 39: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/39.jpg)
39
GEF: EditPart (Controller)
![Page 40: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/40.jpg)
40
GEF: Editing
1. Mausevent2. Welcher EditPart ist betroffen (source EditPart)3. Welcher Ziel (target EditPart) ist betroffen
Bsp.: Element verschieben. Source RectangleEditPart; Target DiagramEditPart
4. Gibt es ein Command zu dieser Operation? Ist es ausführbar?
5. Modell ändern.
![Page 41: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/41.jpg)
41
GEF: EditPolicies
Änderungen erfolgen nicht direkt über EditParts, sondern über EditPolicies
Ein EditPolicy hat eine Verantwortlichkeit Anmeldung der EditPolicies über Rollen Command führt dann Änderung
durch undo redo
![Page 42: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/42.jpg)
42
GMF: Und wozu braucht man noch das GMF? Vereint EMF und GEF Zwei Hauptkomponenten
Runtime Tooling Komponente für MDA Ansatz
MDA Ansatz vereinfacht Erstellung graphischer Editoren (Problem von GEF)
![Page 43: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/43.jpg)
43
Über den Tellerrand blickend
GEF 3d Noch kein
Release Mehrere
Dimensionen Inter-Diagram-Verbindungen
![Page 44: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/44.jpg)
44
Über den Tellerrand blickend GEF3d
Erweitert GEF Jeder GEF Editor sollte erweiterbar sein
![Page 45: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/45.jpg)
45
Über den Tellerrand blickend
Zest: Eclipse Visualisierungs- Toolkit Unterprojekt von GEF Verfolgt JFace-Ansatz (Contentprovider,
Labelprovider) Vorgefertigte Komponenten für
Graph GraphNode GraphConnection GraphContainer
![Page 46: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/46.jpg)
46
Über den Tellerrand blickend
Zest Vorgefertigte
Layoutalgos Wer Eclipse
(JFace)beherrscht kannZest
![Page 47: GMF (Graphical Modeling Framework)](https://reader035.vdocuments.net/reader035/viewer/2022062321/56813ad0550346895da2fa42/html5/thumbnails/47.jpg)
47
Referenzen
Eclipse Modeling Framework EMF (Michael und Laurent) http://www.infopoint-fhs.ch/_documents/03022010/Praesentation.pdf
GMF-Tutorial: www.tm.tfh-wildau.de/vandenhouten/media/GMF-Step-By-Step.pdf
Eclipse Magazine www.eclipsemagazin.de Vol. 8 Vol. 6.09 Vol. 1.10 Vol. 2.10
www.eclipse.org/gef www.eclipse.org/gef/zest www.eclipse.org/emf www.eclipse.org/gmf www.eclipse.org/gef3d