The toolbar at the top of the editing pane provides the
main functions of the pane. The default tool is the
Select
tool ().
In general button 1 click on any tool selects a tool for one
use, before reverting to the default tool, and button 1 double
click selects a tool for repeated use.
The tools fall into four categories.
Layout tools. Provide assistance in laying out model elements on the diagram.
Annotation tools. Used to annotate model elements on the diagram.
Drawing tools. Used to add general graphic objects to diagrams.
Diagram specific tools. Used to add UML model elements specific to a particular diagram type to the diagram.
Some of the tools that are generally not all used so often, are combined in a dropdown, to take less space on the toolbar. See e.g. Figure 12.3, “ The drawing tools selector. ”. Press the symbol at the right of the tool to pop it open. These drop-down tools remember their last used tool persistently. This means that when ArgoUML starts, they show the last tool that was activated the previous time ArgoUML was run.
The following two tools are provided in all diagrams in this category.
Select
. This tool provides for general
selection of model elements on the diagram. Button 1 click
will select a model element. CTRL with button 1 can be used
to select (or deselect) multiple model elements. Button 1
motion will move selected 2D items or add and move a new
control point on a link. Button 1 motion on a selected
component's control point will stretch that
component's shape.
Broom. Button 1 motion with this
tool provide a “broom” which will sweep all
model elements along. This is a very shortcut way of lining
things up.
The Broom can also be invoked by using
ALT or ALT-GR with
button 1 motion when the Select
tool
is in use.
The Broom is discussed at length in its own chapter, see Section 12.5, “ The Broom ”
![]() | Tip |
---|---|
Additional control of model element layout is provided
through the |
The annotation tool Comment
(
)
is used to add a comment to a selected UML model element.
![]() | Caution |
---|---|
Unlike most other tools you use the |
The comment is created alongside the selected model element, empty by default. The text can be selected with button 1 double-click and edited from the keyboard.
The UML standard allows comments to be attached to any model element.
You can link any comment to aditional elements using
the CommentLink
(
)
tool.
These are a series of tools for providing graphical additions to diagrams. Although they are not UML model elements, the UML standard provides for such decoration to improve the readability of diagrams.
![]() | Tip |
---|---|
These drawing tools provide a useful way to partially support some of the UML features (such as general purpose notes) that are missing from the current release of ArgoUML. |
Eight tools are provided, all grouped into one
drop-down widget. See
Figure 12.3, “
The drawing tools selector.
”. Button 1
click on the diagram will place an instance of the graphical
item of the same size as the last one placed. The size can be
controlled by button 1 motion during placement. One side or
end of the element will be at button 1 down, the other side
or end at button 1 up. In general after they are placed on
the diagram, graphical elements can be dragged with the
Select
tool and button 1 and re-sized by
button 1 motion on the handles after they have been
selected.
Rectangle
. Provides a rectangle.
Rounded Rectangle
. Provides a
rectangle with rounded corners. There is no control over
the degree of rounding.
Circle
. Provides a circle.
Line
. Provides a line.
Text
. Provides a text box. The text is
entered by selecting the box and typing. Text is centered
horizontally and after typing, the box will shrink to the
size of the text. However it can be re-sized by dragging
on the corners.
Polygon
. Provides a polygon. The
points of the polygon are selected by button 1 click and
the polygon closed with button 1 double click (which will
link the final point to the first point).
Spline
. Provide an open spline. The
control points of the spline are selected with button 1
and the last point selected with button 1 double
click.
Ink
. Provide a polyline. The points
are provided by button 1 motion.
Several tools are provided specific to UML model elements on use case diagrams. The detailed properties of these model elements are described in the section on use case diagram model elements (see Chapter 17, Use Case Diagram Model Element Reference ).
Actor
. Add an actor to the diagram.
For convenience, when the mouse is over a selected actor
it displays two handles to left and right which may be
dragged to form association relationships.
Use Case
. Add a use case to the
diagram. For convenience, when the mouse is over a
selected use case it displays two handles to left and
right which may be dragged to form association
relationships and two handles top and bottom which may be
dragged to form generalization and specialization
relationships respectively.
Association
. Add an association
between two model elements selected using button 1 motion
(from the first model element to the second). There are 6
types of association offered here, see
Figure 12.4, “
The association tool selector.
”:
association
,
aggregation
and composition
,
and all these three can be
bidirectional
or
unidirectional
.
Dependency
. Add a dependency between
two model elements selected using button 1 motion (from the
dependent model element).
Generalization
. Add a generalization
between two model elements selected using button 1 motion
(from the child to the parent).
Extend
. Add an extend relationship
between two model elements selected using button 1 motion
(from the extended to the extending use case).
Include
. Add an include relationship
between two model elements selected using button 1 motion
(from the including to the included use case).
Add Extension Point
. Add an extension
point to a selected use case. The extension point is
given the default name newEP
and
location loc
. Where the extension
point compartment is displayed, the extension point may
be edited by button 1 double click and using the
keyboard, or by selecting with button 1 click (after the
use case has been selected) and using the property tab.
Otherwise it may be edited through its property tab,
selected through the property tab of the owning use
case.
![]() | Note |
---|---|
This tool is grayed out except when a use case is selected. |
Several tools are provided specific to UML model elements on class diagrams. The detailed properties of these model elements are described in the section on class diagram model elements (see Chapter 18, Class Diagram Model Element Reference ).
Package
. Add a package to the
diagram.
Class
. Add a class to the diagram. For
convenience, when the mouse is over a selected class it
displays two handles to left and right which may be
clicked or
dragged to form association relationships (or composition
in case SHIFT has been pressed) and two handles top and
bottom which may be dragged or clicked
to form generalization and
specialization relationships respectively.
Association
. Add an association
between two model elements selected using button 1 motion
(from the first model element to the second). There are 2
types of association offered here,
bidirectional
or
unidirectional
.
Aggregation
. Add an aggregation
between two model elements selected using button 1 motion
(from the first model element to the second). There are 2
types of aggregation offered here,
bidirectional
or
unidirectional
.
Composition
. Add an composition
between two model elements selected using button 1 motion
(from the first model element to the second). There are 2
types of composition offered here,
bidirectional
or
unidirectional
.
Association-end
. Add
another end to an already existing association
using button 1 (from the
association middle to a class, or vice versa).
This is the way to create so-calld N-ary associations.
Generalization
. Add a generalization
between two model elements selected using button 1 (from the
child to the parent).
Interface
. Add an interface to the
diagram. For convenience, when the mouse is over a
selected interface it displays a handle at the bottom
which may be dragged to form a realization relationship
(the target being the realizing class).
Realization
. Add a realization between
a class and an interface selected using button 1 motion
(from the realizing class to the realized
interface).
Dependency
. Add a dependency between
two model elements selected using button 1 motion (from the
dependent model element). There are also 2 special types of
dependency offered here, Permission
(
)
and
Usage
(
).
A
Permission
is created by default
with stereotype Import
, and is used to import
elements from one package into another.
Attribute
. Add a new attribute to the
currently selected class. The attribute is given the
default name newAttr
of type
int
and may be edited by button 1 double click
and using the keyboard, or by selecting with button 1
click (after the class has been selected) and using the
property tab.
![]() | Note |
---|---|
This tool is grayed out except when a class is selected. |
Operation
. Add a new operation to the
currently selected class or interface. The operation is
given the default name newOperation
with no arguments and return type void
and may be edited by button 1 double click and using the
keyboard, or by selecting with button 1 click (after the
class has been selected) and using the property
tab.
![]() | Note |
---|---|
This tool is grayed out except when a class or interface is selected. |
Association Class
.
Add a new association class
between two model elements selected using button 1 motion
(from the first model element to the second).
Datatype
.
Add a datatype to the
diagram. For convenience, when the mouse is over a
selected datatype it displays handles
at the top and at the bottom
which may be clicked or dragged
to form a generalization relationship
(the target being another datatype).
There are 2 other elements available here,
Enumeration
and
Stereotype
.
These two have similar handles,
except the one at the top of a stereotype:
when clicked, it creates a metaclass,
connected by a dependency marked with «stereotype».
This eases the creation of "stereotype declaration" diagrams -
see the literature on the subject.
Seven tools are provided specific to UML model elements on sequence diagrams. The detailed properties of these model elements are described in the section on sequence diagram model elements (see Chapter 19, Sequence Diagram Model Element Reference ).
ClassifierRole
. Add a classifierrole to the
diagram.
Message with Call Action
.
Add a call message
between two classifierroles selected using button 1 motion (from
the originating classifierrole to the receiving classifierrole).
Message with Return Action
.
Add a return message
between two classifierroles selected using button 1 motion (from
the originating classifierrole to the receiving classifierrole).
Message with Create Action
.
Add a create message
between two classifierroles selected using button 1 motion (from
the originating classifierrole to the receiving classifierrole).
Message with Destroy Action
.
Add a destroy message
between two classifierroles selected using button 1 motion (from
the originating classifierrole to the receiving classifierrole).
Add Vertical Space to Diagram
.
Add vertical space to a diagram by moving all messages
below this down. Click the mouse at the point where you
want the space to be added and drag down the screen vertically
the distance which matches the height of the space you'd
like to have added.
Remove Vertical Space in Diagram
.
Remove vertical space from diagram and move all elements
below up vertically. Click and drag the mouse vertically
over the space that you want deleted.
Three tools are provided specific to UML model elements on collaboration diagrams. The detailed properties of these model elements are described in the section on collaboration diagram model elements (see Chapter 21, Collaboration Diagram Model Element Reference ).
Classifier Role
. Add a classifier role
to the diagram.
Association Role
. Add an association
role between two classifier roles selected using button 1
motion (from the originating classifier role to the
receiving classifier role). There are 6 types of
association roles offered here, see
Figure 12.4, “
The association tool selector.
”:
association
,
aggregation
and composition
,
and all these three can be
bidirectional
or
unidirectional
.
Generalization
. Add a generalization
between two model elements selected using button 1 (from the
child to the parent).
Dependency
. Add a dependency between
two model elements selected using button 1 motion (from the
dependent model element).
Add Message
. Add a message to the
selected association role.
![]() | Note |
---|---|
This tool is grayed out except when an association role is selected. |
Eleven tools are provided specific to UML model elements on statechart diagrams. The detailed properties of these model elements are described in the section on statechart diagram model elements (see Chapter 20, Statechart Diagram Model Element Reference ).
Simple State
. Add a simple state to the
diagram.
Composite State
. Add a composite state
to the diagram. All model elements that are subsequently
placed on the diagram on top of the composite state will
form part of that composite state.
Transition
. Add a transition between
two states selected using button 1 motion (from the
originating state to the receiving state).
Synch State
. Add a synchstate to the
diagram.
Submachine State
. Add a submachinestate to the
diagram.
Stub State
. Add a stubstate to the
diagram.
Initial
. Add an initial pseudostate to
the diagram.
![]() | Caution |
---|---|
There is nothing to stop you adding more than one initial state to a diagram or composite state. However to do so is meaningless, and one of the critics will complain. |
Final State
. Add a final state to the
diagram.
Junction
. Add a junction pseudostate
to the diagram.
![]() | Caution |
---|---|
A well formed junction should have at least one incoming transition and at least one outgoing. ArgoUML does not enforce this, but an ArgoUML critic will complain about any junction that does not follow this rule. |
Choice
. Add a choice pseudostate to
the diagram.
![]() | Caution |
---|---|
A well formed choice should have at least one incoming transition and at least one outgoing. ArgoUML does not enforce this, but an ArgoUML critic will complain about any choice that does not follow this rule. |
Fork
. Add a fork pseudostate to the
diagram.
![]() | Caution |
---|---|
A well formed fork should have exactly one incoming transition and two or more outgoing. ArgoUML does not enforce this, but an ArgoUML critic will complain about any fork that does not follow this rule. |
Join
. Add a join pseudostate to the
diagram.
![]() | Caution |
---|---|
A well formed join should have exactly one outgoing transition and two or more incoming. ArgoUML does not enforce this, but an ArgoUML critic will complain about any join that does not follow this rule. |
Shallow History
. Add a shallow history
pseudostate to the diagram.
Deep History
. Add a deep history
pseudostate to the diagram.
Call Event
. Add a Call Event as trigger
to a transition.
There are 4 types of
events offered here:
Call Event
,
Change Event
,
Signal Event
and
Time Event
.
Guard
. Add a guard
to a transition.
Call Action
. Add a call action
(i.e. the effect)
to a transition.
There are 7 types of
actions offered here:
Call Action
,
Create Action
,
Destroy Action
,
Return Action
,
Send Action
,
Terminate Action
,
Uninterpreted Action
and
Action Sequence
.
Seven tools are provided specific to UML model elements on activity diagrams. The detailed properties of these model elements are described in the section on activity diagram model elements (see Chapter 22, Activity Diagram Model Element Reference ).
Action State
. Add an action state to
the diagram.
Transition
. Add a transition between
two action states selected using button 1 motion (from
the originating action state to the receiving action
state).
Initial
. Add an initial pseudostate to
the diagram.
![]() | Caution |
---|---|
There is nothing to stop you adding more than one initial state to a diagram. However to do so is meaningless, and one of the critics will complain. |
Final State
. Add a final state to the
diagram.
Junction
. Add a junction (decision)
pseudostate to the diagram.
![]() | Caution |
---|---|
A well formed junction should have one incoming transition and two or more outgoing. ArgoUML does not enforce this, but an ArgoUML critic will complain about any junction that does not follow this rule. |
Fork
. Add a fork pseudostate to the
diagram.
![]() | Caution |
---|---|
A well formed fork should have one incoming transition and two or more outgoing. ArgoUML does not enforce this, but an ArgoUML critic will complain about any fork that does not follow this rule. |
Join
. Add a join pseudostate to the
diagram.
![]() | Caution |
---|---|
A well formed join should have one outgoing transition and two or more incoming. ArgoUML does not enforce this, but an ArgoUML critic will complain about any join that does not follow this rule. |
CallState
. Add a callstate to the
diagram.
A call state is an action state that calls a single operation.
Hence, the name of the operation being called
is put in the symbol,
along with the name of the classifier that
hosts the operation in parentheses under it.
ObjectFlowState
. Add a objectflowstate to the
diagram.
An objectflowstate is
an object that is input to or output from
an action.
Ten tools are provided specific to UML model elements on deployment diagrams. The detailed properties of these model elements are described in the section on deployment diagram model elements (see Chapter 23, Deployment Diagram Model Element Reference ).
![]() | Note |
---|---|
Remember that ArgoUML's deployment diagrams are also used for component diagrams. |
Node
. Add a node to the diagram. For
convenience, when the mouse is over a selected node it
displays four handles to left, right, top and bottom
which may be dragged to form association
relationships.
Node Instance
. Add a node instance to
the diagram. For convenience, when the mouse is over a
selected node instance it displays four handles to left,
right, top and bottom which may be dragged to form link
relationships.
Component
. Add a component to the
diagram. For convenience, when the mouse is over a
selected component it displays four handles to left,
right, top and bottom which may be dragged to form
dependency relationships.
Component Instance
. Add a component
instance to the diagram. For convenience, when the mouse
is over a selected component instance it displays four
handles to left, right, top and bottom which may be
dragged to form dependency relationships.
Generalization
. Add a generalization
between two model elements selected using button 1 (from the
child to the parent).
Realization
. Add a realization between
a class and an interface selected using button 1 motion
(from the realizing class to the realized
interface).
Dependency
. Add a dependency between
two model elements selected using button 1 motion (from the
dependent model element).
Association
. Add an association
between two model elements (node, component, class or
interface) selected using button 1 motion (from the first
model element to the second model element). There are 6 types of
association offered here, see
Figure 12.4, “
The association tool selector.
”:
association
,
aggregation
and composition
,
and all these three can be
bidirectional
or
unidirectional
.
![]() | Caution |
---|---|
The constraint that associations between classes and interfaces must not be navigable from the interface still applies on deployment diagrams. |
Object
. Add an object to the diagram.
For convenience, when the mouse is over a selected object
it displays four handles to left, right, top and bottom,
which may be dragged to form link relationships.
Link
. Add a link between two model elements
(node instance, component instance or object) selected
using button 1 motion.