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.

  • 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). Otherwise a json-based format is used to store your data in a git-friendly format.

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 may open this file to continue from the latest state or the .cfuJ to continue from the last save action. Do not open *-journal files.


  • Stores the latest changes to the database immediately.


  • 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 contains a diagram, this diagram is pasted below the current diagram. All other elements are pasted into the new diagram.

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

  • 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


  • 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/valuetype 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.

  • 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


  • 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