# Pseudo State

Currently BOUML manages only the behavioral states.

The pseudo states are :

- final state (for reasons of simplification)

- initial

- deep history

- shallow history

- join

- fork

- junction

- choice

- entry point

- exit point

- terminate

In the browser a pseudo state may contain transitions (when this is legal) :

The pseudo state's properties will be exposed below.

## Menus

The pseudo state menu appearing with a right mouse click on its representation in the browser is something like these, supposing the pseudo state not read-only nor deleted (see also menu in a diagram) :

### Menu : edit

edit allows to show/modify the pseudo state properties. In case the pseudo state is read-only, the fields of the dialog are also read-only.

The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one (empty here). It is possible to choose into the list or to give a new one, or to empty it.

The editor button visible above and associated here to the description, allows to edit the description in an other window, or to call an external editor (for instance Xcoral) specified through the environment variable BOUML_EDITOR. Note that this external editor have to create an own window, its parameter is the pathname of the file containing the description, its execution is done in parallel with BOUML which looks each second at the file contents to get the new definition until the dialog is closed (I do not like very much this polling but this works even QT isn't compiled with the thread support).

### Menu : duplicate

The menu entry duplicate clone the pseudo state without its children

### Menu : referenced by

To know who reference the current pseudo state through a transition.

### Menu : mark

See mark

### Menu : delete

The menu entry delete is only present when the pseudo state is not read-only.

Delete the pseudo state and all its children, and all the representation of them in the opened diagrams. After that it is possible to undelete them (from the browser) until you close the project : obviously the deleted items are not saved !

### Menu : tool

The menu entry tool is only present in case at least a plug-out may be applied on a pseudo state of this kind. The selected tool is called and applied on the current pseudo state.

## Default stereotypes

The dialog allowing to set the default stereotypes :

## Drawing

A pseudo state is drawn in a diagram depending on its kind :

A right mouse click on a pseudo state in a diagram calls the following menu (supposing the pseudo state editable) :

### Menu tools :

Appears only when at least one plug-out is associated to the pseudo state kind. To apply a plug-out on the pseudo state.

Previous : state action

Next : activity