States
The Machine Editor supports several specialized State types to model complex workflows, guard-based routing, and parallel behaviors. By combining States with your UI Editor Events, you can create complex, interactive behavior in your QSApps.
Basic State
A Basic State, or simply State, is the standard, named state for entry/exit actions, activities, and transitions.
- Use when: You need a simple step or mode in your machine.
- Features:
- Entry Actions
- Exit Actions
- Activities
- Event-based Transitions
Learn more about Basic States.
Condition State
A Condition State is a decision‐point that immediately routes to one of its outgoing transitions based on boolean Guards.
- Use when: You need to branch logic based on a condition.
- Features:
- Zero-duration “pseudostate”
- Transition based on Guard logic
- No Entry/Exit actions or activities
Learn more about Condition States.
Final State
A Final State marks the termination of a region or the entire state machine. Entering this state signals completion.
- Use when: You want to explicitly model “end of flow” or cascade termination to a parent machine.
- Features:
- No outgoing transitions
- Can trigger machine‐level “done” events
Learn more about Final States.
History State
A pseudostate that transitions child states back to default states.
- Use when: You need to restore states to their history values.
- Features:
- Shallow vs. deep history modes
- No custom actions—simply picks up where you left off
Learn more about History States.
Parallel State
Parallel States allow you to run multiple child states simultaneously.
- Use when: You need to play multiple states concurrently, such as multiple UI elements updating at the click of a button.
- Features:
- Multiple active child states at once
- Independent transitions within each state
- Entry/Exit actions apply to the entire parallel block
Learn more about Parallel States.