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