Alterator/widgets/dynamic
Генерация виджетов
<inger> ты хочешь в какой-то бокс залить пачку виджетов? <gvy> угу <inger> ну тогда нужно что-то типа (map make-widget list-of-data) <gvy> а можешь пример для, скажем, двух чекбоксов показать на пальцах? <gvy> просто код lioka я почитал и понял, что мне ещё доооолго учить как схему, так и читать альтератор, чтоб понять его :) <inger> ну например есть список <inger> '("a" "b" "c" "d") <inger> тогда делаешь серию label при помощи (map (lambda(name) (label name)) this-list) <inger> если надо например checkbox'ы с состояниями <inger> то пусть есть список-результат woo-list <inger> ну например там параметры есть 'title и 'value <gvy> ну примерно, я title заберу из другого списка в ui с переводами, но думаю, не суть важно <inger> тогда (map (lambda(cmd) (checkbox (woo-get-option cmd 'title) value (woo-get-option cmd 'value))) (woo-list "/tst")) <inger> могу ошибаться в параметрах создания checkbox, но идея примерно такая <gvy> так... спасибо, попробую переварить :) <inger> ну идея главная такая - тебе нужно получить список <inger> для этого берёшь список - результат woo-list и потом при помощи map превращаешь в то что тебе нужно <inger> для начала можешь потренироваться на создании одного checkbox а потом распространить опыт на целый список ;) <inger> ну что-то типа сделай make-widget ... который примет (woo-read-first "/test/single") <inger> а потом будет достаточно уже сказать (map make-widget (woo-list "/test/multiple"))
<gvy> а гридбокс не доводилось заполнять функцией? типа, нагенерить <lioka>: проблема в том, что нужно туда положить произвольное количество строчек ? <lioka>: alterator-vm/ui/vm/popup.scm функция renew-options (clean-widget option-box (lambda () (apply option-box (make-option-widgets))