Quicksave Logo

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.