Graphical User Interface

Window Area Overview

If started in graphical mode, crystal-facet-uml shows a window with

  • toolbar on top,

  • drawing area in the center,

  • element configuration widgets to the right and

  • an optional notification bar at the bottom.

Tool Bar

New DB

  • Creates a new database file.

  • Enter a filename; the extension may be .cfuJ. A json-based file structure is used to store your data in a git-friendly format. Only if the file name ends with extension .cfu1, the binary sqlite3-based database format is stored. This is compatible to older versions of crystal-facet-uml (<1.35.0).

Open DB

  • Opens an existing database file.

  • To open json-based formats (e.g. .cfuJ), write access to the parent folder is required.

  • If you find a .tmp-cfu file, this indicates that the last session was possibly terminated abnormally. You should open this file to continue from the latest state. Alternatively, select the .cfuJ to continue from the last save action. Do not open *-journal files.


  • Stores the latest changes to the database immediately. Note that at program exit, the database is stored automatically anyhow.


  • Exports all diagrams to the selected folder. To select the export folder, navigate to the parent folder and select the target folder. Supported formats are docbook, json, pdf, png, ps, svg, txt, xhtml, xmi.

New Window

  • Opens another window on the same database. This new window allows you to work reliably with multiple windows on the same database.






  • Un-does the last operation (Opening a database and exporting files cannot be undone)


  • Re-does the last un-done operation


  • Cut all selected (pink-cornered) elements to the clipboard (features of classifiers are copied if the classifier is selected)


  • Copy all selected (pink-cornered) elements to the clipboard (features of classifiers are copied if the classifier is selected)


  • If the clipboard does not contain diagrams, classifiers and relationships from the clipboard are copied into the current diagram.

  • If the clipboard contains a diagram, this diagram is pasted below the current diagram. All other elements are pasted into the new diagram.

    This behavior may be irritating: When accidentially copying a diagram, you may expect to insert elements into the current diagram and observe that nothing happens there.

  • If a classifier is identical to an existing one (same uuid), an instance of the existing classifier is pasted to the diagram. Otherwise a new classifier is created.


  • Deletes all selected (pink-cornered) elements.

  • This operation may fail on a diagram if the selected diagram contains non-selected elements or child diagrams.


  • Toggles the selected (pink-cornered) classifiers between classes, named instances and anonymous instances.

  • No effect on relationships and features.


  • Toggles the selected (pink-cornered) classifiers between yellow-marked, greyed-out and normal. (Does not work for relationships and features)

Reset Selection

  • Resets the (pink-cornered) selection


  • Shows version, license and copyrights

Drawing Area

Diagrams are layouted automatically. You can influence the locations of classifiers only. When adding too many classifiers or relations, auto layouting may not achieve the expected results. In many cases, splitting the diagram into two or more diagrams solves the layouting issues and at the same time improves understandability by focusing on one aspect/topic per diagram.


  • Enter the ID of an element (e.g. C0001) or a part of its name or description to find diagrams containing this element.

  • Enter nothing to find diagrams containing elements without description.

  • Starts a search and displays the results

  • In case the list of search results is too long, consider to export the model and search in the generated output instead.


  • To navigate to parent, sibling or children diagrams, click on the diagram.

  • To create a new diagram, click on the icon, or the smaller icon for a new child-diagram.

  • To restructure the diagram tree, drag a diagram name to the new location.


  • Click on the diagram or a classifier or a feature or a relationship to edit the name, type and description of that object.

    The yellow corners indicate which object is currently focused.

  • Click on an element to select or unselect an object (pink corners).

    The toolbar buttons apply to this pink-cornered set.

  • To move classifiers within the diagram, 1.) press, 2.) drag and 3.) release the mouse button.

    Note: When moving a classifier, this is moved in all diagrams where it appears. Order and locations of things stay consistent between different views.

It is not possible to change source and destination classifiers of relationships. Instead, delete the old and create a new relationship.


  1. To create a classifier, click at an empty space in the diagram.

  2. To create a child classifier, click into the white space of a classifier. (Alternatively, create a classifier (see 1) and a containment relationship (see 4).)

  3. To create a feature, click onto a classifier (name or border).

  4. To create a relationship, press on the source classifier and drag it to the destination classifier.

To modify existing elements, switch back to edit mode: the section called “Edit”.

Element Configuration Area

Edit the properties of the focused (yellow-cornered) object.

  • name of the focused object

  • stereotype of the focused object.

    Stereotype names shall consist of characters that are valid XML tokens (Nmtoken).

    Multiple stereotypes shall be separated by comma.

    Rendering images of stereotypes only works for single stereotypes.

    In case of properties and operations enter the type of the property or operation arguments, in case of tagged values, enter the value (instead of a stereotype).

  • type of the focused object

  • description of the focused object.

    For xhtml and DocBook export, use a double linebreak to create a new paragraph, start lines with *, + or - to format a list, use D0001#id and D0001#name to create a link to the diagram D0001 (showing either the id or the name).

Notification Bar

The notification bar appears automatically when there is a new message.

Such a message may show statistics on performed actions like created, exported, modified, deleted for the elements

  • diagrams (when created or deleted, the navigation tree visualizes changes),

  • classifiers refer to the model-nodes,

  • classifier-occurrences refer to the visualization of a classifier in a diagram,

  • features denote properties, operations and ports of classifiers,

  • relationships are the edges between the classifiers or features or lifelines,

  • lifelines refer to implicit and automatically managed objects needed to visualize temporal behavior.


  • Informs on success of an operation, e.g. an export


  • Informs on a possible problem, e.g. a read-only database file


  • Informs on an error, e.g. invalid data pasted from clipboard