Salt (Wireframe)

Salt is a subproject of PlantUML that may help you to design graphical interface or Website Wireframe or Page Schematic or Screen Blueprint.

It is very useful in crafting graphical interfaces, schematics, and blueprints. It aids in aligning conceptual structures with visual design, emphasizing functionality over aesthetics. Wireframes, central to this process, are used across various disciplines.

Developers, designers, and user experience professionals employ them to visualize interface elements, navigational systems, and to facilitate collaboration. They vary in fidelity, from low-detail sketches to high-detail representations, crucial for prototyping and iterative design. This collaborative process integrates different expertise, from business analysis to user research, ensuring that the end design aligns with both business and user requirements.

Basic widgets

You must use @startsalt keyword.

A window must start and end with brackets. You can then define:

Text area

Here is an attempt to create a text area:

Note:

[Ref. QA-14765]

Then you can add scroll bar:

Open, close droplist

You can open a droplist, by adding values enclosed by ^, as:

[Ref. QA-4184]

Using grid [| and #, !, -, +]

A table is automatically created when you use an opening bracket {. And you have to use | to separate columns.

For example:

Just after the opening bracket, you can use a character to define if you want to draw lines or columns of the grid :

Symbol Result
# To display all vertical and horizontal lines
! To display all vertical lines
- To display all horizontal lines
+ To display external lines

Group box [^]

[Ref. QA-5840]

Using separator [.., ==, ~~, --]

You can use several horizontal lines as separator.

Tree widget [T]

To have a Tree, you have to start with {T and to use + to denote hierarchy.

Tree table [T]

You can combine trees with tables.

And add lines.

[Ref. QA-1265]

Enclosing brackets [{, }]

You can define subelements by opening a new opening bracket.

Adding tabs [/]

You can add tabs using {/ notation. Note that you can use HTML code to have bold text.

Tab could also be vertically oriented:

Using menu [*]

You can add a menu by using {* notation.

It is also possible to open a menu:

Like it is possible to open a droplist:
[Ref. QA-4184]

Advanced table

You can use two special notations for table :

Scroll Bars [S, SI, S-]

You can use {S notation for scroll bar like in following examples:

Colors

It is possible to change text color of widget.

[Ref. QA-12177]

Creole on Salt

You can use Creole or HTML Creole on salt:

Pseudo sprite [<<, >>]

Using << and >> you can define a pseudo-sprite or sprite-like drawing and reusing it latter.

[Ref. QA-5849]

OpenIconic

OpenIconic is a very nice open source icon set. Those icons have been integrated into the creole parser, so you can use them out-of-the-box. You can use the following syntax: <&ICON_NAME>.

The complete list is available on OpenIconic Website, or you can use the following special diagram:

Add title, header, footer, caption or legend

(See also: Common commands)

Zoom, DPI

Whitout zoom (by default)

Scale

You can use the scale command to zoom the generated image.

You can use either a number or a fraction to define the scale factor. You can also specify either width or height (in pixel). And you can also give both width and height: the image is scaled to fit inside the specified dimension.

(See also: Zoom on Common commands)

DPI

You can also use the skinparam dpicommand to zoom the generated image.

Include Salt "on activity diagram"

You can read the following explanation.

It can also be combined with define macro.

Include salt "on while condition of activity diagram"

You can include salt on while condition of activity diagram.

[Ref. QA-8547]

Include salt "on repeat while condition of activity diagram"

You can include salt on 'repeat while' condition of activity diagram.

[Ref. QA-14287]

Skinparam

You can use [only] some skinparam command to change the skin of the drawing.

Some example:

FIXME
🚩 FYI, some other skinparam does not work with salt, as:

Style

You can use [only] some style command to change the skin of the drawing.

Some example:

FIXME
🚩 FYI, some other style does not work with salt, as:

[Ref. QA-13460]