Arranger
Zwecke
Der Arranger ist eine Structorizer-Komponente, die es ermöglicht, einen Pool geöffneter Diagramme zu verwalten. Er dient hauptsächlich drei Zwecken:
- Seiner ursprünglichen Aufgabe entsprechend bietet er die Möglichkeit, mehrere Nassi-Shneiderman-Diagramme auf einer gemeinsamen Arbeitsfläche grafisch anzuordnen (daher der Name). Eine solche Anordnung kann als PNG-Bild gespeichert, aber auch in einer Weise abgelegt werden, die ein späteres Wiederladen ermöglicht.
- Zusätzlich dient der Arranger als Pool einbindbarer oder aufrufbarer Unterroutinen-Diagramme für den Executor: Sobald die Diagrammausführung auf ein Call-Element trifft, wird unter den im Arranger abgelegten Diagrammen nach einem Unterroutinen-Diagramm mit übereinstimmender Signatur gesucht. Ebenso werden Diagramme, die in der Include-Liste eines ausgeführten Diagramms angegeben sind, im Arranger gesucht.
- In engem Zusammenhang mit dem vorherigen Zweck kann er auch dazu dienen, aufgerufene Unterroutinen beim Code-Export zu finden und einzubeziehen.
Seit Release 3.29 werden die Diagramme im Arranger in Gruppen organisiert, die z. B. eine gemeinsame Dateiherkunft, logische Beziehungen oder Abhängigkeiten widerspiegeln. Einzelheiten finden Sie im Unterabschnitt Gruppen.
Wie öffnet man den Arranger?
Es gibt vier verschiedene Möglichkeiten, den Arranger zu öffnen:
- Durch Ausführen des Shell-Skripts Arranger.sh in einer Linux-Umgebung bzw. der Batch-Datei Arranger.bat in einer Windows-Umgebung. Beide Dateien befinden sich im Structorizer-Ordner. Alternativ können Sie folgenden Befehl von der Kommandozeile aus starten (wenn das Structorizer-Verzeichnis das Arbeitsverzeichnis ist):
java -cp Structorizer.app/Contents/Resources/Java/Structorizer.jar lu.fisch.structorizer.arranger.Arranger - Durch einmaliges Drücken der Arranger-Schaltfläche in der Werkzeugbox oder des Menüpunkts „File › Arrange" im Structorizer-Menü. In diesem Fall wird der Arranger geöffnet und das aktuell bearbeitete Diagramm wird in den Arranger verschoben und angeheftet.
- Durch Laden (oder Ziehen) einer Anordnungsdatei in Structorizer.
- Durch Importieren einer Quelldatei, die mehr als ein einzelnes Hauptprogramm oder eine Unterroutine enthält.
- Durch Auslagern von Teilen eines Diagramms in ein neues Unterroutinen-Diagramm.

Wie fügt man Diagramme in den Arranger ein?
Es gibt mehrere Möglichkeiten, ein Diagramm in einen bereits geöffneten Arranger einzufügen:
- Drücken Sie die Schaltfläche „New Diagram" in der Arranger-Symbolleiste, um ein neues leeres Diagramm zur Zeichenfläche hinzuzufügen.
- Wählen Sie eine oder mehrere NSD-Dateien aus und ziehen Sie sie in den Arranger-Bereich.
- Drücken Sie während der Arbeit an einem Diagramm in Structorizer die entsprechende Schaltfläche oder den Menüpunkt „File › Arrange".
- Drücken Sie StrgC in einer offenen Structorizer-Instanz bei ausgewähltem gesamten Diagramm und dann StrgV im Arranger-Fenster.
- Laden Sie eine gespeicherte Anordnung.
- Importieren Sie Quellcode, der mehrere Teilprogramme enthält.
- Lagern Sie einen Teilbereich eines Diagramms als neues Unterroutinen-Diagramm aus, das automatisch im Arranger abgelegt wird.
- Durch Herbeiholen des von einem ausgewählten CALL-Element referenzierten Unterroutinen-Diagramms in einen Editor, falls diese Routine noch nicht im Arranger ist.
Um Diagramme aus dem Arranger zu entfernen, wählen Sie ein oder mehrere Diagramme aus und drücken Sie die Schaltfläche „Drop diagram" oder die Taste Entf.
Gruppen (ab Version 3.29)
Seit Release 3.29 können Diagramme im Arranger in einer oder mehreren Gruppen organisiert werden. Das Gruppenkonzept wurde eingeführt, um einen besseren Überblick zu bieten, die allgemeine Handhabung zu verbessern und die Verwaltung von Teilanordnungen als koexistierende „Projekte" zu ermöglichen – jedes mit konsistenten Mengen abhängiger Diagramme.
Es gibt eine Standardgruppe, in der alle in den Arranger verschobenen Diagramme normalerweise gesammelt werden. Ausnahmen: Wenn Sie eine Anordnungsdatei laden oder Diagramme aus Quellcode importieren, bilden die resultierenden Diagramme automatisch eine Gruppe, die nach der Ursprungsdatei benannt ist.
Sie können jederzeit eine beliebige Teilmenge von Diagrammen auswählen und daraus eine neue Gruppe erstellen, indem Sie die Tastenkombination StrgG drücken oder den Popup-Menüeintrag „Group selected diagrams ..." verwenden. Mit dem Menüeintrag „Expand selection"


Standardmäßig sind Gruppen auf der Arranger-Zeichenfläche nicht sichtbar. Ab Version 3.29-01 gibt es jedoch in der Statusleiste ein Kontrollkästchen „Show groups", mit dem Arranger ihre Grenzen als transparent gefüllte Rechtecke anzeigen kann. Zur besseren Unterscheidung werden die Gruppen automatisch einer von bis zu sechs verschiedenen Farben zugeordnet. Ein zweites Kontrollkästchen

Die Gruppenbeziehungen können im Arranger-Index-Baum eingesehen, inspiziert und bearbeitet werden.
Zoomen
Um einen Überblick über zahlreiche angeordnete Diagramme zu erhalten, können Sie durch Klicken auf die Zoom-Schaltfläche in der Arranger-Symbolleiste oder durch wiederholtes Drücken der „–"-Taste auf dem Ziffernblock herauszoomen. Jeder Klick verkleinert die Größe um ca. 10

Seit Release 3.29 gibt es eine Statusleiste am unteren Rand des Arranger-Fensters, die den aktuellen Zoomfaktor anzeigt. Die vollständige Liste der angezeigten Statusinformationen umfasst:
- die Ausdehnung der Zeichenfläche (in Pixeln),
- die aktuellen Scroll-Viewport-Intervalle (xmin..xmax : ymin..ymax),
- den Zoomfaktor in Prozent,
- die Gesamtanzahl der Diagramme / die Anzahl der aktuell ausgewählten Diagramme,
- ob die Grenzen der Gruppen angezeigt werden,
- ob Gruppen auswählbar sind.

Arranger-Statusleiste mit Symbolen
Um wieder hereinzuzoomen, drücken Sie die „+"-Taste des Ziffernblocks oder halten Sie die Shift-Taste gedrückt und klicken Sie auf die Zoom-Schaltfläche. Alternativ können Sie das Mausrad bei gedrückter Strg-Taste verwenden. Der maximale Zoomfaktor ist 100 %.
Der PNG-Bildexport kompensiert den Zoomfaktor, damit das exportierte Bild keine Detailverluste erleidet. Das exportierte Bild enthält die Diagramme immer in Originalgröße.
Wie ordnet man Diagramme an?
Seit Release 3.29 erlaubt der Arranger eine Mehrfachauswahl:
- Sie können ein Auswahlrechteck mit der Maus ziehen, oder
- die ausgewählte Menge durch Linksklick auf weitere Diagramme bei gedrückter Shift-Taste erweitern,
- mit gedrückter Strg-Taste die Auswahl des angeklickten Diagramms umschalten,
- mit StrgA alle Diagramme auswählen,
- mit F11 die aktuelle Auswahl um referenzierte Unterroutinen erweitern.

Serielle Entscheidungsmöglichkeit
Sie können die gesamte Menge ausgewählter Diagramme verschieben, indem Sie auf einem der ausgewählten Diagramme mit dem Ziehen beginnen. Diagramme dürfen den positiven Koordinatenbereich nicht verlassen. Sie können die ausgewählten Diagramme auch mit den Cursortasten bei gedrückter Strg-Taste verschieben; bei zusätzlich gedrückter Shift-Taste wird die Geschwindigkeit um Faktor 10 erhöht.
Tastenkürzel und Popup-Menü des Arrangers
Eine Liste der Tastenkürzel finden Sie auf der Seite Key Bindings. Das Popup-Menü (Rechtsklick) bietet u. a. folgende Operationen:
- Hit diagrams / groups: Ein Untermenü mit allen Diagrammen, die aktuell von der Mausposition getroffen werden. So können Sie ein überdecktes Diagramm auswählen und nach vorne bringen.
- Expand selection (oder F11): Fügt rekursiv alle referenzierten Unterroutinen-Diagramme zur Auswahl hinzu.
- Group selected diagrams ... (oder StrgG): Erstellt eine neue Gruppe aus den ausgewählten Diagrammen.
- Expand and group ... (oder StrgShiftG): Kombiniert „Expand selection" und „Group selected diagrams" in einem Klick.
- Inspect attributes ... (oder AltEnter): Öffnet den Attribute Inspector für das ausgewählte Diagramm.
- Remove selected diagrams ... (oder Entf): Entfernt alle aktuell ausgewählten Diagramme aus dem Arranger.
- Rearrange by groups (oder StrgR): Ordnet alle Diagramme im Arranger neu an, Gruppe für Gruppe.
- Remove all diagrams: Leert den Arranger nach einer Bestätigungsanfrage.
- Arranger help ... (oder F1): Öffnet diese User-Guide-Seite im Browser.


Anordnungen speichern und wiederherstellen
Über die Schaltfläche „Save Arr." in der Arranger-Symbolleiste können Sie die Anordnung der zuvor ausgewählten Diagrammteilmenge für eine spätere Wiederverwendung speichern. Sie haben die Wahl zwischen zwei Optionen:
- Speichern der bloßen Anordnungsliste als einfache Textdatei mit der Erweiterung .arr, die nur die Dateipfade und Fensterpositionen der angeordneten Diagramme enthält (aber keinen Diagramm-inhalt!).
- Speichern als komprimiertes Archiv mit der Erweiterung .arrz, das eine .arr-Datei sowie Kopien der .nsd-Dateien aller angeordneten Diagramme enthält. Ein solches Archiv ist auf einen anderen Computer übertragbar und konserviert den Zustand aller beteiligten Diagramme zum Zeitpunkt des Speicherns exakt.
Zum Wiederherstellen einer gespeicherten Anordnung drücken Sie die Schaltfläche „Load Arr." und wählen eine zuvor gespeicherte

PNG-Export
Über die Schaltfläche „PNG Export" können Sie eine PNG-Datei erstellen, die die Anordnung der aktuellen Diagrammauswahl enthält. Der aktuelle Zoomfaktor wird dabei kompensiert. Seit Release 3.29 können Sie Bilder exportieren, die nur Teilmengen der angeordneten Diagramme enthalten.
Diagramme anheften (Pinning)
Ein Diagramm, das aus einer Structorizer-Instanz in den Arranger verschoben wurde, spiegelt alle Änderungen sofort wider. Wenn das Diagramm „nicht angeheftet" ist, schließt diese Abhängigkeit auch das Ersetzen ein: Wenn Sie ein anderes Diagramm in Structorizer laden, würde die zugehörige Diagramminstanz im Arranger ebenfalls synchron ersetzt. Um dies zu vermeiden, können Diagramme im Arranger „angeheftet" werden. Der Anheft-Modus wird durch ein blaues Stecknadel-Symbol in der oberen rechten Ecke des Diagramms angezeigt. Angeheftete Diagramme zeigen weiterhin alle Änderungen, werden aber nicht ersetzt, wenn Sie in Structorizer ein neues Diagramm starten oder ein anderes laden.
Arranger-Index
Der Arranger-Index wird im rechten Teil des Structorizer-Hauptfensters als Baumansicht angezeigt (seit Release 3.29).



- Save changes: Speichert Änderungen an der ausgewählten Gruppe oder den ausgewählten Diagrammen.
- Test-covered on/off: Markiert die ausgewählten Unterroutinen- und Einschluss-Diagramme als test-abgedeckt (für den Runtime-Analysis-Modus).
- Remove (oder Entf): Entfernt die ausgewählten Gruppen und Diagramme aus dem Arranger.
- Export diagram/group: Exportiert das ausgewählte Diagramm oder die Gruppe in eine der unterstützten Programmiersprachen oder als Flussdiagrammdatei.
- Create Group ... (oder StrgG): Erstellt eine neue Gruppe aus den ausgewählten Diagramm- und Gruppenknoten.
- Expand group ... (oder StrgShiftG): Erweitert die Gruppe oder erstellt eine neue Gruppe aus der erweiterten Auswahl.
- Dissolve group (oder Strg#): Löst alle Diagramme aus der ausgewählten Gruppe heraus, ohne die Diagramme selbst zu löschen.
- Detach from group (oder Strg-): Entfernt die ausgewählten Diagramme aus ihren jeweiligen Eigentümergruppen.
- Add/move to group ... (oder Strg+): Fügt die ausgewählten Diagramme einer Zielgruppe hinzu oder verschiebt sie dorthin.
- Show group (oder StrgAltG): Schaltet die Sichtbarkeit der ausgewählten Gruppe und ihrer Mitgliedsdiagramme im Arranger um.
- Rename group (oder ShiftAltR): Ermöglicht die Umbenennung der ausgewählten Gruppe.
- Remove All: Leert den Arranger vollständig nach einer Bestätigungsanfrage.
- Hide Arranger Index (oder ShiftF3): Blendet den Arranger-Index vorübergehend aus.


Diagrammarbeitsbereich, Arranger-Index und Analyser-Berichtsliste bilden einen Fokusring
