Download Diplom 2011

Transcript
6.2
IMPLEMENTIERUNG DES STATE CHART EDITORS
Die Arbeitsfläche
Die Arbeitsfläche wird im Central-Widget des Main-Windows erstellt. Es wird eine
QGraphicsView erstellt, um den Inhalt einer QGraphicsScene (Diagramm) zu visualisieren.
Mit setCentralWidget() kann dem Central-Widget des Main-Windows diese View
angegeben werden. Mit setScene() kann die QGraphicsScene angegeben werden.
QGraphicsView *view = new QGraphicsView(this);
setCentralWidget(view);
Quelle: Qt Reference Documentation [3]
Abbildung 39: Bereiche des Main-Windows
6.3
Die Bedienung des State Chart Editors
Dieser Abschnitt beschreibt die Hauptelemente der Implementierung der Bedienung des
State Chart Editors.
Es wird beschrieben wie Diagramme erstellt, wie diese im Diagrammmodell abgelegt
und wie sie wieder entfernt werden können.
Um das Zeichnen der Zustandsmaschinen zu vereinfachen, wurde die Editor Klasse
entwickelt. Diese Klasse dient zum Bestimmen des Bearbeitungsmodus (Selektionieren,
Hinzufügen, …) und beinhaltet beim Hinzufügen von Elementen oder Transitionen eine
Vorschau des Elements/Transition.
Mit Hilfe der Editor Klasse wird gezeigt, wie eine Zustandsmaschine in einem Diagramm
gezeichnet werden kann. Dazu gehören das Hinzufügen von Elementen mit parallelem
Hinzufügen des logischen Teils zum Datenmodell, das Erstellen von Transitionen, das
Verschieben von Elementen, sowie das Entfernen von Elementen und Transitionen.
Ebenfalls das Ändern der Grösse eines Zustands und das Hinzufügen / Entfernen von
Regionen in einem Zustand wird erläutert.
Am Ende wird beschrieben, wie der Property-Editor der einzelnen Elemente erstellt
wird.
Bemerkung:
Zur Interaktion zwischen sämtlichen Komponenten des State Chart Editors wurde der
Signal-Slot-Mechanismus von Qt verwendet. Sämtliche Signale und Slots sind in der
Doxygen-Dokumentation (elektronisch unter ../Software/SourceCode/documentation)
beschrieben.
......................................................................................................................................................................................................
52 / 80