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

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;

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

Похожие темы