Панель - визуальная область, на которой можно размещать визуальные объекты.
<panel panel-attributes> [прочие appxml-тэги] <panel/>
Название | Тип | Описание |
---|---|---|
id | id_name | Уникальный, в рамках приложения, идентификатор объекта. Доступ к объекту с помощью AppScript выполняется через этот идентификатор. Если id не задан, то интерпретатор автоматически заполнит его некоторым случайным в момент запуска приложения. В этом случае appxml-программист лишается возможности обращаться к объекту. |
Название | Тип | Описание |
---|---|---|
layout | border | flow | null | row:n | col | grid:N1xN2 | line | vline | gridbag | Тип менеджера компоновки (в терминах Java). border расставляет поступающие объекты по местам top, left, right, bottom, center. Координаты (x, y) игнорируются. flow расставляет объекта в порядке их поступления (добавления) друг за другом. Координаты (x, y) игнорируются. null расставляет объекты в соответствии с их координатами (x, y). row создает строку из n ячеек и располагает объекты друг за другом слева направо в порядке их поступления (добавления). col выстраивает объекты в колонку, разделяя ее на равные части. Объекты растягиваются по ширине колонки. Параметры расположения задаются каждому объекту через атрибут position. Если объектам задать position=«weighty=0», то объекты соберутся в центре колонки. При position=«weighty=1» (по умолчанию) каждый объект будет располагаться в центре своей ячейки. Чтобы собрать все ячейки с объектами вверху, рекомендуется задать объектам position=«weighty=0» и в конец добавить пустую панель с position=«weighty=1». Прочие параметры для «col» - см. layout=«gridbag». grid:N1хN2 - раставляет объекты согласно координатной сетке. N1 - кол-во строк, N2 - кол-во колонок. line расположение объектов в горизонтальную строку. vline расположение объектов в вертикальную строку. Если объектами являются поля ввода, то при вертикальном расположении они выравниваются автоматически. gridbag выстаривает объекты по сетке. Размеры сетки, а также кол-во занимаемых ячеек под каждый объект можно регулировать самостоятельно. При добавлении объекта в контейнер объекту можно задавать дополнительные параметры через атрибут position. Например, position=«x=5 y=3 fill=both weightY=1 anchor=top». Параметры: x - номер ячейки по оси X. По умолчанию значение параметра x автоматически инкрементируется. y - номер ячейки по оси Y. Допускается использование значения «new» для перехода на начало новой строки. height - кол-во занимаемых клеток по оси Y. По умолчанию height=1. width - кол-во занимаемых клеток по оси X. По умолчанию width=1. weightX - коэффициент веса ячейки с точки зрения распределения пространства между объектами по оси X. Пустое пространство между объектами (не путать с ячейками) распределяется пропорционально установленным целочисленным коэффициентам. Если всем поставить weightX=0, то пространство не будет распределяться и объекты соберутся в центре строки по оси X. Если все поставить одинаковое ненулевое значение, то пространство будет распределяться одинаково на всех независимо от размеров объекта. По умолчанию у всех объектов weight=1. weightY - тоже что и weightX, только для оси Y. Если всем объектами задать position=«weightX=0 weightY=0», то объекта соберутся в центре контейнера. anchor - позиция объекта внутри ячейки (если позволяет свободное пространство). Допустимые значения: center, top, left, right, bottom, top-left, top-right, bottom-left, bottom-right. По умолчанию anchor=«center». fill - заполнение объектом пространства своей ячейки (растягивание объекта). Допустимые значения: horizontal, vertical, both, none. По умолчанию fill=«none». ipadX - минимальное расстояние между объектом и границами ячейки по оси X. По умолчанию ipadX=0. ipadY - минимальное расстояние между объектом и границами ячейки по оси Y. По умолчанию ipadY=0. |
align | left | right | center | Выравнивание объектов на панели. Атрибут действует только для layout=«flow». |
gap | number | Установка расстояния между размещаемыми объектами внутри данного объекта. Данный объект выступаетв роли контейнера. |
gradient | boolean | Установка градиента цвета для фона всего объекта. Поддерживаются дополнительные атрибуты: gradient-start=«color_name», gradient-end=«color-name», gradient-direction=«horizontal | vertical» . Поддерживается тэг <gradient> <gradient style-id="b" start-color="c1" end-color="c2" direction="20" /> |
full-background-color | color-name | @full-background-color |
margin | number | Установка отступов, равных n вокруг объекта. Поддерживаются дополнительные атрибуты: margin-top, margin-left, margin-bottom, margin-right. |
stretch | boolean | Автоматическое принятие размеров под помещенные на нее компоненты. |
moving | boolean | Перемещение окна перемещением panel. По умолчанию moving=«true». |
x | number | Фактическое (вычисленное) значение (число) координаты X. |
y | number | Фактическое (вычисленное) значение (число) координаты Y. |
height | number | Фактическое (вычисленное) значение (число) высоты объекта. |
width | number | Фактическое (вычисленное) значение (число) ширины объекта. Атрибут width поддерживает значение max в контейнере с layout=«null». Объект удлинятся максимально, ориентируясь на предыдущие объекты строками выше. Удобно при проектировании окон ввода. |
oX | number | Заданное значение координаты Х. |
oY | number | Заданное значение координаты Y. |
oHeight | number | Заданное значение высоты объекта. |
oWidth | number | Заданное значение ширины объекта. |
Название | Тип | Описание |
---|---|---|
focus | boolean | Команда передачи фокуса ввода в поле ввода. |
repaint | boolean | Перерисовка содержимого данного контейнера. |
refresh | boolean | В отличие от repaint обновляет только границы панели. Т.е. если добавлен объект, а он не виден (и при этом не менялись вручную размеры панели), то нужно выполнить refresh. |
revalidate | boolean | Команда пересчета размеров панели. Применяется редко, т.к. панель сама старается отслеживать свои размеры. |
Название | Тип | Описание |
---|---|---|
h-gradient | boolean | Установка градиента цвета для фона заголовка объекта. Поддерживаются дополнительные атрибуты: h-gradient-start=«color_name», h-gradient-end=«color-name», h-gradient-direction=«horizontal | vertical» |
h-margin | number | Установка отступов, равных n вокруг заголовка объекта. Поддерживаются дополнительные атрибуты: h-margin-top, h-margin-left, h-margin-bottom, h-margin-right. |
h-visible | boolean | Флаг управления видимостью заголовка (header). |
hCenter-* , hLeft-*, hRight-* | Заголовок панели делится на три части по горизонтали: левая (hLeft-*), центральная (hCenter-*) и правая (hRight-*). hCenter-*={<panel>-атрибуты} - семейство атрибутов для центральной части заголовка объекта. Поддерживаются все атрибуты <panel>. hLeft-*={<panel>-атрибуты} - семейство атрибутов для левой части заголовка объекта. Поддерживаются все атрибуты <panel>. hRight-*={<panel>-атрибуты} - семейство атрибутов для правой части заголовка объекта. Поддерживаются все атрибуты <panel>. |
|
statusbar-visible | boolean | Управление видимостью статусбара для всех тэгов, поддерживающих атрибуты <panel> |
title | string | Заголовок объекта. Атрибут имеет силу только при создании объекта. Изменение значения атрибута после создания объекта не будет иметь эффекта. Имеет дополнительные атрибуты:title-before, title-after, title-visible. |
call-event-later | string | Вызов события по его имени для всех тэгов, поддерживающих атрибуты <panel> |
Название | Тип | Описание |
---|---|---|
onKeyDown | code | Описание действий для события, возникающего при нажатии на клавишу, но до ее отпускания. Правила описания см. (Описание событий в ApplicationXML). |
onKeyUp | code | Описание действий для события, возникающего при отпускании клавиши. Правила описания см. (Описание событий в ApplicationXML). |
onKeyPressed | code | Описание действий для события, возникающего при нажатии на клавишу без учета фаз «нажатие/отпускание». Срабатывает после отпускания клавиши. Правила описания см. (Описание событий в ApplicationXML). |
onCreated | code | Описание действий для события, возникающего единожды, после создания объекта. Правила описания см. (Описание событий в ApplicationXML). |
onAction | code | Описание действий для события, возникающего после клика левой кнопки мышки по объекту. Правила описания см. (Описание событий в ApplicationXML). |
onResized | code | Описание действий для события, возникающего после изменения размеров панели. Правила описания см. (Описание событий в ApplicationXML). |
onMoved | code | Описание действий для события, возникающего после изменения координат панели. Правила описания см. (Описание событий в ApplicationXML). |
onVisibled | code | Описание действий для события, возникающего после смены видимости панели на «true». Правила описания см. (Описание событий в ApplicationXML). |
onHided | code | Описание действий для события, возникающего после смены видимости панели на «false». Правила описания см. (Описание событий в ApplicationXML). |
onComponentAdded | code | Описание действий для события, возникающего после добавления какого-либо компонента на панель. Правила описания см. (Описание событий в ApplicationXML). |
onComponentRemoved | code | Описание действий для события, возникающего после удаления какого-либо компонента с панели. Правила описания см. (Описание событий в ApplicationXML). |
onAdded | code | Описание действий для события, возникающего во время добавления самого объекта в контейнер. Правила описания см. (Описание событий в ApplicationXML). |
onRemoved | code | Описание действий для события, возникающего во время удаления самого объекта из контейнера. Правила описания см. (Описание событий в ApplicationXML). |
onAncestorMoved | code | Описание действий для события, возникающего во время изменения положения контейнера, в котором находится данный объект. Правила описания см. (Описание событий в ApplicationXML). |
onAncestorResized | code | Описание действий для события, возникающего во время изменения размеров контейнера, в котором находится данный объект. Правила описания см. (Описание событий в ApplicationXML). |
Панель - визуальная область, на которой можно размещать визуальные объекты.
Поддерживает следующие области для расположения объектов:
- left,
- right,
- top,
- bottom,
- center,
- left-toolbar,
- right-toolbar,
- top-toolbar,
- bottom-toolbar,
- left-menu,
- right-menu,
- top-menu,
- bottom-menu.
В этих местах можно располагать любые визуальные объекты. Области *-toolbar рекомендуется использовать только под тулбары, а области *-menu – под меню.
<panel id="mainPanel" layout="border" position="center" width="300" height="200" margin="2" border="line:red" background-color="pink"> <panel layout="flow" position="left" width="50" border="line:blue" margin="1"> <label text="Я панель"/> <label text="СЛЕВА"/> </panel> <panel layout="flow" position="top" height="50" border="line:blue" margin="1"> <label text="Я панель"/> <label text="СВЕРХУ"/> </panel> <panel layout="flow" position="bottom" height="50" border="line:blue" margin="1"> <label text="Я панель"/> <label text="СНИЗУ"/> </panel> <panel layout="flow" position="right" width="50" border="line:blue" margin="1"> <label text="Я панель"/> <label text="СПРАВА"/> </panel> <panel layout="flow" align="center" margin="1" border="line:green"> <label icon="res:world.gif" margin-top="20"/> </panel> </panel>