expanded controls on search

This commit is contained in:
David Botton 2024-07-25 12:59:24 -04:00
parent 28753abdb5
commit 95e25dca49
4 changed files with 228 additions and 104 deletions

View file

@ -336,7 +336,7 @@ var endRange = ~:*~A.session.doc.indexToPosition(endIndex);
(when r
(when status
(setf (advisory-title status) (documentation (read-from-string s) 'function))
(setf (text status) (string-downcase r))))))))))
(setf (text-value status) (string-downcase r))))))))))
(clog-ace:set-auto-completion editor t)
(setf (clog-ace:theme editor) *editor-theme*)
(setf (clog-ace:tab-size editor) *editor-tab-size*)

View file

@ -5,6 +5,7 @@
(let* ((app (connection-data-item obj "builder-app-data"))
(*default-title-class* *builder-title-class*)
(*default-border-class* *builder-border-class*)
(lisp-file t)
(win (create-gui-window obj :top (+ (menu-bar-height obj) 20)
:left 20
:width 1040 :height 600
@ -16,39 +17,106 @@
(lambda (obj)
(declare (ignore obj))
(setf (hiddenp win) t)))
(set-on-window-size-done win (lambda (obj)
(declare (ignore obj))
(clog-ace:resize (preview-ace panel))))
(set-on-window-size win (lambda (obj)
(declare (ignore obj))
(clog-ace:resize (preview-ace panel))))
(setf (place-holder (pac-line panel)) "Current Package")
(setf (current-editor-is-lisp app) "clog-user")
(setup-lisp-ace (preview-ace panel) nil)
(setf (text-value (pac-line panel)) "clog-user")
(setup-lisp-ace (preview-ace panel) (status-bar panel))
(setf (text-value (preview-ace panel))
";; After search, double click file name to open / single click to preview")
(setf (read-only-p (preview-ace panel)) t)
(set-on-window-focus win
(lambda (obj)
(declare (ignore obj))
(setf (current-editor-is-lisp app) "clog-user")))
(if lisp-file
(setf (current-editor-is-lisp app) (text-value (pac-line panel)))
(setf (current-editor-is-lisp app) nil))))
(set-on-input (result-box panel) (lambda (obj)
(let* ((fname (text-value obj))
(regex (text-value (grep-input panel)))
(c (read-file fname :report-errors nil)))
(cond ((or (equalp (pathname-type fname) "lisp")
(equalp (pathname-type fname) "asd"))
(setf (clog-ace:mode (preview-ace panel)) "ace/mode/lisp"))
(t
(if (equalp (pathname-type fname) "clog")
(setf (clog-ace:mode (preview-ace panel)) "ace/mode/html")
(setf (clog-ace:mode (preview-ace panel))
(clog-ace:get-mode-from-extension (preview-ace panel) fname)))))
(setf (text-value (preview-ace panel)) c)
(clog-ace:resize (preview-ace panel))
(js-execute obj (format nil "~A.find({regExp:true,needle:'~A',caseSensitive:false})"
(clog-ace::js-ace (preview-ace panel)) (escape-string regex)))
(clog-ace:execute-command (preview-ace panel) "find"))
(focus (result-box panel))))
(let* ((fname (text-value obj))
(regex (text-value (grep-input panel)))
(c (read-file fname :report-errors nil)))
(cond ((or (equalp (pathname-type fname) "lisp")
(equalp (pathname-type fname) "asd"))
(setf (text-value (pac-line panel)) (get-package-from-string c))
(setf (current-editor-is-lisp app) (text-value (pac-line panel)))
(setf lisp-file t)
(setf (clog-ace:mode (preview-ace panel)) "ace/mode/lisp"))
(t
(setf lisp-file nil)
(setf (current-editor-is-lisp app) nil)
(if (equalp (pathname-type fname) "clog")
(setf (clog-ace:mode (preview-ace panel)) "ace/mode/html")
(setf (clog-ace:mode (preview-ace panel))
(clog-ace:get-mode-from-extension (preview-ace panel) fname)))))
(setf (text-value (preview-ace panel)) c)
(clog-ace:resize (preview-ace panel))
(js-execute obj (format nil "~A.find({regExp:true,needle:'~A',caseSensitive:false})"
(clog-ace::js-ace (preview-ace panel)) (escape-string regex)))
(clog-ace:execute-command (preview-ace panel) "find"))
(focus (result-box panel))))
(flet ((save (obj)
(let ((fname (text-value (result-box panel))))
(when (not (equalp fname ""))
(write-file (text-value (preview-ace panel)) fname)
(alert-toast obj "Save file..." (format nil "Saved ~A" fname) :color-class "w3-green" :time-out 1)))))
(set-on-click (save-btn panel) #'save)
(set-on-event (preview-ace panel) "clog-save-ace" #'save))
(labels ((eval-form (obj)
(let ((p (parse-integer
(js-query obj
(format nil "~A.session.doc.positionToIndex (~A.selection.getCursor(), 0);"
(clog-ace::js-ace (preview-ace panel))
(clog-ace::js-ace (preview-ace panel))))
:junk-allowed t))
(tv (text-value (preview-ace panel)))
(lf nil)
(cp 0))
(loop
(setf (values lf cp) (read-from-string tv nil nil :start cp))
(unless lf (return nil))
(when (> cp p) (return lf)))
(when lf
(let ((result (capture-eval lf
:capture-console (not *editor-use-console-for-evals*)
:capture-result (not *editor-use-console-for-evals*)
:clog-obj (connection-body obj)
:eval-in-package (text-value (pac-line panel)))))
(if *editor-use-console-for-evals*
(on-open-console obj)
(on-open-file obj :title-class "w3-blue" :title "form eval"
:has-time-out *editor-delay-on-eval-form* :text result))))))
(eval-selection (obj)
(let ((val (clog-ace:selected-text (pac-line panel))))
(unless (equal val "")
(let ((result (capture-eval val :clog-obj obj
:capture-console (not *editor-use-console-for-evals*)
:capture-result (not *editor-use-console-for-evals*)
:eval-in-package (text-value (pac-line panel)))))
(if *editor-use-console-for-evals*
(on-open-console obj)
(on-open-file obj :title-class "w3-blue" :title "selection eval"
:has-time-out *editor-delay-on-eval-sel* :text result))))))
(eval-file (obj)
(let ((val (text-value (pac-line panel))))
(unless (equal val "")
(let ((result (capture-eval val :clog-obj obj
:capture-console (not *editor-use-console-for-evals*)
:capture-result (not *editor-use-console-for-evals*)
:eval-in-package (text-value (pac-line panel)))))
(if *editor-use-console-for-evals*
(on-open-console obj)
(on-open-file obj :title-class "w3-blue" :title "file eval"
:has-time-out *editor-delay-on-eval-file* :text result)))))))
(set-on-click (eval-sel-btn panel) (lambda (obj)
(eval-selection obj)))
(set-on-click (eval-form-btn panel) (lambda (obj)
(eval-form obj)))
(set-on-click (eval-all-btn panel) (lambda (obj)
(eval-file obj))))
(unless dir
(setf dir (if (and (current-project-dir app)
(not (equal (current-project-dir app) "")))
(not (equal (current-project-dir app) "")))
(current-project-dir app)
(uiop:getcwd))))
(setf (text-value (dir-input panel)) dir)

View file

@ -1,44 +1,17 @@
<data id="I3929316054" data-in-package="clog-tools" data-custom-slots=""
data-clog-next-id="14" data-clog-title="panel-search"></data>
<form action="#" onsubmit="return false;" data-clog-name="search-form"
data-clog-type="form">
<div data-clog-type="grid" data-clog-name="result-grid"
style="display: grid; box-sizing: content-box; position: absolute; inset: 5px; gap: 5px; grid-template: &quot;a a a a a p&quot; 1fr &quot;d d d d d p&quot; 28px &quot;b n o l c p&quot; 28px / 1fr 100px 20px 70px 80px 50%;"
class=""><select data-clog-type="listbox" size="4"
data-clog-name="result-box"
style="box-sizing: content-box; position: static; grid-area: a;"
class="w3-small" tabindex="1"></select><input type="TEXT" value=""
data-clog-type="input" data-clog-name="dir-input"
style="box-sizing: content-box; position: static; grid-area: d;"
data-on-change="(panel-search-dir-change panel target)"
placeholder="directory to search" tabindex="2"><input type="TEXT"
value="" data-clog-type="input" data-clog-name="grep-input"
style="box-sizing: content-box; position: static; left: 50px; top: 8px; grid-area: b;"
placeholder="search regex" tabindex="3" data-on-create="(setf (attribute target &quot;autofocus&quot;) &quot;true&quot;)
<data id="I3930907543" data-in-package="clog-tools" data-custom-slots="" data-clog-next-id="24" data-clog-title="panel-search"></data>
<form action="#" onsubmit="return false;" data-clog-name="search-form" data-clog-type="form">
<div data-clog-type="grid" data-clog-name="result-grid" style="display: grid; box-sizing: content-box; position: absolute; inset: 5px; gap: 5px; grid-template: &quot;a a a a a p&quot; 1fr &quot;d d d d d r&quot; 28px &quot;b n o l c r&quot; 28px / 1fr 100px 20px 70px 80px 50%;" class=""><select data-clog-type="listbox" size="4" data-clog-name="result-box" style="box-sizing: content-box; position: static; grid-area: a;" class="w3-small" tabindex="1"></select><input type="TEXT" value="" data-clog-type="input" data-clog-name="dir-input" style="box-sizing: content-box; position: static; grid-area: d;" data-on-change="(panel-search-dir-change panel target)" placeholder="directory to search" tabindex="2"><input type="TEXT" value="" data-clog-type="input" data-clog-name="grep-input" style="box-sizing: content-box; position: static; left: 50px; top: 8px; grid-area: b;" placeholder="search regex" tabindex="3" data-on-create="(setf (attribute target &quot;autofocus&quot;) &quot;true&quot;)
(focus target)">
<input type="TEXT" value="(.*\\.lisp$)" data-clog-type="input"
data-clog-name="name-regex-input"
style="box-sizing: content-box; position: static; left: 43px; top: 11px; grid-area: n;"
placeholder="file regex" tabindex="4"><input type="CHECKBOX"
value="" data-clog-type="checkbox" data-clog-name="subdir-check"
style="box-sizing: content-box; position: static; left: 68px; top: 5px; grid-area: o;"
tabindex="5" checked="checked"><label for="CLOGB3929199716"
data-clog-type="label" data-clog-for="subdir-check"
data-clog-name="subdir-label"
style="box-sizing: content-box; position: static; left: 70px; top: 11px; grid-area: l; font: 15px / 22.5px sans-serif; visibility: visible; vertical-align: middle; text-align: center;"
class="w3-tiny">subdirectories</label><input type="submit"
value="Search" data-clog-type="input" data-clog-name="search-button"
style="box-sizing: content-box; position: static; height: 22px; grid-area: c;"
class="" tabindex="6"
data-on-click="(panel-search-on-click panel target)">
<div data-clog-type="div" data-clog-name="preview-div"
style="box-sizing: content-box; position: static; left: 81px; top: 5px; grid-area: p;">
<div style="border: thin solid black; box-sizing: content-box; position: relative; width: 100%; height: 100%;"
class=" ace_editor ace_hidpi ace-xcode"
data-clog-type="clog-ace" data-clog-composite-control="t"
data-clog-ace-theme="ace/theme/iplastic"
data-clog-ace-mode="ace/mode/lisp" data-clog-ace-tab-size="2"
data-clog-name="preview-ace"></div>
<input type="TEXT" value="(.*\\.lisp$)" data-clog-type="input" data-clog-name="name-regex-input" style="box-sizing: content-box; position: static; left: 43px; top: 11px; grid-area: n;" placeholder="file regex" tabindex="4"><input type="CHECKBOX" value="" data-clog-type="checkbox" data-clog-name="subdir-check" style="box-sizing: content-box; position: static; left: 68px; top: 5px; grid-area: o;" tabindex="5" checked="checked"><label for="CLOGB3929199716" data-clog-type="label" data-clog-for="subdir-check" data-clog-name="subdir-label" style="box-sizing: content-box; position: static; left: 70px; top: 11px; grid-area: l; font: 15px / 22.5px sans-serif; visibility: visible; vertical-align: middle; text-align: center;" class="w3-tiny">subdirectories</label><input type="submit" value="Search" data-clog-type="input" data-clog-name="search-button" style="box-sizing: content-box; position: static; height: 22px; grid-area: c;" class="" tabindex="6" data-on-click="(panel-search-on-click panel target)">
<div data-clog-type="grid" data-clog-name="preview-grid" style="display: grid; box-sizing: content-box; position: static; left: 46px; top: 0px; grid-area: p; grid-template-areas: &quot;a&quot; &quot;b&quot;; grid-template-rows: 28px 1fr; row-gap: 5px;"><input type="TEXT" value="" data-clog-type="input" data-clog-name="pac-line" style="box-sizing: content-box; position: static; left: 77px; top: 8px; grid-area: a;"><div data-clog-type="div" data-clog-name="preview-div" style="box-sizing: content-box; position: static; left: 81px; top: 5px; grid-area: b;">
<div style="border: thin solid black; box-sizing: content-box; position: relative; width: 100%; height: 100%;" class=" ace_editor ace_hidpi ace-xcode ace-tm" data-clog-type="clog-ace" data-clog-composite-control="t" data-clog-ace-theme="ace/theme/iplastic" data-clog-ace-mode="ace/mode/lisp" data-clog-ace-tab-size="2" data-clog-name="preview-ace"></div>
</div></div>
<div data-clog-type="grid" data-clog-name="preview-panel" style="display: grid; box-sizing: content-box; position: static; left: 58px; top: 5px; grid-area: r; grid-template-areas: &quot;button&quot; &quot;status&quot;; row-gap: 5px;">
<div data-clog-type="grid" data-clog-name="preview-buttons" style="display: grid; box-sizing: content-box; position: static; left: 88px; top: 10px; grid-auto-flow: column; column-gap: 5px;" class="w3-small"><button data-clog-type="button" data-clog-name="eval-form-btn" style="box-sizing: content-box; position: static; left: 93px; top: 7px;">Eval
Form</button><button data-clog-type="button" data-clog-name="eval-sel-btn" style="box-sizing: content-box; position: static; left: 111px; top: 4px;">Eval
Sel</button><button data-clog-type="button" data-clog-name="eval-all-btn" style="box-sizing: content-box; position: static; left: 103px; top: 18px;">Eval
File</button><button data-clog-type="button" data-clog-name="save-btn" style="box-sizing: content-box; position: static; left: 118px; top: 8px;">Save</button>
</div><input type="TEXT" value="" data-clog-type="input" data-clog-name="status-bar" style="box-sizing: content-box; position: static; left: 77px; top: 7px;" class="w3-border w3-tiny" readonly="readonly">
</div>
</div>
</form>

View file

@ -1,7 +1,14 @@
;;;; CLOG Builder generated code - modify original .clog file and rerender
(in-package :clog-tools)
(defclass panel-search (clog:clog-panel)
((preview-ace :reader preview-ace) (preview-div :reader preview-div)
((status-bar :reader status-bar) (save-btn :reader save-btn)
(eval-all-btn :reader eval-all-btn)
(eval-sel-btn :reader eval-sel-btn)
(eval-form-btn :reader eval-form-btn)
(preview-buttons :reader preview-buttons)
(preview-panel :reader preview-panel)
(preview-ace :reader preview-ace) (preview-div :reader preview-div)
(pac-line :reader pac-line) (preview-grid :reader preview-grid)
(search-button :reader search-button)
(subdir-label :reader subdir-label)
(subdir-check :reader subdir-check)
@ -14,79 +21,155 @@
(let ((panel
(change-class
(clog:create-div clog-obj :content
"<form action=\"#\" onsubmit=\"return false;\" id=\"CLOGB3929313686\"
data-clog-name=\"search-form\">
<div style=\"display: grid; box-sizing: content-box; position: absolute; inset: 5px; gap: 5px; grid-template: &quot;a a a a a p&quot; 1fr &quot;d d d d d p&quot; 28px &quot;b n o l c p&quot; 28px / 1fr 100px 20px 70px 80px 50%;\"
class=\"\" id=\"CLOGB3929313687\" data-clog-name=\"result-grid\"><select
size=\"4\"
"<form action=\"#\" onsubmit=\"return false;\" data-clog-name=\"search-form\"
id=\"CLOGB3930901992\">
<div data-clog-name=\"result-grid\"
style=\"display: grid; box-sizing: content-box; position: absolute; inset: 5px; gap: 5px; grid-template: &quot;a a a a a p&quot; 1fr &quot;d d d d d r&quot; 28px &quot;b n o l c r&quot; 28px / 1fr 100px 20px 70px 80px 50%;\"
class=\"\" id=\"CLOGB3930901993\">
<select size=\"4\" data-clog-name=\"result-box\"
style=\"box-sizing: content-box; position: static; grid-area: a;\"
class=\"w3-small\" tabindex=\"1\" id=\"CLOGB3929313688\"
data-clog-name=\"result-box\"></select><input type=\"TEXT\" value=\"\"
class=\"w3-small\" tabindex=\"1\" id=\"CLOGB3930901994\"></select>
<input type=\"TEXT\" value=\"\" data-clog-name=\"dir-input\"
style=\"box-sizing: content-box; position: static; grid-area: d;\"
placeholder=\"directory to search\" tabindex=\"2\" id=\"CLOGB3929313689\"
data-clog-name=\"dir-input\"><input type=\"TEXT\" value=\"\"
placeholder=\"directory to search\" tabindex=\"2\" id=\"CLOGB3930901995\">
<input type=\"TEXT\" value=\"\" data-clog-name=\"grep-input\"
style=\"box-sizing: content-box; position: static; left: 50px; top: 8px; grid-area: b;\"
placeholder=\"search regex\" tabindex=\"3\" id=\"CLOGB3929313690\"
data-clog-name=\"grep-input\">
placeholder=\"search regex\" tabindex=\"3\" id=\"CLOGB3930901996\">
<input type=\"TEXT\" value=\"(.*\\.lisp$)\"
data-clog-name=\"name-regex-input\"
style=\"box-sizing: content-box; position: static; left: 43px; top: 11px; grid-area: n;\"
placeholder=\"file regex\" tabindex=\"4\" id=\"CLOGB3929313691\"
data-clog-name=\"name-regex-input\"><input type=\"CHECKBOX\" value=\"\"
placeholder=\"file regex\" tabindex=\"4\" id=\"CLOGB3930901997\">
<input type=\"CHECKBOX\" value=\"\" data-clog-name=\"subdir-check\"
style=\"box-sizing: content-box; position: static; left: 68px; top: 5px; grid-area: o;\"
tabindex=\"5\" checked=\"checked\" id=\"CLOGB3929313692\"
data-clog-name=\"subdir-check\"><label for=\"CLOGB3929199716\"
tabindex=\"5\" checked=\"checked\" id=\"CLOGB3930901998\"><label
for=\"CLOGB3929199716\" data-clog-name=\"subdir-label\"
style=\"box-sizing: content-box; position: static; left: 70px; top: 11px; grid-area: l; font: 15px / 22.5px sans-serif; visibility: visible; vertical-align: middle; text-align: center;\"
class=\"w3-tiny\" id=\"CLOGB3929313693\"
data-clog-name=\"subdir-label\">subdirectories</label><input
type=\"submit\" value=\"Search\"
class=\"w3-tiny\" id=\"CLOGB3930901999\">subdirectories</label>
<input type=\"submit\" value=\"Search\" data-clog-name=\"search-button\"
style=\"box-sizing: content-box; position: static; height: 22px; grid-area: c;\"
class=\"\" tabindex=\"6\" id=\"CLOGB3929313694\"
data-clog-name=\"search-button\">
<div id=\"CLOGB392931430312\"
style=\"box-sizing: content-box; position: static; left: 81px; top: 5px; grid-area: p;\"
data-clog-name=\"preview-div\">
<div id=\"CLOGB392931441513\"
style=\"border: thin solid black; box-sizing: content-box; position: relative; width: 100%; height: 100%;\"
class=\" ace_editor ace_hidpi ace-xcode\"
data-clog-name=\"preview-ace\"></div>
class=\"\" tabindex=\"6\" id=\"CLOGB3930902000\">
<div id=\"CLOGB393090262523\" data-clog-name=\"preview-grid\"
style=\"display: grid; box-sizing: content-box; position: static; left: 46px; top: 0px; grid-area: p; grid-template-areas: &quot;a&quot; &quot;b&quot;; grid-template-rows: 28px 1fr; row-gap: 5px;\">
<input type=\"TEXT\" value=\"\" id=\"CLOGB393090238222\"
data-clog-name=\"pac-line\"
style=\"box-sizing: content-box; position: static; left: 77px; top: 8px; grid-area: a;\">
<div data-clog-name=\"preview-div\"
style=\"box-sizing: content-box; position: static; left: 81px; top: 5px; grid-area: b;\"
id=\"CLOGB3930902001\">
<div style=\"border: thin solid black; box-sizing: content-box; position: relative; width: 100%; height: 100%;\"
class=\" ace_editor ace_hidpi ace-xcode ace-tm\"
data-clog-name=\"preview-ace\" id=\"CLOGB3930902002\"></div>
</div>
</div>
<div data-clog-name=\"preview-panel\"
style=\"display: grid; box-sizing: content-box; position: static; left: 58px; top: 5px; grid-area: r; grid-template-areas: &quot;button&quot; &quot;status&quot;; row-gap: 5px;\"
id=\"CLOGB3930902003\">
<div data-clog-name=\"preview-buttons\"
style=\"display: grid; box-sizing: content-box; position: static; left: 88px; top: 10px; grid-auto-flow: column; column-gap: 5px;\"
class=\"w3-small\" id=\"CLOGB3930902004\">
<button data-clog-name=\"eval-form-btn\"
style=\"box-sizing: content-box; position: static; left: 93px; top: 7px;\"
id=\"CLOGB3930902005\">Eval
Form</button>
<button data-clog-name=\"eval-sel-btn\"
style=\"box-sizing: content-box; position: static; left: 111px; top: 4px;\"
id=\"CLOGB3930902006\">Eval
Sel</button>
<button data-clog-name=\"eval-all-btn\"
style=\"box-sizing: content-box; position: static; left: 103px; top: 18px;\"
id=\"CLOGB3930902007\">Eval
File</button>
<button data-clog-name=\"save-btn\"
style=\"box-sizing: content-box; position: static; left: 118px; top: 8px;\"
id=\"CLOGB3930902008\">Save</button>
</div>
<input type=\"TEXT\" value=\"\" data-clog-name=\"status-bar\"
style=\"box-sizing: content-box; position: static; left: 77px; top: 7px;\"
class=\"w3-border w3-tiny\" readonly=\"readonly\"
id=\"CLOGB3930902009\">
</div>
</div>
</form>"
:hidden hidden :class class :style style :html-id
html-id :auto-place auto-place)
'panel-search)))
(setf (slot-value panel 'status-bar)
(attach-as-child clog-obj "CLOGB3930902009" :clog-type
'clog:clog-form-element :new-id t))
(setf (slot-value panel 'save-btn)
(attach-as-child clog-obj "CLOGB3930902008" :clog-type
'clog:clog-button :new-id t))
(setf (slot-value panel 'eval-all-btn)
(attach-as-child clog-obj "CLOGB3930902007" :clog-type
'clog:clog-button :new-id t))
(setf (slot-value panel 'eval-sel-btn)
(attach-as-child clog-obj "CLOGB3930902006" :clog-type
'clog:clog-button :new-id t))
(setf (slot-value panel 'eval-form-btn)
(attach-as-child clog-obj "CLOGB3930902005" :clog-type
'clog:clog-button :new-id t))
(setf (slot-value panel 'preview-buttons)
(attach-as-child clog-obj "CLOGB3930902004" :clog-type
'clog:clog-div :new-id t))
(setf (slot-value panel 'preview-panel)
(attach-as-child clog-obj "CLOGB3930902003" :clog-type
'clog:clog-div :new-id t))
(setf (slot-value panel 'preview-ace)
(attach-as-child clog-obj "CLOGB392931441513" :clog-type
(attach-as-child clog-obj "CLOGB3930902002" :clog-type
'clog-ace:clog-ace-element :new-id t))
(setf (slot-value panel 'preview-div)
(attach-as-child clog-obj "CLOGB392931430312" :clog-type
(attach-as-child clog-obj "CLOGB3930902001" :clog-type
'clog:clog-div :new-id t))
(setf (slot-value panel 'pac-line)
(attach-as-child clog-obj "CLOGB393090238222" :clog-type
'clog:clog-form-element :new-id t))
(setf (slot-value panel 'preview-grid)
(attach-as-child clog-obj "CLOGB393090262523" :clog-type
'clog:clog-div :new-id t))
(setf (slot-value panel 'search-button)
(attach-as-child clog-obj "CLOGB3929313694" :clog-type
(attach-as-child clog-obj "CLOGB3930902000" :clog-type
'clog:clog-form-element :new-id t))
(setf (slot-value panel 'subdir-label)
(attach-as-child clog-obj "CLOGB3929313693" :clog-type
(attach-as-child clog-obj "CLOGB3930901999" :clog-type
'clog:clog-label :new-id t))
(setf (slot-value panel 'subdir-check)
(attach-as-child clog-obj "CLOGB3929313692" :clog-type
(attach-as-child clog-obj "CLOGB3930901998" :clog-type
'clog:clog-form-element :new-id t))
(setf (slot-value panel 'name-regex-input)
(attach-as-child clog-obj "CLOGB3929313691" :clog-type
(attach-as-child clog-obj "CLOGB3930901997" :clog-type
'clog:clog-form-element :new-id t))
(setf (slot-value panel 'grep-input)
(attach-as-child clog-obj "CLOGB3929313690" :clog-type
(attach-as-child clog-obj "CLOGB3930901996" :clog-type
'clog:clog-form-element :new-id t))
(setf (slot-value panel 'dir-input)
(attach-as-child clog-obj "CLOGB3929313689" :clog-type
(attach-as-child clog-obj "CLOGB3930901995" :clog-type
'clog:clog-form-element :new-id t))
(setf (slot-value panel 'result-box)
(attach-as-child clog-obj "CLOGB3929313688" :clog-type
(attach-as-child clog-obj "CLOGB3930901994" :clog-type
'clog:clog-select :new-id t))
(setf (slot-value panel 'result-grid)
(attach-as-child clog-obj "CLOGB3929313687" :clog-type
(attach-as-child clog-obj "CLOGB3930901993" :clog-type
'clog:clog-div :new-id t))
(setf (slot-value panel 'search-form)
(attach-as-child clog-obj "CLOGB3929313686" :clog-type
(attach-as-child clog-obj "CLOGB3930901992" :clog-type
'clog:clog-form :new-id t))
(let ((target (grep-input panel)))
(declare (ignorable target))