GMF Editor mit nur einem Connection Tool

Bakushu

Mitglied
Hallo,

ich bin gerade dabei meinen ersten graphischen Editor, für eine DSL, mit GMF zu entwickeln.
Dafür habe ich mir diverse Tuorials durchgelesen und auch das Buch von Richard Gronback gekauft.
Bisher komm ich gut zurecht, ich konnte alle benötigten Modelle erfolgreich erstellen und daraus einen grafischen Editor erzeugen.

Mein Problem ist nun , dass ich in meinem Metamodell mehrere Assoziationen zwischen Klassen gesetzt habe und jede dieser Assoziationen (Connections) wird jetzt in der Palette des Editors angezeigt.
Im Prinzip ist es nicht schlimm, aber ich bin es von DSL Tools in Visual Studio gewohnt, dass man dafür einen Connection Builder erzeugen kann, der jegliche Connection repräsentiert.

Lange Rede, kurzer Sinn ist es möglich in GMF, in der Palette von einem Editor, nur eine Connection zu haben, die für alle Connections des entsprechenden Metamodells gilt?
Oder ist dieses Verhalten nur mit eigener Programmierung zu erreichen?

Ich möchte es halt vermeiden, dass in meinem Editor 10 Elemente für die Connections vorhanden sind, von denen der Benutzer dann zusätzlich die richtige auswählen muss.
In all den Tutorials, die ich bisher gefunden habe, wurde entweder ein Editor mit nur einer Connection erzeugt oder wenn es mehrere waren, dann wurde nichts am Editor verändert und die Palette hatte mehrere Connection Tools
Daher bin ich immer noch auf der Suche nach einer Lösung für mein Problem.



Ich hoffe ich konnte mein Anliegen halbwegs verständlich ausdrücken.
Vielleicht kann mir jemand einen guten Tipp geben.


Viele Grüße
Bakushu
 
Zuletzt bearbeitet:

Wildcard

Top Contributor
Du kannst alle anderen Connections aus der gmftool entfernen, allerdings musst du dann das Tool bzgw. die Edit Policy händisch anpassen um je nach Kontext eine andere Connection zu erstellen. Ganz ohne programmieren funktioniert es also nicht.
 

Bakushu

Mitglied
Hab es mir schon fast gedacht :).
Bezüglich solcher Dinge, find ich das Visual Studio Visualization and Modeling SDK einfach besser gemacht.
Naja ok, zumindest weiß ich jetzt, dass ich nach EditPolicies suchen muss.

Kannst du mir vielleicht ein Tutorial sagen, bei dem so was gemacht wird?

Gruß
Bakushu
 

Wildcard

Top Contributor
Ich persönlich bin auch kein großer Fan von GMF. Der generierte Code ist IMO einfach zu kompliziert und schwierig zu customizen. Auch das Default Look and Feel der Graphen gefällt mir nicht besonders.
Vielleicht schaust du dir mal Graphiti als GMF Alternative an, mir ist Graphiti deutlich angenehmer. Du schreibst zwar Code statt ihn zu generieren, allerdings braucht man in den meisten Fällen nur sehr wenig, einfach vertändlichen Code.
Graphiti Home
 

Bakushu

Mitglied
Von Graphiti habe ich schon gelesen, aber ich brauche GMF für mein Studium. Daher möchte ich es in GMF hinkriegen graphische Editoren zu erzeugen, wenn möglich genau so wie mit dem Visual Studio Visualization and Modeling SDK .
Bei dem Thema Codeerzeugung muss ich noch mehr lesen, aber soweit ich das überblicken kann, wird doch ein Modell, das man in einem GMF Editor zeichnet, in einer XML File gespeichert.
Und diese XML kann man doch mit diversen Templatesprachen, wie Xpand oder Acceleo umwandeln in anderen Code, z.B. Java-Code.
Natürlich muss man für diese Transformation eine eigene Umwandlungslogik entwerfen, aber es ist eigentlich gut machbar.

Ich vermute du meintest in deinem vorherigen Post den Code, der für den eigentlichen Editor erzeugt wird, oder?
Da stimm ich dir zu, er ist schwer zu verstehen.
Leider gibt es auch kaum Literatur dazu, und deutsche Bücher schon gar nicht :D

Die Tutorials auf Eclipsepedia über GMF sind auch schon älter und ich finde das Buch von Richard Gronback nicht sehr geeignet für Anfänger.
Ich habe viele Begriffe zum ersten Mal gehört und der Code wird IMO auch oft nicht gut beschrieben.

Aber alle Anfang ist ja bekanntlich schwer ;)

Momentan wär ich schon froh wenn ich nur ein Tool für eine Connection in meinem Editor hätte, momentan sind es leider 9.
 

Wildcard

Top Contributor
Von Graphiti habe ich schon gelesen, aber ich brauche GMF für mein Studium. Daher möchte ich es in GMF hinkriegen graphische Editoren zu erzeugen, wenn möglich genau so wie mit dem Visual Studio Visualization and Modeling SDK .
Da ich Visual Studio Visualization and Modeling SDK nicht kenne kann ich dazu nicht viel beitragen.
Bei dem Thema Codeerzeugung muss ich noch mehr lesen, aber soweit ich das überblicken kann, wird doch ein Modell, das man in einem GMF Editor zeichnet, in einer XML File gespeichert.
Und diese XML kann man doch mit diversen Templatesprachen, wie Xpand oder Acceleo umwandeln in anderen Code, z.B. Java-Code.
Natürlich muss man für diese Transformation eine eigene Umwandlungslogik entwerfen, aber es ist eigentlich gut machbar.
Nicht zwangsläufig XML. Das Modell wird per EMF Resource serialisiert und geladen. Mit EMF kann man so ziemlich in jedes Format serialisieren, es muss also nicht immer XML sein.

Momentan wär ich schon froh wenn ich nur ein Tool für eine Connection in meinem Editor hätte, momentan sind es leider 9.
Das ist wie gesagt erstmal nicht schwer, du musst lediglich die gmftool anpassen. Danach musst du allerdings dafür sorgen das dein eines Tool jeweils die passende Connection erzeugt.
Noch als Tipp, Connections müssen nicht unbedingt eine Entsprechung im Modell haben (also zB eine Connection Klasse). Du kannst Connections auch direkt über EReferences ableiten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S GMF Editor mit einem zur Laufzeit erstellten Modell Plattformprogrammierung 4
T Speichern eines Objectes in einem Editor (mit isDirty) Plattformprogrammierung 6
L RCP View in einem Editor öffnen? Plattformprogrammierung 3
K Editor nicht in der 'EditorArea' öffnen, sondern in einem Folder(Layout). Plattformprogrammierung 10
L HTML Editor Plattformprogrammierung 2
P Artifact-Editor in RCP-Anwendung Plattformprogrammierung 14
TheWhiteShadow RCP Zustand von Editor Toolbar ToggleButton aktualisieren Plattformprogrammierung 0
D Eclipse_Visual Editor Problem Plattformprogrammierung 2
M Extension Point für Content Assist in JSP Editor gesucht Plattformprogrammierung 2
TheWhiteShadow RCP Editor Inhalt speichern Plattformprogrammierung 3
TheWhiteShadow RCP Konstrukt für Editor in Eclipse gesucht. Plattformprogrammierung 3
P RCP Text Editor Example - Missing Bundles lassen sich nicht auffinden. Plattformprogrammierung 6
3 Eclipse Editor Plugin selektiert Projekt nicht Plattformprogrammierung 10
C Java Editor funktioniert nicht Plattformprogrammierung 9
G RCP Eclipse Editor + Guice Plattformprogrammierung 8
J RCP Verhindern, dass Editor geschlossen wird Plattformprogrammierung 5
slawaweis RCP Formularbasierter XML-Editor (bzw. vorhandenen XML-Editor integrieren) Plattformprogrammierung 8
C Eclipse Plugin Entwicklung: Editor für Flussdiagramme Plattformprogrammierung 6
E Editor Schriftgröße ändern per "Java Code" Plattformprogrammierung 8
W letzte angeklickten Editor ermitteln Plattformprogrammierung 3
B Eclpise Visual Editor Plattformprogrammierung 2
A RCP Editor-Reiter (FormEditor): Kann Rechtsklick-Menue überschrieben werden? Plattformprogrammierung 6
A RCP Tabs oben und unten im Editor oder mehrere Editoren? Plattformprogrammierung 7
T RCP - Scrollable Editor Plattformprogrammierung 4
J TableViewer aus Editor refreshen Plattformprogrammierung 5
T RCP Local History für eigenen Editor Plattformprogrammierung 9
L RCP Genmodel-Editor? Plattformprogrammierung 2
U Klassendiagramm-Editor (EMF, GMF, Ecore Tools) Plattformprogrammierung 3
M gmfgraph editor Plattformprogrammierung 6
B Eclipse RCP: Kontextsensitive Buttons für Editor und Hilfebutton für Wizard hinzufügen Plattformprogrammierung 5
J RCP Default Editor öffnen? Plattformprogrammierung 5
J Code Editor auslesen? Plattformprogrammierung 3
C [GEF] gespeicherte Dateien des generierten Editor Plattformprogrammierung 5
G Editor undo/redo Plattformprogrammierung 9
Spot84 datei im editor öffnen(tutorial undurchsichtig) Plattformprogrammierung 5
G Editor anzeigen Plattformprogrammierung 2
T Setze Gradienten auf Elemente(GMF-Editor) Plattformprogrammierung 2
S Custom Editor Content Assist Plattformprogrammierung 3
G Editor und doSave() Plattformprogrammierung 19
G WYSIWYG HTML Editor als Eclipse Plug-In Plattformprogrammierung 6
K XML Editor im Project Plattformprogrammierung 12
S RCP Anfängerfrage - Zusammenspiel View, Editor, Model Plattformprogrammierung 4
D GEF Editor als RCP ausführen Plattformprogrammierung 10
G Editor Plattformprogrammierung 6
N GMF Editor automatisch generieren Plattformprogrammierung 2
H Visueller Editor für Eclipse RCP Anwendung Plattformprogrammierung 3
G xml-Datei im Editor importieren Plattformprogrammierung 3
dzim Editor aus View öffnen - fehler: unbekannte Editor ID Plattformprogrammierung 11
Paule EMF Editor Dateiverknüpfungen Plattformprogrammierung 9
Z Aus einem PDF-Formular heraus eine Android App Outlook starten Plattformprogrammierung 3
D JNA Referenz zu einem Array übergeben in c++ Library(dll) Plattformprogrammierung 3
F OSGi Applikation läuft einem Linux langsam, auf dem anderen normal Plattformprogrammierung 4
M Grahiti in einem RCP Projekt implementieren Plattformprogrammierung 1
D Plugin - JUnit - Tests aus einem anderen Projekt ausführen Plattformprogrammierung 7
C RCP Zwei Commands in einem Handler Plattformprogrammierung 2
C RCP Generieren eines WAR-Files aus einem lauffähigen Product Plattformprogrammierung 2
S RCP Daten aus einem File auslesen, und daraus ein neues Objekt erstellen! Plattformprogrammierung 4
X Datei in einem Eclipse Projekt über Plugin zugreifen Plattformprogrammierung 2
E eclipse RCP Anwendung programmatisch / aus einem anderen Programme starten? Plattformprogrammierung 8
O Problem mit relativen Pfaden in einem RCP-Plugin Plattformprogrammierung 5
C Texteditor öffnet mit einem Error Plattformprogrammierung 3
M Problem beim Zugriff auf Klasse aus Fragment in einem anderen Plugin Plattformprogrammierung 3
S In einem Plugin main einer anderen Klasse aufrufen Plattformprogrammierung 18
K Einträge von einem PlugIn unterbinden. Plattformprogrammierung 6
G Verschiedene Farben in einem Treeview Plattformprogrammierung 5
dzim Teileweise Auswahl in einem CheckboxTreeViewer? Plattformprogrammierung 3
T Aus einem View in das andere wecheln. Plattformprogrammierung 13

Ähnliche Java Themen

Neue Themen


Oben