Use text areas for events

This commit is contained in:
David Botton 2022-02-28 10:12:27 -05:00
parent 89c923b8f8
commit 312400d0d6
4 changed files with 31 additions and 12 deletions

View file

@ -646,28 +646,30 @@ not a temporary attached one when using select-control."
,(getf event :parameters)
,(getf event :setup)
,(lambda (obj)
(let ((txt (text obj)))
(let ((txt (text-value obj)))
(if (or (equal txt "")
(equalp txt "undefined"))
(remove-attribute control attr)
(setf (attribute control attr) (text obj))))))
(setf (attribute control attr) (text-value obj))))))
events)))
(dolist (item events)
(let* ((tr (create-table-row table))
(td1 (create-table-column tr :content (first item)))
(td2 (if (second item)
(create-table-column tr :content (second item))
(create-table-column tr))))
(let* ((tr (create-table-row table))
(td1 (create-table-column tr :content (first item)))
(td2 (create-table-column tr))
(editor nil))
(setf (width td1) "30%")
(setf (width td2) "70%")
(set-border td1 "1px" :dotted :black)
(setf (spellcheckp td2) nil)
(setf (advisory-title td1) (format nil "params: panel ~A" (third item)))
(cond ((fourth item)
(setf editor td2)
(setf (editablep td2) (funcall (fourth item) control td1 td2)))
(t
(setf (editablep td2) t)))
(set-on-blur td2
(setf editor (create-text-area td2))
(setf (spellcheckp editor) nil)
(setf (width editor) "95%"))) ; leave space for scroll bar
(setf (text-value editor) (second item))
(set-on-blur editor
(lambda (obj)
(funcall (fifth item) obj)))))))))