Alterator/Widgets/CheckTree: различия между версиями
(Новая страница: «== Описание == Виджет для организации иерархического табличного представления с флажками ...») |
м (переименовал Alterator/CheckTree в Alterator/Widgets/CheckTree) |
||
(не показана 21 промежуточная версия 2 участников) | |||
Строка 1: | Строка 1: | ||
== Описание == | == Описание == | ||
Виджет для организации иерархического табличного представления с флажками выбора | Виджет для организации иерархического табличного представления с флажками выбора. | ||
=== Пример === | === Пример === | ||
Строка 23: | Строка 23: | ||
=== Свойства === | === Свойства === | ||
;(append-row | ;(append-row LIST) | ||
:Добавить строку в дерево. | :Добавить строку в дерево. | ||
;(rows | :Формат LIST: список полей, разделённый символами «;»: | ||
:Добавить список строк в дерево. Строки разделены символом | :* item_id — идентификатор элемента. '''ВНИМАНИЕ!''' Не используйте в идентификаторах пробелы и «;» — это может привести к сбою работы; | ||
:* item_parent_id — идентификатор родительского элемента; | |||
:* label_1 — надпись в первом столбце; | |||
:* label_X... — (опционально) надписи во втором и последующем столбцах; | |||
;(rows LIST) | |||
:Добавить список строк в дерево. Строки разделены символом «;». Количество элементов в каждой строке должно быть равно количеству столбцов+2. | |||
;(rows-clear) | ;(rows-clear) | ||
:Удалить все строки в дереве. | :Удалить все строки в дереве. | ||
;( | ;(expand-rows LIST) | ||
:Развернуть элементы по списку идентификаторов, разделённых символами «;». | |||
;(collapse-rows LIST) | |||
:Свернуть элементы по списку идентификаторов, разделённых символами «;». По умолчанию все элементы свёрнуты. | |||
;(current-rows LIST) → (id_1;id_2...) | |||
:Установить флажки для элементов по списку идентификаторов, разделённых символами «;». | :Установить флажки для элементов по списку идентификаторов, разделённых символами «;». | ||
:Вернуть список идентификаторов отмеченных элементов, разделённые символами «;». | :Вернуть список идентификаторов отмеченных элементов, разделённые символами «;». | ||
;(current ID) → id | |||
:Выделить элемент по его идентификатору | |||
:Вернуть идентификатор текущего элемента | |||
;(icon-rows "ICON;COLUMN;LIST") | |||
:Установить значок <tt>ICON</tt> в столбце <tt>COLUMN</tt> (нумерация начинается с 1) для элементов по списку идентификаторов, разделённых символами «;». | |||
=== Сигналы === | === Сигналы === | ||
;(changed) | ;(changed) | ||
:Возникает при изменении состоянии флажка любого элемента | :Возникает при изменении состоянии флажка любого элемента. | ||
;(selected) | |||
:Возникает при выделении (мышью или с клавиатуры) элемента виджета. | |||
''Примечание'': при щелчке на флажке генерируются оба сигнала: <tt>(changed)</tt> и <tt>(selected)</tt> | |||
== Пример == | == Пример == | ||
(document:id packages (checktree | ;; Create widget and connect two slots to its signals | ||
(when changed (test-label)))) | (document:id packages (checktree columns 2 | ||
( | (when changed (test-label)) | ||
( | (when selected (select-label)) | ||
( | ;; Fill values | ||
(packages append-row "g1;;Group 1") ; first top-level item | |||
(packages append-row "gp1;g1;Subgroup") ; child of first top-level item | |||
(packages append-row "g2;;Another group;22045") ; second top-level item | |||
;; Set properties | |||
(packages expand-rows "g1") ; expand top-level item named 'g1' | |||
(packages current-rows "g1;gp1") ; set checked two items | |||
(packages icon-rows "theme:help;;g1") ; set icon in first column | |||
(packages current "gp1") ; set current item | |||
[[Категория:Виджеты Alterator]] | [[Категория:Виджеты Alterator]] |
Текущая версия от 13:54, 29 марта 2013
Описание
Виджет для организации иерархического табличного представления с флажками выбора.
Пример
[-] [x] Элемент 1 +----[ ] Подэлемент [+] [ ] Свёрнутый элемент
У каждого элемента показывается флажок, который можно установить или снять (с помощью мыши или клавишей Space). При изменении состоянии флажка генерируется сигнал changed
API
Конструктор
- (checktree)
- Конструктор.
Опциональные параметры:
- columns 1
- Количество столбцов. По умолчанию — 1.
Свойства
- (append-row LIST)
- Добавить строку в дерево.
- Формат LIST: список полей, разделённый символами «;»:
- item_id — идентификатор элемента. ВНИМАНИЕ! Не используйте в идентификаторах пробелы и «;» — это может привести к сбою работы;
- item_parent_id — идентификатор родительского элемента;
- label_1 — надпись в первом столбце;
- label_X... — (опционально) надписи во втором и последующем столбцах;
- (rows LIST)
- Добавить список строк в дерево. Строки разделены символом «;». Количество элементов в каждой строке должно быть равно количеству столбцов+2.
- (rows-clear)
- Удалить все строки в дереве.
- (expand-rows LIST)
- Развернуть элементы по списку идентификаторов, разделённых символами «;».
- (collapse-rows LIST)
- Свернуть элементы по списку идентификаторов, разделённых символами «;». По умолчанию все элементы свёрнуты.
- (current-rows LIST) → (id_1;id_2...)
- Установить флажки для элементов по списку идентификаторов, разделённых символами «;».
- Вернуть список идентификаторов отмеченных элементов, разделённые символами «;».
- (current ID) → id
- Выделить элемент по его идентификатору
- Вернуть идентификатор текущего элемента
- (icon-rows "ICON;COLUMN;LIST")
- Установить значок ICON в столбце COLUMN (нумерация начинается с 1) для элементов по списку идентификаторов, разделённых символами «;».
Сигналы
- (changed)
- Возникает при изменении состоянии флажка любого элемента.
- (selected)
- Возникает при выделении (мышью или с клавиатуры) элемента виджета.
Примечание: при щелчке на флажке генерируются оба сигнала: (changed) и (selected)
Пример
;; Create widget and connect two slots to its signals (document:id packages (checktree columns 2 (when changed (test-label)) (when selected (select-label)) ;; Fill values (packages append-row "g1;;Group 1") ; first top-level item (packages append-row "gp1;g1;Subgroup") ; child of first top-level item (packages append-row "g2;;Another group;22045") ; second top-level item ;; Set properties (packages expand-rows "g1") ; expand top-level item named 'g1' (packages current-rows "g1;gp1") ; set checked two items (packages icon-rows "theme:help;;g1") ; set icon in first column (packages current "gp1") ; set current item