Home FXL Modellierungs- und Editor-Framework
FXL-Modellierungs- und Editor-Framework PDF  | Drucken |

Das Framework baut auf dem FXL-XML-Generator-Framework auf und bietet alle Grundvoraussetzungen, um modellgetrieben Editoren zu entwickeln, die in vielfältiger Weise eingesetzt werden können.

Generelle Vorgehensweise

Gestartet wird mit der objekt-orientierten Modellierung der gewünschten Applikation. Dazu wird die im Rahmen des Eclipse-Modeling-Framework existierenden Modellierungssprache "Ecore" samt des zugehörigen Editors verwendet. Das Ergebnis dieses Schrittes ist das sogenannte Meta-Modell. Im XML-Kontext entspricht dem ein XML-Schema.

ecore

Nutzung des Eclipse-Ecore-Editors zur Modellierung

Ist die Domäne modelliert, wird der FXL-Generator verwendet, um aus dem Meta-Modell Java-Code zu generieren, der die Erstellung und Bearbeitung von Modellen (Instanzen des Meta-Modells) erlaubt. Dieser Code ist außerdem in der Lage, die Modelle in XML zu persistieren bzw. aus XML zu laden. Zusätzlich ist das Observer-Pattern integriert, um auf Modelländerungen reagieren zu können. Zusätzlich dazu wird weiterer Code erzeugt, der für die Darstellung der Modelle in den Editor notwendig ist.

fxlgen

Der FXL-Generator zur Erzeugung von Java- & Editor-Code

Das Tutorial zeigt die komplette Vorgehensweise am Beispiel der Erstellung einer einfachen Anwendung zur Kunden-/Bestellverwaltung.


Ergebnis/Einsatzmöglichkeiten

Die auf diese Weise erzeugten Editoren können auf vielfältige Weise eingesetzt werden

  • als Editoren innerhalb der Eclipse Entwicklungsumgebung
  • als Views innerhalb der Eclipse Entwicklungsumgebung
  • als Teile des Eclipse Preference-Dialogs
  • als Wizards
  • als eigenständige Anwendung/Java-Applet
  • als Web-Applikation (mittels Eclipse RAP)
cdf
Ein mit Hilfe von FXL erzeugter Eclipse-Editor

preferences

Ein mit FXL erstellter Editor als Eclipse-Preferences-Editor

wizard

Ein mit FXL erstellter Editor als Wizard


Konfiguration und Anpassung

Um das Aussehen und Verhalten der erzeugten Editoren zu beeinflussen, steht ein Editor zur Bearbeitung der Editor-Eigenschaften (Editor Settings) bereit. Dieser erlaubt grundlegende Einstellungen bezüglich des Layouts, der Farben, des Baumtyps etc.

editorSettings

Die Editor-Settings zur Parametrisierung des eigenen Editors

Das Framework enthält eine Vielzahl von Anpassungen/Erweiterungen, die für alle FXL-Editoren zur Verfügung stehen und welche ebenfalls über den Editor-Settings-Editor konfiguriert werden können. Diese können beliebig angepasst, erweitert und ggf. durch andere Anpassungen ersetzt werden.

  • Help: Es ist möglich, eine kontext-sensitive Hilfe in einen eigenen Editor zu integrieren. Dabei ist die Hilfe über das Kontext-Menü im Baum und über den Button in der Toolbar erreichbar.
  • Tree Search and Filter: Diese Anpassung erlaubt es, innerhalb des Baumes zu suchen bzw. Einträge zu filtern.
  • Move Customization: Diese Erweiterung ist verantwortlich für das Drag'n'Drop innerhalb eines Editors/Baumes.
  • Editor Level Customization: Sollen bestimmte Attribute der Modelle nur für ausgewählte Nutzer sichtbar sein, so kann diese Erweiterung eingesetzt werden.
  • Wizard Customization: Editoren können als Eclipse Wizards verwendet werden. Diese Erweiterung behandelt die dazu notwendigen Eigenschaften.
  • Edit Customization: Diese Erweiterung ist zuständig für das Ausschneiden, Kopieren und Einfügen von Modellelementen, auch zwischen verschiedenen Instanzen des Editors.
  • Advanced Property Settings: Diese Erweiterung stellt weitergehende Funktionen wie das Zurücksetzen von Attributwerte auf ihre Ursprungswerte, das Hervorheben von geänderten Werten etc. bereit
  • Table Customization: Diese Erweiterung erlaubt die Modellierung von Tabellen, ohne eine Zeile Code schreiben zu müssen.
  • Favorites Customization: Diese Erweiterung erlaubt das Speichern von Favoriten innerhalb jedes beliebigen FXL-Editors. Gespeichert werden kann dabei jeder Modellknoten im Baum.
Um Editoren mehrsprachig zu gestalten, beinhaltet das FXL-Editor-Framework einen I18n-Editor.

i18n

Der FXL-Internationalisierungs-Editor
Das Validierungs-Framework erlaubt es, Modelle während des Editierens auf Korrektheit zu überprüfen. Treten dabei Probleme auf, können diese als "Marker" in der entsprechenden Eclipse-Sicht angezeigt werden. Zusätzlich können die Bilder im Baum mit einem Overlay versehen werden.

Das Customization-Framework erlaubt eine beliebige Anpassung der erstellten Editoren. Dazu zählen beispielsweise die Anpassung der Layouts, Erweiterung der Kontext-Menüs und Bereitstellung beliebiger grafischer Benutzeroberflächen für einzelne Modellelemente bzw. Attribute (siehe Beispiele).

Weiterführende Informationen

Tutorial (etwas älter)

 

LAST_UPDATED2