===== Описание панелей =====
Панели - дочерние элементы окон. На панелях располагаются элементы, которые будут использоваться в процессе работы программы. Файл конфигурации по умолчанию **panels_main.xml**.
==== Структура конфигурационного файла ====
{{:lm2:ce:i_s_panels.jpg?direct&|i_s_panels.jpg}}
==== Описание атрибутов / свойств элементов ====
Условные обозначения префиксов в квадратных скобках можно посмотреть в статье "[[:lm2:ce:s_desc|Условные обозначения при описании атрибутов / свойств]]".
**root **- корневой элемент, не имеет свойств
**root/Text** - элемент, свойства которого описывают файл с текстовыми данными. Свойства:
^Префикс^Свойство^Описание|
|[I STRING]|FileName|Название файла с расширением|
**root/Library** - элемент свойства которого описывают библиотеку элементов. Свойства:
^Префикс^Свойство^Описание|
|[I STRING]|FileName|Название файла с расширением|
**root/GUI** - родительский элемент для всех панелей. Свойства:
^Префикс^Свойство^Описание|
|[I BOOL=false]|Locked|НЕТ ДАННЫХ|
**root/GUI/Panel** - элемент, свойства которого задают характеристики панели. Свойства:
^Префикс^Свойство^Описание|
|[IR STRING ID]|ID|Уникальный идентификатор панели|
|[IRW FLOAT=VPWidth]|Width|Ширина панели в пикселях|
|[IRW FLOAT=VPHeight]|Height|Высота панели в пикселях|
|[I INT=1920]|VPWidth|Ширина вьюпорта, на который будет выводиться панель|
|[I INT=1080]|VPHeight|Высота вьюпорта, на который будет выводиться панель|
|[IRW FLOAT=0.0]|Left|Координата по горизонтали верхнего левого угла панели, задается в пикселях, в пространстве панели (т.е. до применения Scale)|
|[IRW FLOAT=0.0]|Top|Координата по вертикали верхнего левого угла панели, задается в пикселях, в пространстве панели (т.е. до применения Scale)|
|[IRW FLOAT=1.0]|Scale|Масштаб панели. Панель всегда масштабируется от верхнего левого угла|
|[IR FLOAT=1.0]|MaxScale|Максимальное планируемое увеличение панели. Максимальный масштаб панели вычисляется как Scale * MaxScale|
|[IRW BOOL=false]|IgnoreMouse|Необходимость игнорировать события от мыши|
|[IRW BOOL=true]|CanPress|Необходимость получать события нажатия кнопками мыши|
|[IRW BOOL=true]|Visible|Видимость панели|
|[IR FLOAT=0.0]|MMWidth|Ширина панели в миллиметрах. Используется для автоматического вычисления масштабов элементов. Если размеры панели и элемента в миллиметрах не равны нулю, а Scale элемента равен нулю, то Scale элемента вычисляется автоматически|
|[IR FLOAT=0.0]|MMHeight|Высота панели в миллиметрах|
|[IRW FLOAT=1.0]|Opacity|Прозрачность панели. 0.0 - полностью прозрачная, 1.0 - полностью непрозрачная|
|[RW FLOAT=1.0]|ZoomScale|Дополнительное масштабирование панели. Масштабируется из центра. Используется для временного увеличения панели и пр.|
**root/GUI/Panel/Comment** - поле, обычно используемое для словесного описания панели. Свойств не имеет.
**root/GUI/Panel/Info **- информация о готовности панели (для разработчиков). Свойства:
^Префикс^Свойство^Описание|
|[I BOOL=false PRIV]|Complete|Готовность панели|
|[I BOOL PRIV]|Auto|НЕТ ДАННЫХ|
|[I STRING PRIV]|Log|Сообщение в лог платформы|
**root/GUI/Panel/Entry** - конечный элемент на панели: кнопка, текстовое поле и пр. Свойства:
^Префикс^Свойство^Описание|
|[IR STRING ID]|ID|Уникальный идентификатор элемента|
|[IR STRING]|TypeID|Имя шаблона из библиотеки элементов. Подробнее см. "[[:lm2:ce:s_templates|Библиотека элементов]]"|
|[IRW FLOAT=0.0]|Left|Координата по горизонтали верхнего левого угла элемента, задается в пикселях, в пространстве панели (т.е. до применения Scale)|
|[IRW FLOAT=0.0]|Top|Координата по вертикали верхнего левого угла элемента|
|[ITRW FLOAT]|Width|Ширина в пикселях|
|[ITRW FLOAT]|Height|Высота в пикселях|
|[ITR FLOAT]|MMWidth|Ширина в миллиметрах|
|[ITR FLOAT]|MMHeight|Высота в миллиметрах|
|[R FLOAT]|RealLeft|НЕТ ДАННЫХ|
|[R FLOAT]|RealTop|НЕТ ДАННЫХ|
|[R FLOAT]|RealWidth|НЕТ ДАННЫХ|
|[R FLOAT]|RealHeight|НЕТ ДАННЫХ|
|[ITRW FLOAT=1.0]|Scale|Масштаб элемента|
|[ITRW FLOAT=0.0]|Angle|Угол поворота элемента|
|[ITRW FLOAT=0.0]|OriginX|Точка, вокруг которой осуществляется поворот|
|[ITRW FLOAT=0.0]|OriginY|Точка, вокруг которой осуществляется поворот|
|[ITRW BOOL=true]|CanPress|Необходимость получать события нажатия кнопками мыши|
|[ITRW BOOL=true]|Visible|Видимость элемента|
|[ITRW BOOL=false]|IgnoreMouse|Необходимость игнорировать события от мыш|
|[ITRW BOOL=false]|MouseCheckReal|НЕТ ДАННЫХ|
|[ITRW DOCK=Center]|ZoomDock|Направление дополнительного масштабирования|
|[ITRW FLOAT=1.0]|ZoomScale|Дополнительное масштабирование панели. Используется для временного увеличения панели и пр.|
|[I STRING]|Header|НЕТ ДАННЫХ|
|[I DOCK]|MenuDock|НЕТ ДАННЫХ|
|[RW BOOL]|ShowMenu|НЕТ ДАННЫХ|
|[R FLOAT]|FullScale|НЕТ ДАННЫХ|
|[W BOOL]|OnTop|НЕТ ДАННЫХ|
|[W BOOL]|OnUnder|НЕТ ДАННЫХ|
**root/GUI/Panel/Entry/Comment** - поле, обычно используемое для словесного описания элемента на панели. Свойств не имеет.
**root/GUI/Panel/Entry/PropertySet **- поле, используемое для изменения значения свойства по умолчанию для элемента. Все свойства описаны в статье "[[:lm2:ce:s_templates|Библиотека элементов]]". Свойства:
^Префикс^Свойство^Описание|
|[I STRING ID]|**Property** |Свойство|
|[I STRING LANG]|**Value** |Значение|
**root/GUI/Panel/Entry/Menu** - НЕТ ДАННЫХ
^Префикс^Свойство^Описание|
|[I STRING ID]|ID|НЕТ ДАННЫХ|
**root/GUI/Panel/Entry/Menu/Item **- НЕТ ДАННЫХ
^Префикс^Свойство^Описание|
|[I STRING ID]|ItemID|НЕТ ДАННЫХ|
|[I STRING NAME]|Name|НЕТ ДАННЫХ|
==== Примеры конфигурационного файла ====
Пример 1: Пустой проект
Empty project main panel
Panel background