Alterator/New/Packages: различия между версиями
Qwest (обсуждение | вклад) м (→ListBox) |
(→Box) |
||
(не показаны 3 промежуточные версии 1 участника) | |||
Строка 211: | Строка 211: | ||
{| class="wide sortable collapsible collapsed" style="text-align:center" | {| class="wide sortable collapsible collapsed" style="text-align:center" | ||
|- | |- | ||
!Package|| | !Package||[[Файл:Root.svg]]||[[Файл:Box.svg]]||[[Файл:Vbox.svg]]||[[Файл:Hbox.svg]]||[[Файл:Button.svg]]||[[Файл:Linkbutton.svg]]||[[Файл:Radio.svg]]||[[Файл:Label.svg]]||[[Файл:Edit_alterator.svg]]||[[Файл:Textbox.svg]]||[[Файл:Groupbox.svg]]||[[Файл:Gridbox.svg]]||[[Файл:Checkbox.svg]]||[[Файл:Checktree.svg]]||[[Файл:Tree.svg]]||[[Файл:Combobox.svg]]||[[Файл:Tabbox.svg]]||[[Файл:Progressbar.svg]]||[[Файл:Slider.svg]]||[[Файл:Separator.svg]]||[[Файл:Spacer.svg]]||[[Файл:Spinbox.svg]]||[[Файл:Dateedit.svg]]||[[Файл:Timeedit.svg]]||[[Файл:Listbox.svg]]|| [[Файл:RadioListBox.svg]]||[[Файл:Multilistbox.svg]]||[[Файл:Checklistbox.svg]]||[[Файл:Slideshow.svg]]||[[Файл:Splitbox.svg]]||[[Файл:Wizardface.svg]]||[[Файл:Centerface.svg]]||[[Файл:Colorselect.svg]]||[[Файл:Fileselect.svg]]||[[Файл:Undefined.svg]] | ||
|- | |- | ||
|alternatives || || || || ||<span style="display:none">1</span>{{Есть}}|| || ||<span style="display:none">1</span>{{Есть}}|| || || ||<span style="display:none">1</span>{{Есть}}||<span style="display:none">1</span>{{Есть}}|| || || || || || ||<span style="display:none">1</span>{{Есть}}||<span style="display:none">1</span>{{Есть}}|| || || ||<span style="display:none">1</span>{{Есть}}|| || || || || || || || || || | |alternatives || || || || ||<span style="display:none">1</span>{{Есть}}|| || ||<span style="display:none">1</span>{{Есть}}|| || || ||<span style="display:none">1</span>{{Есть}}||<span style="display:none">1</span>{{Есть}}|| || || || || || ||<span style="display:none">1</span>{{Есть}}||<span style="display:none">1</span>{{Есть}}|| || || ||<span style="display:none">1</span>{{Есть}}|| || || || || || || || || || | ||
Строка 410: | Строка 410: | ||
|} | |} | ||
== Таблица виджетов == | == Таблица виджетов == | ||
Строка 419: | Строка 418: | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!box | ![[#Box|box]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 425: | Строка 424: | ||
|orientation|| | |orientation|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test||box | ||
|- valign="top" | |- valign="top" | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!button | ![[#Button|button]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 437: | Строка 436: | ||
|text|| | |text|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test||button | ||
|- | |- | ||
|centerface ||{{Есть}}||{{Нет}}||in_test||centerface | |centerface ||{{Есть}}||{{Нет}}||in_test||centerface | ||
Строка 443: | Строка 442: | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!checkbox | ![[#CheckBox|checkbox]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 453: | Строка 452: | ||
|value|| | |value|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test||checkbox | ||
|- | |- valign="top" | ||
|checklistbox ||{{Есть}}||{{ | | | ||
{| class="wide collapsible collapsed" | |||
![[#CheckListBox|checklistbox]] | |||
|- | |||
!Attributes||||Events | |||
|- | |||
|append-row||||changed | |||
|- | |||
|columns||||clicked | |||
|- | |||
|count||||double-clicked | |||
|- | |||
|current||||selected | |||
|- | |||
|enumref||||return-pressed | |||
|- | |||
|header|| | |||
|- | |||
|remove|| | |||
|- | |||
|row-item|| | |||
|- | |||
|rows|| | |||
|- | |||
|text|| | |||
|- | |||
|value|| | |||
|} | |||
|{{Есть}}||{{Есть}}||in_test||checklistbox | |||
|- | |- | ||
|checktree ||{{Есть}}||{{Нет}}||in_test||checktree | |checktree ||{{Есть}}||{{Нет}}||in_test||checktree | ||
Строка 463: | Строка 490: | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!combobox | ![[#ComboBox|combobox]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 485: | Строка 512: | ||
|text|| | |text|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test||combobox | ||
|- valign="top" | |- valign="top" | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!dateedit | ![[#DateEdit|dateedit]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 495: | Строка 522: | ||
|expanded|| | |expanded|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test||dateedit | ||
|- valign="top" | |- valign="top" | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!edit | ![[#Edit|edit]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 509: | Строка 536: | ||
|value|| | |value|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test||edit | ||
|- valign="top" | |- valign="top" | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!fileselect | ![[#FileSelect|fileselect]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 525: | Строка 552: | ||
|url|| | |url|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test||fileselect | ||
|- valign="top" | |- valign="top" | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!gridbox | ![[#GridBox|gridbox]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 535: | Строка 562: | ||
|columns|| | |columns|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test||gridbox | ||
|- valign="top" | |- valign="top" | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!groupbox | ![[#GroupBox|groupbox]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 551: | Строка 578: | ||
|title|| | |title|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test||groupbox | ||
|- | |- | ||
|hbox ||{{Есть}}||{{Нет}}||in_test||hbox | |[[#Box|hbox]] ||{{Есть}}||{{Нет}}||in_test||hbox | ||
|- valign="top" | |- valign="top" | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!label | ![[#Label|label]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 567: | Строка 594: | ||
|value|| | |value|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test||label | ||
|- | |- | ||
|linkbutton ||{{Есть}}||{{Нет}}||in_test||linkbutton | |linkbutton ||{{Есть}}||{{Нет}}||in_test||linkbutton | ||
Строка 573: | Строка 600: | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!listbox | ![[#ListBox|listbox]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||||Events | ||
|- | |- | ||
|append-row|| | |append-row||||changed | ||
|- | |- | ||
|columns|| | |columns||||clicked | ||
|- | |- | ||
|count|| | |count||||double-clicked | ||
|- | |- | ||
|current|| | |current||||selected | ||
|- | |- | ||
|enumref|| | |enumref||||return-pressed | ||
|- | |- | ||
|header|| | |header|| | ||
Строка 597: | Строка 624: | ||
|text|| | |text|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test|| | ||
|- | |- | ||
|multilistbox ||{{Есть}}||{{Нет}}||in_test||multilistbox | |multilistbox ||{{Есть}}||{{Нет}}||in_test||multilistbox | ||
Строка 603: | Строка 630: | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!progressbar | ![[#ProgressBar|progressbar]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 615: | Строка 642: | ||
|value|| | |value|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test||progressbar | ||
|- valign="top" | |- valign="top" | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!radio | ![[#Radio|radio]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 629: | Строка 656: | ||
|value|| | |value|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test||radio | ||
|- valign="top" | |- valign="top" | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!radiolistbox | ![[#RadioListBox|radiolistbox]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 683: | Строка 710: | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!textbox | ![[#TextBox|textbox]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 699: | Строка 726: | ||
| | | | ||
{| class="wide collapsible collapsed" | {| class="wide collapsible collapsed" | ||
!timeedit | ![[#TimeEdit|timeedit]] | ||
|- | |- | ||
!Attributes||Events | !Attributes||Events | ||
Строка 711: | Строка 738: | ||
|value|| | |value|| | ||
|} | |} | ||
|{{Есть}}||{{ | |{{Есть}}||{{Есть}}||in_test||timeedit | ||
|- valign="top" | |- valign="top" | ||
| | | | ||
Строка 735: | Строка 762: | ||
|undefined ||{{Есть}}||{{Нет}}||in_test||undefined | |undefined ||{{Есть}}||{{Нет}}||in_test||undefined | ||
|- | |- | ||
|vbox ||{{Есть}}||{{ | |[[#Box|vbox]] ||{{Есть}}||{{Есть}}||in_test||vbox | ||
|- | |- | ||
|wizardface ||{{Есть}}||{{Нет}}||in_test||wizardface | |wizardface ||{{Есть}}||{{Нет}}||in_test||wizardface | ||
Строка 791: | Строка 818: | ||
Контейнер для других виджетов. | Контейнер для других виджетов. | ||
* '''orientation''' «''horizontal''» — это развернутый вариант виджета '''hbox'''; | * '''orientation''' «''horizontal''» — это развернутый вариант виджета '''hbox'''; | ||
* '''orientation''' «''vertical''» — развернутый вариант виджета '''vbox'''. | * '''orientation''' «''vertical''» — развернутый вариант виджета '''vbox''' (по умолчанию). | ||
==== Button ==== | ==== Button ==== | ||
Строка 1033: | Строка 1060: | ||
==== ComboBox ==== | ==== ComboBox ==== | ||
Выпадающий список. Поддерживает все события и атрибуты виджета ''listbox'' в одноколоночном режиме, а также: | Выпадающий список. Поддерживает все события и атрибуты виджета [[#ListBox|''listbox'']] в '''одноколоночном''' режиме, а также: | ||
<u>Атрибуты</u> | <u>Атрибуты</u> | ||
* '''alterability''' - значение #t переключает строку в редактируемый режим. | * '''alterability''' - значение #t переключает строку в редактируемый режим. | ||
<br/> | |||
==== RadioListBox ==== | |||
Список с возможностью выбора одного значения, где каждый элемент является радио-кнопкой. | |||
Атрибуты и события заимствованы из виджета [[#ListBox|''listbox'']]. Некоторые проблемы возникают с атрибутом ''enumref'' при формировании списка из ''backend''. | |||
==== CheckListBox ==== | |||
Прокручиваемый список с возможностью множественного выбора. Является объединением двух виджетов: [[#ListBox|''listbox'']] и [[#CheckBox|''checkbox'']]. Таким образом, поддерживает атрибуты и события обоих виджетов. | |||
==== Tree ==== | |||
Древообразный список элементов. |
Текущая версия от 17:24, 23 сентября 2013
Текущее состояние модулей альтератора
Packages Internals
Таблица виджетов
Widget | X11 | Qt | ncurses | Описание | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
in_test | box | |||||||||||||||||||||||||||||||||
|
in_test | button | |||||||||||||||||||||||||||||||||
centerface | in_test | centerface | |||||||||||||||||||||||||||||||||
|
in_test | checkbox | |||||||||||||||||||||||||||||||||
|
in_test | checklistbox | |||||||||||||||||||||||||||||||||
checktree | in_test | checktree | |||||||||||||||||||||||||||||||||
colorselect | in_test | colorselect | |||||||||||||||||||||||||||||||||
|
in_test | combobox | |||||||||||||||||||||||||||||||||
|
in_test | dateedit | |||||||||||||||||||||||||||||||||
|
in_test | edit | |||||||||||||||||||||||||||||||||
|
in_test | fileselect | |||||||||||||||||||||||||||||||||
|
in_test | gridbox | |||||||||||||||||||||||||||||||||
|
in_test | groupbox | |||||||||||||||||||||||||||||||||
hbox | in_test | hbox | |||||||||||||||||||||||||||||||||
|
in_test | label | |||||||||||||||||||||||||||||||||
linkbutton | in_test | linkbutton | |||||||||||||||||||||||||||||||||
|
in_test | ||||||||||||||||||||||||||||||||||
multilistbox | in_test | multilistbox | |||||||||||||||||||||||||||||||||
|
in_test | progressbar | |||||||||||||||||||||||||||||||||
|
in_test | radio | |||||||||||||||||||||||||||||||||
|
in_test | radiolistbox | |||||||||||||||||||||||||||||||||
root | in_test | root | |||||||||||||||||||||||||||||||||
separator | in_test | separator | |||||||||||||||||||||||||||||||||
slider | in_test | slider | |||||||||||||||||||||||||||||||||
slideshow | in_test | slideshow | |||||||||||||||||||||||||||||||||
spacer | in_test | spacer | |||||||||||||||||||||||||||||||||
|
in_test | spinbox | |||||||||||||||||||||||||||||||||
|
in_test | splitbox | |||||||||||||||||||||||||||||||||
tabbox | in_test | tabbox | |||||||||||||||||||||||||||||||||
|
in_test | textbox | |||||||||||||||||||||||||||||||||
|
in_test | timeedit | |||||||||||||||||||||||||||||||||
|
in_test | tree | |||||||||||||||||||||||||||||||||
undefined | in_test | undefined | |||||||||||||||||||||||||||||||||
vbox | in_test | vbox | |||||||||||||||||||||||||||||||||
wizardface | in_test | wizardface |
Таблица общих атрибутов для всех виджетов
Attribute | Значения | Описание |
---|---|---|
align | "left" "right" "middle" "hmiddle" "center" "top" "bottom" | выравнивание внутри ячейки «сетки» |
activity | #t #f | активирует/отключает виджет |
visibility | #t #f | видимость/невидимость виджета |
colspan | <число> | количество столбцов "сетки" под данный виджет |
rowspan | <число> | количество строк "сетки" под данный виджет |
tooltip | <текст> | справочная информация, выводимая во всплывающей подсказке |
focus | #t #f | атрибут только для записи, помещает фокус на виджет для которого указано значение #t |
width | <число> | ширина виджета |
height | <число> | высота виджета |
title | <текст> | заголовок родительского контейнера |
name | <текст> | имя виджета |
nameref | <текст> | аналог name (?) |
margin | <число> | ширина "рамки" вокруг контейнера |
spacing | <число> | промежуток между виджетами (применим только к контейнерам) |
Описание виджетов и их атрибутов
Корневой виджет
Именно в этот виджет вставляются все остальные. Имеет следующие атрибуты:
- title — заголовок окна
- width — ширина окна
- height — высота окна
Box
Контейнер для других виджетов.
- orientation «horizontal» — это развернутый вариант виджета hbox;
- orientation «vertical» — развернутый вариант виджета vbox (по умолчанию).
Button
Кнопка с текстом и картинкой.
Атрибуты:
- text — текст на кнопке;
- pixmap — картинка из списка.
События:
- clicked — вызывается при нажатии кнопки.
CheckBox
Кнопка-флажок с двумя состояниями true или false.
- text — описание кнопки;
- state — состояние флажка. Если значение #t, то флажок выставлен. При значении #f флажок отсутствует;
- value — то же, что и state.
DateEdit
Виджет отображения даты, календаря.
- expanded — со значением #t дополнительно отображает календарь;
- value — атрибут для задания даты (строка формата ГГГГ-ММ-ДД).
TimeEdit
Отображает время.
- expanded — со значением #t добавляет графические часы;
- stop — остановка счета времени;
- start — запуск счета времени;
- value — задание времени.
Radio
Радиокнопка позволяет выбрать один пункт из набора, в пределах одного контейнера.
- state — состояние пункта. Данный пункт выбран при значении #t;
- text — описание пункта;
Edit
Однострочное текстовое поле ввода.
- echo — режим отображения. Возможные варианты: normal (по умолчанию), stars (звёздочки, для паролей), no (ввод не отображается);
- alterability — разрешение на изменение текста. Если значение #f, содержимое поля доступно только для чтения;
- text — содержимое поля;
- value — то же, что и text.
GridBox
Вертикальный контейнер «сетки». Основой способ организации виджетов на экране.
- columns — ширина стобцов сетки в процентном соотношении от общей ширины.
Label
Предназначен для отображения какой-либо надписи без возможности редактирования.
- text-wrap — отображение одной длинной строки в виде многострочного текста (#t/#f);
- text — отображаемый текст.
GroupBox
Объединение группы виджетов в один контейнер.
- checked — в случае значения #t рядом с заголовком отображается checkbox (если он не выделен, то содержимое группы неактивно и недоступно для работы);
- orientation — ориентация контейнера (horizontal/vertical);
- state — состояние checkbox в случае режима checked;
- title — заголовок группы.
ProgressBar
Строка прогресса некоторого процесса.
- maximum — максимальное допустимое значение, соответствует 100 %;
- minimum — минимальное допустимое значение, соответствует 0 %;
- text — информация в строке прогресса;
- value — текущее значение прогресса.
SpinBox
Поле со счетчиком для ввода чисел.
- maximum — максимальное допустимое значение;
- minimum — минимальное допустимое значение;
- step — шаг приращения значения;
- value — текущее значение.
TextBox
Многострочное текстовое поле ввода.
- alterability — разрешение на изменение текста. Если значение #f, содержимое поля доступно только для чтения;
- text — содержимое поля;
- append-text — добавить текст в конец поля;
- url — показать содержимое указанного файла.
FileSelect
Выбор файла из файловой системы, для дальнейшей работы с ним.
- filter — допустимые расширения файлов;
- hints — условие выбора файла (обычно используется значение existing_file для проверки на существование выбранного файла);
- title — заголовок;
- url — путь поиска файлов.
Пример:
(document:surround "/std/frame") (define fileselect (make-widget 'fileselect)) (define url (make-attribute 'url)) (define filter (make-attribute 'filter)) (define hints (make-attribute 'hints)) (gridbox columns "100" margin "100" (vbox (label text "Simple import certificate") (fileselect title (_"Import CA certificate") url "/" filter "*.cert *.crt *.pem" hints "existing_file")))
SplitBox
Контейнер с изменяемой шириной колонок.
- columns — изначальная ширина колонок.
ListBox
Прокручиваемый список, с возможностью создания нескольких столбцов.
Атрибуты
- columns — количество колонок в списке;
- header — заголовок таблицы, вектор из строк с названиями колонок;
- enumref — адрес списка данных;
- rows — возвращает список значений в виде единой строки;
- rows-clear — очищает список;
- append-row — добавление в конец списка новой строки;
- row-item — работа с отдельным полем в списке. Координаты задаются списком из двух значений '(строка столбец) или указанием порядкового номера строки;
- row-remove — удаляет строку с указанным порядковым номером;
- text — возвращает строку с содержимым первого поля активной строки;
- current — номер выделенной строки. Если ничего не выделено, то значение равно −1;
- count — возвращает количество строк в таблице.
События Желательно использовать только одно событие.
- clicked — одинарный щелчок правой кнопки мышки по элементу списка;
- double-clicked — двойной щелчок правой кнопки мышки по элементу списка;
- selected — изменение активной строки;
- return-pressed — нажатиe Enter на активной строке списка;
- changed — любое действие с виджетом (не рекомендуется использовать).
|
ComboBox
Выпадающий список. Поддерживает все события и атрибуты виджета listbox в одноколоночном режиме, а также:
Атрибуты
- alterability - значение #t переключает строку в редактируемый режим.
RadioListBox
Список с возможностью выбора одного значения, где каждый элемент является радио-кнопкой. Атрибуты и события заимствованы из виджета listbox. Некоторые проблемы возникают с атрибутом enumref при формировании списка из backend.
CheckListBox
Прокручиваемый список с возможностью множественного выбора. Является объединением двух виджетов: listbox и checkbox. Таким образом, поддерживает атрибуты и события обоих виджетов.
Tree
Древообразный список элементов.