### 7.1 Multiple Chart Types

From version 5.0 Msc-generator supports multiple chart types. Each chart type has its own textual language, which are all some extent similar (use attributes in square brackets, options and curly braces to structure the chart).

The Windows GUI supports color syntax highlighting, hinting, auto-complete, small indent, element controls and tracking for all (most) languages. The Windows GUI asks what type of chart do you want to create every time it is started or when a new chart is created.

Each language has a set of assiociated file extensions. By default, the file extension is used to determine the type of chart when a file is opened in the GUI or processed on the command line. This can be overridden on the command line. There is always a primary extension for each language, this is used to name the language (on the command line) and also for chart designs, see below.

The currently supported languages and their extensions is listed below (the first extension is the primary one).

Chart type | Extensions | Comment
--- | --- | ---
Signalling Chart | .signalling, .msc | This chart type is the original chart type of Msc-generator.
Graphviz Graph | .graph, .dot | This language is the superset of the DOT language.
Block Diagram (experimental) | .block | This language describes block diagrams for architecture or software stack figures.

The first panel on the Home tab displays the current file type and the controls relevant for that given chart type. For example, on the picture below, the controls for graphs are shown. Compared to signalling charts there are two differences. First, you can also select the graphviz layout algroithm to apply. This is equivalent to using `layout=<layout>;` inside a graph. Second, you can collapse and expand all cluster subgraphs with one click. (Applicable only when the ‘`dot`’ layout algroithm is used.)