yasmin_editor.model.state_machine module

State machine model.

class yasmin_editor.model.state_machine.StateMachine(name: str, description: str = '', keys: list[Key] = <factory>, outcomes: list[Outcome] = <factory>, parameters: list[Parameter] = <factory>, remappings: dict[str, str] = <factory>, parameter_mappings: dict[str, str] = <factory>, state_type: str | None = None, module: str | None = None, class_name: str | None = None, package_name: str | None = None, file_name: str | None = None, start_state: str | None = None, states: dict[str, State] = <factory>, transitions: dict[str, list[Transition]] = <factory>, layout: Layout = <factory>, text_blocks: list[TextBlock] = <factory>)

Bases: State

Represents a YASMIN state machine container.

add_outcome(outcome) None

Add a final outcome to the state machine.

add_state(state: State) None

Add a child state to the state machine.

add_text_block(text_block: TextBlock) None

Add a free-form text block to the container.

add_transition(state_name: str, transition: Transition) None

Add a transition for a child state.

class_name: str | None
description: str
file_name: str | None
get_state(name: str) State | None

Return a child state by name.

property is_container: bool

Return whether this state contains child states.

keys: list[Key]
layout: Layout
module: str | None
name: str
outcomes: list[Outcome]
package_name: str | None
parameter_mappings: dict[str, str]
parameters: list[Parameter]
remappings: dict[str, str]
remove_outcome(name: str) None

Remove a final outcome and all related transitions.

remove_state(name: str) None

Remove a child state and all related transitions.

remove_text_block(text_block: TextBlock) None

Remove one free-form text block from the container.

remove_transition(state_name: str, source_outcome: str, target: str) None

Remove a transition for a child state.

rename_child_state_outcome(state_name: str, old_outcome: str, new_outcome: str) None

Rename one outcome referenced by transitions of a child state.

rename_outcome(old_name: str, new_name: str) None

Rename a final outcome and update all related references.

rename_state(old_name: str, new_name: str) None

Rename a child state and update all related references.

rename_transition_owner(old_owner: str, new_owner: str) None

Rename one transition owner entry inside this container.

start_state: str | None
state_type: str | None
states: dict[str, State]
text_blocks: list[TextBlock]
to_string(indent: int = 0) str

Return a human-readable representation of the state machine.

transitions: dict[str, list[Transition]]