четверг, 25 января 2018 г.

Панели оператора СП307 / СП310. Разбираемся с расширенным режимом. Вставка элементов

Наибольшую пользу от использования расширенного режима работы Конфигуратора СП300 можно получить, объединяя элементы графического экрана друг с другом.
Самым простым способом объединить элементы является создание из них группы. Группирование выполняется в конфигураторе также, как и во многих других графических редакторах: выделяем нужные элементы, вызываем контекстное меню и выбираем в нём команду Сгруппировать. Для этого нам даже не нужен расширенный режим - группирование сама по себе полезная операция и доступна и в обычном режиме тоже.
Объединение элементов в группу
Для проведения экспериментов сгруппируем перекрывающиеся прямоугольник и эллипс и вызовем окно свойств расширенного режима. Там мы увидим, что у нас получился новый элемент с именем Группа0_(0). Раскрыв его, обнаруживаем, что у этого элемента помимо группы собственных свойств Self Property, которую мы видели у одиночного элемента, есть ещё и список Self Unit, который содержит графические элементы, сгруппированные нами:

Окно свойств Группы
Если выделить теперь, например, эллипс, то станут доступны дополнительные действия для элементов, входящих в группу, выполняемые с помощью появившихся после выделения кнопок:
  • Move Up - переместить элемент вверх в списке Self Unit. Если элемент является первым в списке Self Unit, то для него появится кнопка Move Down, перемещающая его вниз. Для элемента, находящегося в середине списка, будут доступны обе кнопки;
  • Delete Unit - удалить элемент из группы.
Порядок элементов в списке Self Unit определяет порядок, в котором выполняются элементы, входящие в Группу. Дело в том, что Группа является одним из элементов - управляющих конструкций (управляющих элементов), назначением которого является, помимо собственно группирования, управление порядком выполнения элементов. Первым выполняется элемент, стоящий первым в Группе (в нашем случае прямоугольник), а затем второй (эллипс) и т.д. Именно поэтому эллипс сейчас отображается поверх прямоугольника - сначала панель прорисовывает прямоугольник, а затем эллипс. Если сейчас с помощью кнопки Move Up поднять эллипс на первое место в списке и нажать ОК, то ситуация изменится - эллипс окажется нарисованным под прямоугольником.
То же самое относится и к невизуальным элементам. Если нам нужно, чтобы какие-то действия выполнялись в определённой последовательности, собираем их в группу и располагаем в требуемом порядке. Так, например, устроена стандартная Функциональная область.
Продолжим экспериментировать с группой, закрыв окно свойств расширенного режима. Попробуем добавить к ней какой-нибудь элемент, например, линию. Для этого выделим одновременно и группу, и линию и снова откроем окно свойств расширенного режима. Теперь в нём мы видим оба наши элемента:
Вставка элемента
Чтобы добавить элемент к группе:
- выделяем тот элемент, который мы хотим добавить. В нашем случае это будет Линия;
- нажимаем появившуюся кнопку Insert Unit;
- выделяем тот элемент, к которому мы хотим добавить выбранный ранее элемент. Сейчас это Группа;
- нажимаем ставшую активной кнопку Affirm Insert:
Подтверждение вставки элемента
В результате Линия оказывается в списке Self Unit группы - мы вставили один элемент в другой.
Процесс вставки в случае необходимости можно прервать с помощью кнопки Cancel Insert.
Также элементы можно удалять из группы. Делается это с помощью упомянутой ранее кнопки Delete Unit. Можно даже удалить все элементы из группы. После этого группа не исчезает, а остаётся единичным элементом, к которому затем можно будет продолжать добавлять другие элементы.
Операция вставки доступна только для элементов, которые ещё не входят в состав других элементов (свободных элементов).
Целью операции вставки технически может быть любой свободный элемент. Например, в нашем случае можно вставить не Линию в Группу, а наоборот Группу в Линию. Однако пользу от комбинирования элементов с помощью вставки мы получим только если целью операции вставки будет управляющий элемент, например, Группа или элемент IF. Если же вставить какой-либо элемент в визуальный или функциональный элемент, то он просто не будет выполняться (в нашем эксперименте после вставки группы в линию на экране будет отображаться только линия - прямоугольник и эллипс, входящие в группу, не выполняются).
При комбинировании однотипных элементов бывает полезно помнить, что свободные элементы в окне свойств расширенного режима отображаются в порядке их выделения. Так если сначала выделить Линию, а затем Группу, то в окне они отобразятся именно в этом порядке.
Также для всех элементов доступна специальная разновидность вставки, выполняемая с помощью кнопки с неполностью поместившейся надписью (похоже, что там написано Фоновые компоненты):
Кнопка вставки элементов подложки
Используется эта кнопка также, как и Insert Unit, но элементы, вставленные с её помощью, попадают в отдельный список с названием Элемент подложки. Добавленные таким образом элементы становятся глобальными и выполняются на всех экранах панели (в конфигураторе на экранах они при этом не отображаются). Элементы подложки используются, например, такими стандартными элементами как Тренд и Историческая таблица. Там в этот список добавлены элементы, выполняющие архивирование значений и событий в памяти панели. Архивирование должно выполняться вне зависимости от того какой экран сейчас открыт и наличие списка Элемент подложки позволяет этого достигнуть. Тип целевого элемента для элементов подложки не важен, они выполняются как при добавлении их к управляющим, так и к визуальным и функциональным элементам.
Элемент подложки

Комментариев нет:

Отправить комментарий