<panel ... >

Панель - визуальная область, на которой можно размещать визуальные объекты.


Синтаксис

<panel panel-attributes>
    [прочие appxml-тэги]
<panel/>

Атрибуты

Основные атрибуты (R/W):

Название Тип Описание
id id_name Уникальный, в рамках приложения, идентификатор объекта. Доступ к объекту с помощью AppScript выполняется через этот идентификатор.
Если id не задан, то интерпретатор автоматически заполнит его некоторым случайным в момент запуска приложения. В этом случае appxml-программист лишается возможности обращаться к объекту.

Визуальные атрибуты (R/W):

Название Тип Описание
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 Заданное значение ширины объекта.

Командные атрибуты (W/O):

Название Тип Описание
focus boolean Команда передачи фокуса ввода в поле ввода.
repaint boolean Перерисовка содержимого данного контейнера.
refresh boolean В отличие от repaint обновляет только границы панели. Т.е. если добавлен объект, а он не виден (и при этом не менялись вручную размеры панели), то нужно выполнить refresh.
revalidate boolean Команда пересчета размеров панели. Применяется редко, т.к. панель сама старается отслеживать свои размеры.

Прочие атрибуты (R/W):

Название Тип Описание
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>

Событийные атрибуты (R/W):

Название Тип Описание
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>
 
tags/panel.txt · Последние изменения: 29/10/2020 16:32 (внешнее изменение)
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS