Stateflow® API в настоящее время не поддерживает прямое создание суперпереходов. Суперпереходы являются переходами между разными уровнями в графике. Суперпереход может быть между состоянием в графике верхнего уровня и состоянием в одном из его подсостояний, или между состояниями, находящимися в различных подсостояниях. Для лучшего понимания суперпереходов смотрите Перемещение Между Уровнями Иерархии при помощи Суперпереходов.
Можно использовать обходное решение в том, что оно косвенно создало суперпереходы. В этом примере суперпереход желаем от соединения в подграфике к соединению вне подграфика. Для того, чтобы использовать API Stateflow, чтобы создать суперпереход в этом примере, сначала используйте API, чтобы создать сверхсостояние как обычное состояние с переходом между его содержавшим соединением и соединением снаружи.
Теперь установите IsSubchart
свойство состояния к true
.
Этот шаг делает A
состояния подграфик и переход между соединениями являются теперь суперпереходом.
Можно также соединить суперпереходы к, и от объектов в существующем подграфике (утвердите A
, например) с этими шагами:
Сохраните исходное положение подграфика A
к временной переменной рабочей области.
Например, если подграфик A
имеет указатель API sA
, сохраните его положение этой командой:
sA_pos = sA.Position;
Преобразуйте подстроят диаграмму A
к состоянию путем установки IsSubchart
свойство к false
.
sA.IsSubchart = false;
Разгруппируйте A
состояния путем установки
IsGrouped
свойство к false
.
sA.IsGrouped = false;
Установите необходимые связи перехода.
Смотрите Создают Графики при помощи API Stateflow для примера создания перехода.
Установите IsSubchart
свойство A
состояния назад к true (=1). Например,
sA.IsSubchart = 1;
Подграфик присвоения A
его исходное положение.
sA.Position = sA_pos;