StructorizerHandbuch DE

Strukturen

Menü „Preferences“ mit ausgewähltem Eintrag „Structures“
Menü „Preferences“ mit ausgewähltem Eintrag „Structures“

In diesem Dialog können Sie den Standardinhalt neu erstellter Elemente sowie einige Layout-Optionen festlegen.

Standardtexte

Wenn Sie Ihrem Diagramm ein neues Element hinzufügen, öffnet sich der Elementeditor. Soweit es sich um ein strukturiertes Element eines der Typen IF-Anweisung (Alternative), CASE-Anweisung (Selektion), FOR-Schleife, WHILE-Schleife oder REPEAT-Schleife handelt, ist der Textbereich bereits mit dem entsprechenden Inhalt gefüllt, der in den Struktur-Präferenzen konfiguriert wurde. Seit Version 3.32-15 wird der Cursor automatisch beim ersten Fragezeichen im Standardtext positioniert. Fragezeichen im Standardtext sind daher gute Markierungen für die Stelle, an der der eigentliche Inhalt eingetragen werden soll. Für „atomare" Elementtypen (wie Anweisungen, CALL- und EXIT-Elemente) sowie Endlosschleifen, PARALLEL-Abschnitte und TRY-Elemente gibt es keine solche Standardtextkonfiguration (siehe Layout-Optionen unten).

Struktur-Präferenzen mit Einsteiger-Standardtexten
Struktur-Präferenzen mit Einsteiger-Standardtexten

Für Einsteiger könnte der Standardinhalt die Semantik dessen, was ersetzt werden soll, ausführlich ausdrücken (Bild oben), während für den Experten sehr kurze Symbole, die leichter zu überschreiben sind, vorzuziehen sein könnten (Bild unten). Allerdings gleicht die mit Version 3.32-15 eingeführte automatische Cursor-Positionierung am (ersten) Fragezeichen im Elementeditor den Nachteil ausführlicher Standardtexte aus.

Struktur-Präferenzen mit Experten-Standardtexten
Struktur-Präferenzen mit Experten-Standardtexten

Die Standardtexte können auch Schlüsselphrasen enthalten, die in den Parser-Präferenzen für den jeweiligen Elementtyp definiert sind (wie im folgenden Bild mit angenommenen französischen Wörtern gezeigt). Diese Phrasen können im Element verbleiben (was es vielleicht lesbarer macht), da sie beim Ausführen und beim Code-Export automatisch entfernt werden. Im Standardtext für die FOR-Schleife spielen die in den Parser-Präferenzen definierten Schlüsselwörter jedoch eine entscheidende Rolle bei der Klassifizierung des Schleifenstils und der Identifizierung seiner Parameter, zumindest wenn Sie den Standardtext als Vorlage für den eigentlichen Schleifenkopf verwenden.

Struktur-Präferenzen-Dialog mit französischen Schlüsselwörtern
Struktur-Präferenzen-Dialog mit französischen Schlüsselwörtern

Im Sinne der Konsistenz bietet Structorizer an, die Standardtexte in den Struktur-Präferenzen bei einer Änderung der Parser-Präferenzen anzupassen:

Popup-Abfrage zur Anpassung von Standardtexten
Popup-Abfrage zur Anpassung von Standardtexten

Hinweis: Abgesehen von den oben beschriebenen Verbindungen haben die hier definierten Präferenzen wenig mit den Parser-Präferenzen zu tun.

Layout-Optionen

Die Texte Label TRUE und Label FALSE werden nur zur Beschriftung der Zweige von IF-Anweisungen im Diagramm verwendet. Theoretisch können Sie hier beliebige Texte angeben, aber es ist sinnvoll, kurze Wörter oder sogar einzelne Zeichen zu verwenden, da die Länge dieser Texte die Breite der IF-Elemente beeinflusst, sodass längere Bezeichnungen das gesamte Diagramm wahrscheinlich aufblähen. Die Beschriftungen werden nicht mit den Elementen gespeichert – eine Änderung hier bedeutet, die Darstellung aller Diagramme, die IF-Elemente (Alternativen) enthalten, auf einmal zu verändern.

Die Option Enlarge False (FALSE erweitern) legt fest, welchem der beiden Zweige einer Alternative ein möglicher zusätzlicher horizontaler Freiraum zugewiesen wird. Zusätzlicher Freiraum entsteht, wenn ein sehr breites Element ober- oder unterhalb der IF-Anweisung vorhanden ist und diese dadurch breiter als nötig wird. Standardmäßig wird der zusätzliche Freiraum dem TRUE-Zweig (links) zugewiesen. Wenn Sie Enlarge FALSE auswählen, wird stattdessen der rechte Zweig verbreitert. Der Freiraum wird nicht gleichmäßig auf beide Zweige verteilt!

Min. branches for rotation (Mindestanzahl Zweige für Rotation) ist eine Option für CASE-Elemente mit einer großen Anzahl von Zweigen. CASE-Selektionen mit vielen Zweigen können zu Diagrammen führen, die viel breiter als Ihr Bildschirm sind, sodass Navigation und Übersicht beeinträchtigt werden. Oft sind die Inhalte der meisten Zweige solcher breiten Selektionen einzelne Anweisungen. Für diese Situation bietet die Option an, alle Zweige, die aus einem einzelnen atomaren oder zusammengeklappten Element bestehen, zu rotieren, sobald die angegebene Anzahl von Zweigen überschritten wird, sodass sie deutlich weniger Breite benötigen. Der Wert 0 schaltet diese Option aus, der Wert 1 versucht praktisch immer zu rotieren. Verzweigungen, die aus großen zusammengesetzten Elementen bestehen (z. B. Schleifen, Alternativen oder ebenfalls CASE-Selektionen), werden nicht rotiert, es sei denn, sie sind zusammengeklappt. Komplexe Zweige könnten auch in Unterprogramme „ausgelagert" werden, die durch das entsprechende CALL-Element ersetzt werden, das als atomar gilt und daher rotiert werden kann:

Diagramm mit rotierten Zweigen in einem großen CASE-Element
Diagramm mit rotierten Zweigen in einem großen CASE-Element

Die Include List Caption (Einschluss-Listenbeschriftung) ist eine Bezeichnung, die als Überschrift des Einschluss-Listenbereichs für Diagramme verwendet wird, die auf einschließbare Diagramme verweisen (siehe roten Rahmen):

Diagramm mit Einschluss-Liste (Beschriftung markiert)
Diagramm mit Einschluss-Liste (Beschriftung markiert)

Die TRY block labels (TRY-Block-Beschriftungen, seit Version 3.29-07) werden verwendet, um die TRY-Elemente in der Diagrammdarstellung zu beschriften:

Leerer TRY-Block mit Beschriftungen
Leerer TRY-Block mit Beschriftungen

Editorauswahl

Mit Version 3.30-15 wurde eine neue Art von Präferenz eingeführt (und mit Version 3.32-28 erweitert): Im CASE-Element-Bereich können Sie entscheiden, ob Sie mit dem Standard-Elementeditor beim Bearbeiten von CASE-Elementen zufrieden sind oder ob Sie die spezialisierte Editor-Variante für CASE-Elemente bevorzugen (Sie können dies sogar auf CASE-Elemente mit nicht-leeren Zweigen beschränken):

Struktur-Präferenzen mit neuem Kontrollkästchen für den CASE-Editor
Struktur-Präferenzen mit neuem Kontrollkästchen für den CASE-Editor

Zu den wesentlichen Vorteilen des speziellen Editors (der separate Textfelder für den Diskriminatorausdruck und die Standardzweig-Bezeichnung sowie eine Tabellenansicht für die Selektorlisten der Zweige bietet) gegenüber dem Standard-Elementeditor gehören:

  • die Möglichkeit, beim Neuanordnen von CASE-Zeilen die Verbindung zwischen vorhandenen Zweigen (Elementsequenzen) und den zugehörigen Selektorlisten (sowie möglicherweise auf Zweig-Selektorbereiche angewendeten Farben) aufrechtzuerhalten,
  • spezifische Unterstützung für Enumerator-Typen,
  • mehrere Konsistenzprüfungsmechanismen.
Neuer dedizierter CASE-Editor (3.30-15)
Neuer dedizierter CASE-Editor (3.30-15)

Die Option „non-empty" (nicht-leer) kann ein guter Mittelweg zwischen „never" (nie; erlaubt schnelle Bearbeitung, bietet aber keine Konsistenzunterstützung) und „always" (immer; was bei neuen CASE-Elementen unnötig aufwendig erscheinen kann) sein. Mit „non-empty" wird der spezialisierte Editor nicht für neue CASE-Elemente verwendet, sodass Sie die Spezifikation schnell als mehrzeiligen Text eingeben können. Für die Änderung bereits etablierter CASE-Elemente hingegen, bei denen eine Trennung zwischen Selektorzеilen und Zweigen ein echtes Durcheinander verursachen könnte, wird der spezialisierte Editor aufgerufen.