diff --git a/tools/clog-builder.lisp b/tools/clog-builder.lisp index c44a088..775a614 100644 --- a/tools/clog-builder.lisp +++ b/tools/clog-builder.lisp @@ -63,6 +63,10 @@ :accessor control-list :initform nil :documentation "List of controls to bind to lisp symbols") + (placer-list + :accessor placer-list + :initform nil + :documentation "List of placers to hide before renders and restore after") (properties-list :accessor properties-list :initform nil @@ -315,6 +319,8 @@ (setf (current-placer app) nil) (on-populate-control-properties win)))) (set-on-click btn-save (lambda (obj) + (dolist (placer (placer-list app)) + (setf (hiddenp placer) t)) (let* ((cw (on-show-layout-code obj)) (result (format nil *builder-template1* @@ -338,7 +344,9 @@ "editor_~A.setValue('~A');editor_~A.moveCursorTo(0,0);" (html-id cw) (escape-string result) - (html-id cw)))))) + (html-id cw)))) + (dolist (placer (placer-list app)) + (setf (hiddenp placer) nil)))) (set-on-window-close win (lambda (obj) (setf (current-control app) nil) @@ -367,6 +375,7 @@ (when element (setf (current-control app) element) (push element (control-list app)) + (push placer (placer-list app)) (setf (attribute element "data-lisp-name") (format nil "control-~A" (html-id element))) (setf (attribute element "data-clog-type") (getf control :name))