S T R U C T O R I Z E R - User Guide
Preferences > Structures

Preferences menu with Structures item selected

In this dialog, you can define the default content of newly created elements and some layout options.

Default Texts

Whenever you add a new element to your diagram, the element editor will pop up. As far as it is a structured element of one of the types IF statement (Alternative), CASE statement (Selection), FOR loop, WHILE loop, or REPEAT loop, the text area will already be filled with the respective content configured among the Structure Preferences. Since version 3.32-15, the caret will automatically be placed at the first question mark in the default text. Hence, question marks in the default text are good markers for the place to fill in the effective content. For "atomic" element types (like Instructions, CALL, and EXIT elements) as well as ENDLESS loops, PARALLEL sections, and TRY elements there is no such default text configuration (see Layout Options below).

Preferences menu with beginner's defaults

For the beginner, the default content could verbosely express the semantics of what it is to be replaced with (image above), for the expert, in contrast, very short symbols being easier to be overwritten may be preferrable (image below), though the automatic caret positioning at the (first) question mark in the element editor as introduced with version 3.32-15 compensates the drawback of verbous default texts.

Structure Preferences with expert's defaults

The default texts may also contain key phrases defined in the Parser Preferences for the respective element type as shown in the following image (with french words assumed in the Parser Preferences). These phrases may remain in the element (making it better readable perhaps) because they will be stripped off automatically on execution and code export. In the default text for the FOR loop, however, the keywords defined in the Parser Preferences play a decisive role on classifying the loop style and identifying its parameters, at least if you use the default text as template for the actual loop headline (see the FOR loop section of this User Guide for details).

Structure Preferences dialog with french keywords

Caring for consistency, Structorizer offers to adapt the default texts in the Structure Preferences on changing the Parser Preferences:

Popup asking to adapt defaul text

Notice: Except for the connections described above, the preferences defined here have little to do with the Parser Preferences.

Layout Options

The Label TRUE and Label FALSE texts are just used to label the branches of IF statements in the diagram. In theory, you might specify arbitrary texts here but it's wise to use short words or even single characters since the lengths of these texts have an impact on the width of the IF elements, such that longer designations are likely to inflate the entire diagram. The labels are not stored with the elements — to change these labels here means to alter the representation of all diagrams containing IF elements (alternatives) at once.

The option Enlarge False specifies to which of the two branches of an alternative possible horizontal extra space is to be put. Extra space occurs if there is a very wide element above or below the IF statement, this way forcing the latter to be widened beyond its needed space as well. By default the extra space will widen the TRUE (left-hand) branch — this can be seen in the diagram at page end, just above the CASE element —, if you select Enlarge FALSE, however, then the right-hand branch will be widened instead. The extra space will not be distributed equally among the two branches!

Min. branches for rotation is an option for CASE elements with a large number of branches. CASE selections with numerous branches may result in diagrams that are much wider than your screen, such that navigation and overview get compromised. Often the contents of the majority of the branches of such broad-spread selections are single instructions (typically there are either numerous or large cases, rarely both at once). For this situation, the option offers to rotate all branches consisting of a single atomic or collapsed element as soon as the specified number of branches is exceeded, such that they consume much less width. Value 0 means to switch off this option, value 1 practically always tries to rotate. If some branches consist of large compound elements (e.g. loops, alternatives, or CASE selections as well) then they won't be rotated unless they are collapsed. Complex branches could also be "outsourced" to subroutines, this way being substituted by the respective CALL element, which counts as atomic and can hence be rotated:

Diagram with rotated branches in large CASE element

The Include List Caption is a label used as headline of the includes list region for diagrams referring to Includable diagrams (see red frame):

Diagram with includes list (caption marked)

The TRY block labels (since version 3.29-07) are used to decorate the TRY elements in the diagram representation:

Empty TRY block with labels

Editor choice

With version 3.30-15, a new kind of preference was introduced: In the CASE element area, you may now decide whether you are fine with the standard element editor on editing CASE elements or if you prefer a specialized editor variant for CASE elements:

Structure Preferences with new checkbox for CASE editor

Among the major advantages of the special editor (which offers to set the discriminator expression and the default branch label in separate text fields and the selector lists for the branches in a table view) over the standard element editor are:

  • the option to maintain the bond between existing branches (element sequences) and the commanding selector lists on reordering the case lines,
  • specific assistence for enumerator types,
  • several consistency checking mechanisms.

New dedicated CASE editor (3.30-15)