Spring++ User Guide

User Interface

The user interface is divided into toolbar, canvas and statusbar.

Diagrams and Diagram Elements

Currently Spring++ supports creation of class and object diagrams.

You can add the following diagram elements with the provided tools:

Concrete class.
Abstract class.
Object.
Note.
Inheritance relationship. Class B inherits from class A.
Combined inheritance relationship. Classes B and C inherit from class A.
One-to-one composition relationship.
One-to-many composition relationship.
One-to-one aggregation relationship.
One-to-many aggregation relationship.
Object reference relationship.
Null reference.
Create instance relationship.
Attach note relationship.

The class, object and note elements are called container elements. The inheritance, composition, aggregation, reference, create instance and attach note elements are called relationship elements.

Tools

Spring++ has following tools:

Selection tool.
Grab tool.
Class tool.
Object tool.
Note tool.
Inheritance tool.
Composition tool.
Aggregation tool.
Reference tool.
Create instance tool.
Attach note tool.

The class, object and note tools are called container tools. The inheritance, composition, aggregation, reference, create instance and attach note tools are called relationship tools.

Selection tool

Action Description
click Click a diagram element to select or deselect it, or click a canvas location to clear selection.
right-click Right-click a diagram element or selection to open context menu showing actions for that diagram element or selected elements.
double-click Double-click a diagram element to execute the default action assocated with it. The default action is to edit the properties of the element.
control+click Control+click a diagram element to add or remove the element to or from the element selection.
drag Point to a diagram element or selection and drag to move it to a new location. Point a canvas location and drag to create a rectangle selection. Point a resize handle of a rectangle selection and drag to enlarge the selection or make it smaller.
delete When there is a rectangle selection or an element selection, press delete key to remove the selected diagram elements.

Grab tool

Action Description
drag Point a canvas location and draw with the mouse to move diagram to a different location.
escape Press escape to activate the selection tool.

Container tools

Action Description
click Point a canvas location and click to place a container element at that location.
escape Press escape to activate the selection tool.

Relationship tools

Action Description
click Click a container element near its connector point to start a relationship and set the element as the source element of the relationship. Then optionally click canvas locations to place routing points. Finally click a container element near its connector point to set is as the target element of the relationship.
control+click Add a straight vertical or horizontal routing point.
escape Press escape to cancel current operation and activate the selection tool.

Special actions

Creating a combined inhertance

Add ordinary inheritances from B to A and from C to A
Control+click the inheritance arrows to select them.
Right-click the selection to open context menu and select the Combine action.
The inheritance arrows are combined.

Adding a class to a combined inhertance

Right-click a combined inheritance to open context menu and select the Split action.
Add a new class and a new inheritance to A.
Combine the inheritances.

Creating a null reference

Use the reference tool to start a reference relationship by clicking the attribute inside an object. Then control+click to the right of the object to create a horizontal routing point. Finally shift+click to the below to create an orphaned reference relationship.
Double-click the relationship arrow to edit the properties of the relationship and set the cardinality to zero. Then click ok.
The reference arrow changes to a null reference symbol.

Properties of Diagram Elements

You can edit the properties of diagram elements by double-clicking an element, or by right-clicking an element and selecting the Properties... context menu item.

Class Properties

With the class properties dialog you can set the name and keyword of the class, and add, change and remove attributes and operations of the class. A nonempty keyword is shown above the class name in the diagram. It may be used to categorize the class to be, for example, a datatype class, or an enumeration. In the dialog, you can also set the class abstract. An abstract class has an italic style caption. It may have attributes, and concrete and abstract operations. A concrete class may have attributes and concrete operations, but it may not have abstract operations.


Object Properties

With the object properties dialog you can set the name of the object, and add, change and remove attributes of the object.


Note Properties

With the note properties dialog you can set the text lines of the note. To enter multiple lines, use the shift+enter key combination to insert newlines.


Relationship Properties

With the relationship properties dialog you can set the relation, cardinality, source and target texts and connector points.

Primary and Secondary Source and Target Texts

For multiline texts, use the shift+enter key combination to insert newlines.

A primary text is shown above the relationship arrow, and the secondary text below the arrow. A nonempty keyword is shown above the text in the diagram, it can be used to categorize the relationship endpoint.

Connector Points

Each container element has twelve connector points, three on each side of the element. Thus the top and bottom sides have left, center and right connectors, and the left and right sides have top, center and bottom connectors. You can change the source and target connectors of a relationship in the connector dialog:

Selections

There are two kinds of selections: rectangle selections and element selections.

Rectangle Selection

The rectangle selection is created by pointing to a canvas location with the selection tool and dragging the selection rectangle around diagram elements. Then right-clicking the selection opens a context menu with actions for the selected elements:

Element Selection

The element selection is created by clicking an element with the selection tool and then adding elements to the selection by control-clicking them. Then right-clicking the selection opens a context menu with actions for the selected elements: