Адаптивная детализация панелей

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

«Адаптивная детализация панелей» в «КАСКАД Цифра» позволяет настраивать отображение и скрытие отдельных слоев панели в зависимости от коэффициента масштабирования (см. также Модуль GEDI, «Окно настройки слоев«). Настройка параметров этой функции выполняется в панели, которая вызывается нажатием на кнопку «Адаптивная детализация панелей» в разделе «Настройки» панели управления системой.

Рисунок: Кнопка «Адаптивная детализация панелей» в панели управления системой.

При нажатии данной кнопки открывается приведенная ниже панель, которая служит для настройки видимости отдельных слоев.

Рисунок: Панель настройки адаптивной детализации

Для каждого слоя в выпадающем списке можно выбрать один из трех вариантов настройки:

  • (Всегда) – слой всегда видим.
     
  • (Никогда) – слой всегда невидим.
     
  • при масштабе [в диапазоне] – слой видим, если коэффициент масштабирования находится в пределах установленного диапазона. При выборе этого варианта необходимо настроить соответствующий диапазон.

Для подтверждения изменений используется кнопка «ОК«. При нажатии кнопки «OK» настройки адаптивной детализации применяются ко всем панелям, открываемым с помощью интерфейса пользователя в ОС Windows и Linux. При нажатии кнопки «Отменить» панель закрывается без сохранения изменений. При нажатии кнопки «Справка» открывается справка.

Настройки адаптивной детализации могут быть выполнены не только при помощи панели адаптивной детализации, но и при помощи функции языка CONTROL «setClutteringLimits()«. Данная функция позволяет индивидуально настраивать адаптивную детализацию для отдельных панелей. Код добавляется в сценарий, исполняемый при инициализации соответствующей панели (событие «Initialize»). Функция запускается при открытии панели, при этом общие настройки адаптивной детализации игнорируются.

Адаптивная детализация больших панелей

Для уменьшения времени открытия крупномасштабных панелей с большим количеством объектов, используется следующий подход при инициализации

с применением адаптивной детализации:

  • При открытии панели отображаются только объекты, находящиеся в пределах экрана на видимом слое.
  • Построение оставшейся части панели выполняется в режиме выполнения позже, по мере прокручивания панели влево, вправо, вверх или вниз. Построение отображаемой области выполняется с учетом настроек адаптивной детализации для различных слоев.
  • Сценарии для событий «Initialize», заданные для различных объектов, выполняются, когда объекты попадают в пределы экрана и находятся на видимом слое.

ПРИМЕЧАНИЕ

В том случае, если объект является невидимым (в соответствии с настройками объекта в графическом редакторе GEDI), но располагается на видимом слое, сценарий для события «Initialize» все равно выполняется.

Для обеспечения совместимости каждая панель содержит свойство «Запуск Init-сценариев объектов» (startInitScriptMode), доступное для настройки в редакторе GEDI. С помощью данного свойства настраивается поведение панели при активированной адаптивной детализации. Поддерживаются следующие значения:

  1. All objects (все объекты): все сценарии для событий «Initialize» запускаются при открытии.  Не учитывается, расположен ли объект в пределах экрана или на видимом слое. Этот вариант следует выбирать, если необходимо учитывать все зависимости и ссылки для старых панелей. Например, если для объекта настроено событие, которое оказывает влияние на другие объекты, находящиеся в видимой части панели. Такое событие может оказывать влияние, например, на цвет, описание и т.д. 
  2. Visible  objects (видимые объекты): При выборе данного значения поведение больших панелей аналогично описанному выше. Этот вариант следует выбирать для новых панелей или для панелей, в которых отсутствуют объекты со сценариями для событий «Initialize», оказывающими влияние на другие объекты.

ПРИМЕР

Адаптивную детализацию панелей можно продемонстрировать на следующем примере. Создайте панель с пятью кнопками, при этом разместите каждую кнопку на отдельном слое. Кнопку 1 на слое 1, кнопку 2 на слое 2 и т.д.

ПРИМЕЧАНИЕ

Убедитесь, что задано имя панели!

Настройте адаптивную детализацию, как показано на рисунке выше. После этого откройте созданную панель в модуле VISION. Эта панель должна выглядеть приблизительно так, как изображено на рисунке ниже:

Рисунок: Демонстрационная панель с пятью кнопками на пяти различных слоях

РЕЗУЛЬТАТ

Кнопки 3 и 5 невидимы, так как панель выводится в исходном размере (коэффициент масштабирования 100%). Кнопки будут становиться невидимыми или, наоборот, видимыми в зависимости от изменения масштаба (коэффициента масштабирования) и общих настроек адаптивной детализации панелей. Эта же панель при увеличении масштаба – видна кнопка 3:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *