From OpenSCADAWiki
Jump to: navigation, search

Основой практически всех элементов движка стал объект абстрактного элемента визуализации VCA::Widget. На своём абстрактном уровне объект наделён следующими свойствами:

  • "Использующего" наследования — механизм наследования отдельных свойств другого экземпляра объекта. Используется для организации механизма вторичного использования — переопределения и доопределения элементов визуализации.
  • Хранение свойств (атрибутов) виджетов с механизмами "использующего" наследования значений. Механизм "использующего" наследования выполняет наследования значений свойств с самого корневого элемента и до верхнего с возможностью переопределения значений на каждом из уровней. При этом, в БД хранятся только значения изменённых свойств.
  • Поддержка режима контейнера. В этом режиме виджет может включать другие(дочерние) виджеты, как библиотека виджетов содержит виджеты. Используется в библиотечных виджетах, которые наследуют свойства примитива-контейнера, например, примитив кадра "Box". Также, это свойство используется в сеансе проекта для построения иерархического дерева виджетов (примитивов) при формирование конечного образа визуализации кадров.
  • Поддержка режима простого связывания. Данный режим используется для вложенных виджетов библиотеки. Особенностью этого режима является то, что он не наследует свойства контейнера, а значит не может прямо содержать вложенные виджеты (раздел 4.5).
  • Содержит процедуру внутренней логики виджета на языке OpenSCADA. Логика этой процедуры может использоваться для организации взаимодействия вложенных виджетов и контейнера друг с другом, формируя требуемое поведение.
  • Предоставление доступа к ресурсам с учётом иерархии "использующего" наследования.