Fix render regression with move to hashtables

This commit is contained in:
David Botton 2022-01-14 13:25:44 -05:00
parent c39e396c96
commit 35f95d4efc

View file

@ -546,6 +546,7 @@ of controls and double click to select control."
(setf (text btn-sim) "Simulate") (setf (text btn-sim) "Simulate")
(setf in-simulation nil) (setf in-simulation nil)
(maphash (lambda (html-id control) (maphash (lambda (html-id control)
(declare (ignore html-id))
(setf (hiddenp (get-placer control)) nil)) (setf (hiddenp (get-placer control)) nil))
(get-control-list app panel-id))) (get-control-list app panel-id)))
(t (t
@ -554,6 +555,7 @@ of controls and double click to select control."
(on-populate-control-properties-win win) (on-populate-control-properties-win win)
(setf in-simulation t) (setf in-simulation t)
(maphash (lambda (html-id control) (maphash (lambda (html-id control)
(declare (ignore html-id))
(setf (hiddenp (get-placer control)) t)) (setf (hiddenp (get-placer control)) t))
(get-control-list app panel-id)) (get-control-list app panel-id))
(focus (first-child content)))))) (focus (first-child content))))))
@ -563,48 +565,54 @@ of controls and double click to select control."
(window-focus win) (window-focus win)
(when fname (when fname
(setf file-name fname) (setf file-name fname)
(maphash (lambda (html-id control) (maphash
(place-inside-bottom-of (lambda (html-id control)
(bottom-panel box) (declare (ignore html-id))
(get-placer control))) (place-inside-bottom-of (bottom-panel box)
(get-control-list app panel-id)) (get-placer control)))
(write-file (inner-html content) fname)) (get-control-list app panel-id))
(maphash (lambda (html-id control) (write-file (inner-html content) fname)
(place-after control (get-placer control)) (maphash
(get-control-list app panel-id)))) (lambda (html-id control)
(declare (ignore html-id))
(place-after control (get-placer control)))
(get-control-list app panel-id))))
:initial-filename file-name))) :initial-filename file-name)))
(set-on-click btn-rndr (lambda (obj) (set-on-click btn-rndr
(maphash (lambda (html-id control) (lambda (obj)
(place-inside-bottom-of (bottom-panel box) (let (vars)
(get-placer control))) (maphash (lambda (html-id control)
(get-control-list app panel-id)) ;; hide placer
(let* ((cw (on-show-layout-code obj)) (place-inside-bottom-of (bottom-panel box)
(result (format nil (get-placer control))
*builder-template1* (let ((vname (attribute control "data-clog-name")))
panel-name (push (format nil *builder-template2*
(escape-string vname
(ppcre:regex-replace-all "\\x22" html-id
(inner-html content) (format nil "CLOG:~A" (type-of control)))
"\\\\\\\"")) vars)))
panel-name (get-control-list app panel-id))
(mapcar (lambda (e) (let* ((cw (on-show-layout-code obj))
(let ((vname (attribute e "data-clog-name"))) (result (format nil
(when vname *builder-template1*
(format nil *builder-template2* panel-name
vname (escape-string
(html-id e) (ppcre:regex-replace-all "\\x22"
(format nil "CLOG:~A" (type-of e)))))) (inner-html content)
(get-control-list app panel-id)) "\\\\\\\""))
(html-id cw) panel-name
(html-id cw)))) vars
(js-execute obj (format nil (html-id cw)
"editor_~A.setValue('~A');editor_~A.moveCursorTo(0,0);" (html-id cw))))
(html-id cw) (js-execute obj (format nil
(escape-string result) "editor_~A.setValue('~A');editor_~A.moveCursorTo(0,0);"
(html-id cw)))) (html-id cw)
(maphash (lambda (html-id control) (escape-string result)
(place-after control (get-placer control)) (html-id cw)))))
(get-control-list app panel-id))))) (maphash (lambda (html-id control)
(declare (ignore html-id))
(place-after control (get-placer control)))
(get-control-list app panel-id))))
(set-on-click btn-prop (set-on-click btn-prop
(lambda (obj) (lambda (obj)
(input-dialog obj "Panel Name" (input-dialog obj "Panel Name"
@ -650,6 +658,7 @@ of controls and double click to select control."
(on-populate-control-list-win content) (on-populate-control-list-win content)
;; setup control events ;; setup control events
(set-on-focus control (lambda (obj) (set-on-focus control (lambda (obj)
(declare (ignore obj))
;; set focus is captured bound in case ;; set focus is captured bound in case
;; control is set to static or reached ;; control is set to static or reached
;; using tab selection ;; using tab selection