Создайте суперобъекты перехода

Stateflow® API в настоящее время не поддерживает прямое создание суперпереходов. Суперпереходы являются переходами между разными уровнями в графике. Суперпереход может быть между состоянием в графике верхнего уровня и состоянием в одном из его подсостояний, или между состояниями, находящимися в различных подсостояниях. Для лучшего понимания суперпереходов смотрите Перемещение Между Уровнями Иерархии при помощи Суперпереходов.

Можно использовать обходное решение в том, что оно косвенно создало суперпереходы. В этом примере суперпереход желаем от соединения в подграфике к соединению вне подграфика. Для того, чтобы использовать API Stateflow, чтобы создать суперпереход в этом примере, сначала используйте API, чтобы создать сверхдержаву как обычное состояние с переходом между его содержавшим соединением и соединением снаружи.

Теперь установите IsSubchart свойство состояния к true (=1).

Этот шаг делает A состояния подграфик и переход между соединениями являются теперь суперпереходом.

Можно также соединить суперпереходы к, и от объектов в существующем подграфике (утвердите A, например) с этими шагами:

  1. Сохраните исходное положение подграфика A к временной переменной рабочей области.

    Например, если подграфик A имеет указатель API sA, сохраните его положение этой командой:

    sA_pos = sA.Position;
    
  2. Преобразуйте подстроят диаграмму A к состоянию путем установки IsSubchart свойство ко лжи (=0).

    sA.IsSubchart = 0;

  3. Разгруппируйте A состояния путем установки IsGrouped свойство ко лжи (=0).

    sA.IsGrouped = 0;

    Когда вы преобразуете подграфик в нормальное состояние, это остается сгруппированным, чтобы скрыть содержимое подграфика. Когда вы разгруппировываете подграфик, он может изменить размер, чтобы отобразить его содержимое.

  4. Установите необходимые связи перехода.

    Смотрите Создают Новые Объекты в Графике для примера создания перехода.

  5. Установите IsSubchart свойство A состояния назад к true (=1).

    Например, sA.IsSubchart = 1;

  6. Подграфик присвоения A его исходное положение.

    sA.Position = sA_pos;

    Когда вы преобразуете подграфик в нормальное состояние и разгруппировываете его, это может изменить размер, чтобы разместить размер его содержимого. Первый шаг этой процедуры хранит исходное положение подграфика так, чтобы это положение могло быть восстановлено после того, как связь перехода установлена.

Похожие темы