This complex component allows to define a set of branches that can be activated one after the other.


SwitchList <id> (bool loop) {
  Component <id> {...}

The branches of a SwitchList are classic components, that is containers to which any kind of processes can be added. The SwitchList has three predefined children: next, previous, index that allow to activate a new branch, respectively, the next, the previous or the one designated by the index. In each case, the current branch is deactivated and the new one is activated. If the loop argument is set to true, the next and previous signals will loop over the branches.


A switch list branch can't have loop, next, previous or index as a name


Activates the fist branch of the SwitchList.

Predefined children

  • BoolProperty: loop specifies if the switch can loop over its branches.
  • Spike: next goes to the next branch.
  • Spike: previous goes to the previous branch.
  • IntProperty: index goes to the branch designated by the value of index.


use core
use base
use gui

Component root {
  Frame f ("myButton", 0, 0, 500, 500)
  Exit quit (0, 1)
  SwitchList blink (1) {
    Component _ {
      FillColor red (255, 0, 0)
      Rectangle r (0, 0, 100, 70, 0, 0)
    Component _ {
      FillColor green (0, 255, 0)
      Rectangle r (0, 0, 100, 70, 0, 0)
  Clock cl (500)