Frage

Wir arbeiten ein Modellierungswerkzeug auf dem GMF-Framework und Tools basieren auf der Erstellung. Wir haben eine Anforderung, damit die Benutzer Ansichten (Figuren) zur Laufzeit hinzufügen und sie in ihren Diagrammen. Wir werden mit SVG-Dateien werden Zahlen darzustellen.

Was ist die richtige Struktur von EditParts und andere GEF verwandte Klassen in einem solchen Fall? Wir dachten an eine einzige GEF EditPart Klasse Umsetzung, das wäre die entsprechende Figur erstellen basierend auf einem Parameter (Pfad zur SVG-Datei), die in dem Modell. Bisher scheint es nicht zu funktionieren.

Es muss jemand sein, der bereits vor etwas getan wird. Googeln und die Eclipse-Foren sind nicht hilfreich gewesen, so weit ...

War es hilfreich?

Lösung

Nun, wir fanden eine (Teil-) Lösung. Wir haben ein Element, und in Abhängigkeit von einem Parameter wir ein Kind Figur im Innern zu erstellen, die eine SVG-Datei verwendet (basierend auf dem Parameter).

Der folgende Test-Code wird in dem Konstruktor der Abbildung genannt:

  

ScalableImageFigure svg; URL url;         if (Typ == 1) {url =   ArchitectureStudioDiagramEditorPlugin.getInstance (). GetBundle (). GetEntry (                     "Symbole" + IPath.SEPARATOR + "Schatten-box.svg"); } Else {url =   ArchitectureStudioDiagramEditorPlugin.getInstance (). GetBundle (). GetEntry (                     "Symbole" + IPath.SEPARATOR + "star.svg"); } Svg = new   ScalableImageFigure (RenderedImageFactory.getInstance (url),   true, true, true);

  this.add(svg);

Jetzt müssen wir herausfinden, wie mehrere Elemente in der Palette haben.

Andere Tipps

Der richtige Weg ist 0.59 Zuordnung zwischen Figur und EditPart zu haben. Auch sollte die Malerei Aufgabe der Figur bleiben. Wie sollte das Bild gemalt wird, muss die Logik in der Figur sein nicht in der EditPart.

Danke

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top