asdf browser options and title bars

This commit is contained in:
David Botton 2024-03-25 11:34:07 -04:00
parent 29d5eee829
commit a4de6eac52
6 changed files with 84 additions and 70 deletions

View file

@ -6,6 +6,10 @@
:width 592 :height 435 :width 592 :height 435
:client-movement t)) :client-movement t))
(panel (create-asdf-systems (window-content win)))) (panel (create-asdf-systems (window-content win))))
(when *open-external*
(setf (checkedp (ext-open-source panel)) t))
(when *open-panels-as-popups*
(setf (checkedp (pop-open-clog panel)) t))
(when project (when project
(setf (text-value (loaded-systems panel)) (string-downcase project)) (setf (text-value (loaded-systems panel)) (string-downcase project))
(asdf-browser-populate panel)))) (asdf-browser-populate panel))))
@ -20,7 +24,9 @@
(setf (text-value (loaded-systems panel)) "clog")) (setf (text-value (loaded-systems panel)) "clog"))
(asdf-browser-populate panel))) (asdf-browser-populate panel)))
(Defun asdf-browser-populate (panel) (defun asdf-browser-populate (panel)
(setf (window-title (current-window panel))
(format nil "ASDF Browser - ~A" (text-value (loaded-systems panel))))
(setf (text-value (source-file panel)) (setf (text-value (source-file panel))
(asdf:system-source-file (asdf:system-source-file
(asdf:find-system (text-value (loaded-systems panel))))) (asdf:find-system (text-value (loaded-systems panel)))))
@ -34,3 +40,25 @@
(let ((name (asdf:component-relative-pathname n)) (let ((name (asdf:component-relative-pathname n))
(path (asdf:component-pathname n))) (path (asdf:component-pathname n)))
(add-select-option (files panel) path name)))) (add-select-option (files panel) path name))))
(defun asdf-files-double-click (panel target)
(let ((disp (select-text target))
(item (text-value target)))
(cond ((equal (subseq item (1- (length item))) "/")
(setf (inner-html (files panel)) "")
(dolist (n (asdf:module-components
(asdf:find-component
(asdf:find-system (text-value (loaded-systems panel)))
(subseq disp 0 (1- (length disp))))))
(let ((name (asdf:component-relative-pathname n))
(path (asdf:component-pathname n)))
(add-select-option (files panel) path name))))
((and (> (length item) 5)
(equal (subseq item (- (length item) 5)) ".clog"))
(if (checkedp (ext-open-source panel))
(on-new-builder-panel-ext panel :open-file item :open-ext (checkedp (pop-open-clog panel)))
(on-new-builder-panel panel :open-file item :open-ext (checkedp (pop-open-clog panel)))))
(t
(if (checkedp (ext-open-source panel))
(on-open-file-ext panel :open-file item)
(on-open-file panel :open-file item))))))

View file

@ -9,6 +9,8 @@
(defun populate-dir-win (panel d) (defun populate-dir-win (panel d)
(let ((dir (directory-namestring (uiop:truename* d)))) (let ((dir (directory-namestring (uiop:truename* d))))
(setf (window-title (current-window panel))
(format nil "Directory Listing - ~A" dir))
(setf (current-dir panel) dir) (setf (current-dir panel) dir)
;; Dirs ;; Dirs
(setf (inner-html (folders panel)) "") (setf (inner-html (folders panel)) "")

View file

@ -46,8 +46,7 @@
(projects-populate panel))))) (projects-populate panel)))))
(defun projects-view-dir (panel) (defun projects-view-dir (panel)
(let* ((app (connection-data-item panel "builder-app-data")) (let* ((sel (text-value (project-list panel))))
(sel (text-value (project-list panel))))
(if (equal sel "None") (if (equal sel "None")
(on-dir-win panel) (on-dir-win panel)
(let ((sys (asdf:find-system (format nil "~A" sel)))) (let ((sys (asdf:find-system (format nil "~A" sel))))
@ -125,6 +124,8 @@
(let ((app (connection-data-item panel "builder-app-data")) (let ((app (connection-data-item panel "builder-app-data"))
(already (asdf:already-loaded-systems)) (already (asdf:already-loaded-systems))
(sel (text-value (project-list panel)))) (sel (text-value (project-list panel))))
(setf (window-title (current-window panel))
(format nil "Project - ~A" sel))
(reset-control-pallete panel) (reset-control-pallete panel)
(setf (inner-html (runtime-list panel)) "") (setf (inner-html (runtime-list panel)) "")
(setf (inner-html (designtime-list panel)) "") (setf (inner-html (designtime-list panel)) "")

View file

@ -32,6 +32,8 @@
(setf pac "All")) (setf pac "All"))
(setf filter (subseq filter (+ has-pac 1))) (setf filter (subseq filter (+ has-pac 1)))
(setf (text-value (search-box panel)) filter)) (setf (text-value (search-box panel)) filter))
(setf (window-title (current-window panel))
(format nil "System Browser - ~A" filter))
(cond ((equalp pac "All") (cond ((equalp pac "All")
(setf class-only nil) (setf class-only nil)
(setf (classes panel) nil) (setf (classes panel) nil)

View file

@ -1,21 +1,6 @@
<data id="I3871072205" data-in-package="clog-tools" data-custom-slots="" data-clog-next-id="17" data-clog-title="asdf-systems"></data><label for="CLOGB38680930412" data-clog-type="label" data-clog-for="loaded-systems" data-clog-name="sys-label" style="box-sizing: content-box; position: absolute; left: 10px; top: 8px;">Loaded Systems:</label><select data-clog-type="listbox" size="4" data-clog-name="loaded-systems" style="box-sizing: content-box; position: absolute; left: 10px; top: 38px; width: 239.716px; height: 261.341px;" data-on-change="(asdf-browser-populate panel)" data-on-create="(asdf-browser-reset panel)"></select><label for="CLOGB38680988074" data-clog-type="label" data-clog-for="deps" data-clog-name="deps-label" style="box-sizing: content-box; position: absolute; left: 265px; top: 8px; width: 281.814px; height: 22.5px;" class="">Depends On: (double click to switch)</label><select data-clog-type="listbox" size="4" data-clog-name="deps" style="box-sizing: content-box; position: absolute; left: 265px; top: 39.9858px; width: 310.361px; height: 76.3494px;" data-on-double-click="(setf (text-value (loaded-systems panel)) <data id="I3920366784" data-in-package="clog-tools" data-custom-slots="" data-clog-next-id="21" data-clog-title="asdf-systems"></data><label for="CLOGB38680930412" data-clog-type="label" data-clog-for="loaded-systems" data-clog-name="sys-label" style="box-sizing: content-box; position: absolute; left: 10px; top: 8px;">Loaded Systems:</label><select data-clog-type="listbox" size="4" data-clog-name="loaded-systems" style="box-sizing: content-box; position: absolute; left: 10px; top: 38px; width: 239.716px; height: 261.341px;" data-on-change="(asdf-browser-populate panel)" data-on-create="(asdf-browser-reset panel)"></select><label for="CLOGB38680988074" data-clog-type="label" data-clog-for="deps" data-clog-name="deps-label" style="box-sizing: content-box; position: absolute; left: 265px; top: 8px; width: 281.814px; height: 22.5px;" class="">Depends On: (double click to switch)</label><select data-clog-type="listbox" size="4" data-clog-name="deps" style="box-sizing: content-box; position: absolute; left: 265px; top: 39.9858px; width: 310.361px; height: 76.3494px;" data-on-double-click="(setf (text-value (loaded-systems panel))
(text-value target)) (text-value target))
(asdf-browser-populate panel)"></select><label for="" data-clog-type="label" data-clog-for="" data-clog-name="files-label" style="box-sizing: content-box; position: absolute; left: 265px; top: 124px; width: 236.104px; height: 21.4986px;">Files: (double click to launch)</label><select data-clog-type="listbox" size="4" data-clog-name="files" style="box-sizing: content-box; position: absolute; left: 265px; top: 151.991px; width: 311.562px; height: 146.932px;" data-on-double-click="(let ((disp (select-text target)) (asdf-browser-populate panel)"></select><label for="" data-clog-type="label" data-clog-for="" data-clog-name="files-label" style="box-sizing: content-box; position: absolute; left: 265px; top: 124px; width: 236.104px; height: 21.4986px;">Files: (double click to launch)</label><select data-clog-type="listbox" size="4" data-clog-name="files" style="box-sizing: content-box; position: absolute; left: 265px; top: 151px; width: 311.562px; height: 146.932px;" data-on-double-click="(asdf-files-double-click panel target)"></select><input type="TEXT" value="" data-clog-type="input" data-clog-name="source-file" style="box-sizing: content-box; position: absolute; left: 10px; top: 332px; width: 560.727px; height: 22.5px;" data-on-double-click="(on-open-file panel :open-file (text-value target))"><div data-clog-type="div" data-clog-name="button-panel" style="box-sizing: content-box; position: absolute; left: 1.0015px; top: 368.991px; width: 572.898px; height: 32.4844px;"><button data-clog-type="button" data-clog-name="reset-list-button" style="box-sizing: content-box; position: absolute; left: 10px; top: 0px; width: 85px; height: 22px;" data-on-click="(asdf-browser-reset panel)">Reset List</button><button data-clog-type="button" data-clog-name="load-new-button" style="box-sizing: content-box; position: absolute; left: 127px; top: 0px; width: 85px; height: 22px;" class="" data-on-click="(clog-gui:input-dialog panel &quot;Load New System:&quot;
(item (text-value target)))
(cond ((equal (subseq item (1- (length item))) &quot;/&quot;)
(setf (inner-html (files panel)) &quot;&quot;)
(dolist (n (asdf:module-components
(asdf:find-component
(asdf:find-system (text-value (loaded-systems panel)))
(subseq disp 0 (1- (length disp))))))
(let ((name (asdf:component-relative-pathname n))
(path (asdf:component-pathname n)))
(add-select-option (files panel) path name))))
((and (> (length item) 5)
(equal (subseq item (- (length item) 5)) &quot;.clog&quot;))
(on-new-builder-panel panel :open-file item))
(t
(on-open-file panel :open-file item))))"></select><input type="TEXT" value="" data-clog-type="input" data-clog-name="source-file" style="box-sizing: content-box; position: absolute; left: 10px; top: 332px; width: 560.727px; height: 22.5px;" data-on-double-click="(on-open-file panel :open-file (text-value target))"><div data-clog-type="div" data-clog-name="button-panel" style="box-sizing: content-box; position: absolute; left: 1.0015px; top: 368.991px; width: 572.898px; height: 32.4844px;"><button data-clog-type="button" data-clog-name="reset-list-button" style="box-sizing: content-box; position: absolute; left: 10px; top: 0px; width: 85px; height: 22px;" data-on-click="(asdf-browser-reset panel)">Reset List</button><button data-clog-type="button" data-clog-name="load-new-button" style="box-sizing: content-box; position: absolute; left: 127px; top: 0px; width: 85px; height: 22px;" class="" data-on-click="(clog-gui:input-dialog panel &quot;Load New System:&quot;
(lambda (fname) (lambda (fname)
(projects-load fname) (projects-load fname)
(asdf-browser-reset panel) (asdf-browser-reset panel)
@ -26,4 +11,4 @@
(projects-load fname) (projects-load fname)
(setf (text-value (loaded-systems panel)) fname) (setf (text-value (loaded-systems panel)) fname)
(asdf-browser-populate panel)) (asdf-browser-populate panel))
">Reload</button><button data-clog-type="button" data-clog-name="remove-button" style="box-sizing: content-box; position: absolute; left: 360px; top: 0px; width: 85px; height: 22px;" data-on-click="">Unload</button><button data-clog-type="button" data-clog-name="dir-button" style="box-sizing: content-box; position: absolute; left: 477px; top: 0px; width: 85px;" data-on-click="(on-dir-win panel :dir (asdf:system-source-directory (text-value (loaded-systems panel))))">View Dir</button></div><label for="" data-clog-type="label" data-clog-for="" data-clog-name="asd-label" style="box-sizing: content-box; position: absolute; left: 10px; top: 304.996px;">ASD Project: (double click to edit)</label> ">Reload</button><button data-clog-type="button" data-clog-name="remove-button" style="box-sizing: content-box; position: absolute; left: 360px; top: 0px; width: 85px; height: 22px;" data-on-click="">Unload</button><button data-clog-type="button" data-clog-name="dir-button" style="box-sizing: content-box; position: absolute; left: 477px; top: 0px; width: 85px;" data-on-click="(on-dir-win panel :dir (asdf:system-source-directory (text-value (loaded-systems panel))))">View Dir</button></div><label for="" data-clog-type="label" data-clog-for="" data-clog-name="asd-label" style="box-sizing: content-box; position: absolute; left: 10px; top: 304.996px;">ASD Project: (double click to edit)</label><input type="CHECKBOX" value="" data-clog-type="checkbox" data-clog-name="ext-open-source" style="box-sizing: content-box; position: absolute; left: 292px; top: 308px;"><label for="CLOGB392036561317" data-clog-type="label" data-clog-for="ext-open-source" data-clog-name="ext-open-source-label" style="box-sizing: content-box; position: absolute; left: 310px; top: 302px;">open external</label><input type="CHECKBOX" value="" data-clog-type="checkbox" data-clog-name="pop-open-clog" style="box-sizing: content-box; position: absolute; left: 426px; top: 308px;"><label for="undefined" data-clog-type="label" data-clog-for="pop-open-clog-label" data-clog-name="pop-open-clog-label" style="box-sizing: content-box; position: absolute; left: 445px; top: 302px;">popup panels</label>

View file

@ -1,7 +1,11 @@
;;;; CLOG Builder generated code - modify original clog file ;;;; CLOG Builder generated code - modify original .clog file and rerender
(in-package :clog-tools) (in-package :clog-tools)
(defclass asdf-systems (clog:clog-panel) (defclass asdf-systems (clog:clog-panel)
((asd-label :reader asd-label) (dir-button :reader dir-button) ((pop-open-clog-label :reader pop-open-clog-label)
(pop-open-clog :reader pop-open-clog)
(ext-open-source-label :reader ext-open-source-label)
(ext-open-source :reader ext-open-source)
(asd-label :reader asd-label) (dir-button :reader dir-button)
(remove-button :reader remove-button) (remove-button :reader remove-button)
(reload-button :reader reload-button) (reload-button :reader reload-button)
(load-new-button :reader load-new-button) (load-new-button :reader load-new-button)
@ -17,51 +21,63 @@
(let ((panel (let ((panel
(change-class (change-class
(clog:create-div clog-obj :content (clog:create-div clog-obj :content
"<label for=\"CLOGB38680930412\" style=\"box-sizing: content-box; position: absolute; left: 10px; top: 8px;\" id=\"CLOGB3871072097\" data-clog-name=\"sys-label\">Loaded Systems:</label><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 10px; top: 38px; width: 239.716px; height: 261.341px;\" id=\"CLOGB3871072098\" data-clog-name=\"loaded-systems\"></select><label for=\"CLOGB38680988074\" style=\"box-sizing: content-box; position: absolute; left: 265px; top: 8px; width: 281.814px; height: 22.5px;\" class=\"\" id=\"CLOGB3871072099\" data-clog-name=\"deps-label\">Depends On: (double click to switch)</label><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 265px; top: 39.9858px; width: 310.361px; height: 76.3494px;\" id=\"CLOGB3871072100\" data-clog-name=\"deps\"></select><label for=\"\" style=\"box-sizing: content-box; position: absolute; left: 265px; top: 124px; width: 236.104px; height: 21.4986px;\" id=\"CLOGB3871072101\" data-clog-name=\"files-label\">Files: (double click to launch)</label><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 265px; top: 151.991px; width: 311.562px; height: 146.932px;\" id=\"CLOGB3871072102\" data-clog-name=\"files\"></select><input type=\"TEXT\" value=\"\" style=\"box-sizing: content-box; position: absolute; left: 10px; top: 332px; width: 560.727px; height: 22.5px;\" id=\"CLOGB3871072103\" data-clog-name=\"source-file\"><div style=\"box-sizing: content-box; position: absolute; left: 1.0015px; top: 368.991px; width: 572.898px; height: 32.4844px;\" id=\"CLOGB3871072104\" data-clog-name=\"button-panel\"><button style=\"box-sizing: content-box; position: absolute; left: 10px; top: 0px; width: 85px; height: 22px;\" id=\"CLOGB3871072105\" data-clog-name=\"reset-list-button\">Reset List</button><button style=\"box-sizing: content-box; position: absolute; left: 127px; top: 0px; width: 85px; height: 22px;\" class=\"\" id=\"CLOGB3871072106\" data-clog-name=\"load-new-button\">Load New</button><button style=\"box-sizing: content-box; position: absolute; left: 243px; top: 0px; width: 85px; height: 22px;\" id=\"CLOGB3871072107\" data-clog-name=\"reload-button\">Reload</button><button style=\"box-sizing: content-box; position: absolute; left: 360px; top: 0px; width: 85px; height: 22px;\" id=\"CLOGB3871072108\" data-clog-name=\"remove-button\">Unload</button><button style=\"box-sizing: content-box; position: absolute; left: 477px; top: 0px; width: 85px;\" id=\"CLOGB3871072109\" data-clog-name=\"dir-button\">View Dir</button></div><label for=\"\" style=\"box-sizing: content-box; position: absolute; left: 10px; top: 304.996px;\" id=\"CLOGB3871072110\" data-clog-name=\"asd-label\">ASD Project: (double click to edit)</label>" "<label for=\"CLOGB38680930412\" style=\"box-sizing: content-box; position: absolute; left: 10px; top: 8px;\" id=\"CLOGB3920365575\" data-clog-name=\"sys-label\">Loaded Systems:</label><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 10px; top: 38px; width: 239.716px; height: 261.341px;\" id=\"CLOGB3920365576\" data-clog-name=\"loaded-systems\"></select><label for=\"CLOGB38680988074\" style=\"box-sizing: content-box; position: absolute; left: 265px; top: 8px; width: 281.814px; height: 22.5px;\" class=\"\" id=\"CLOGB3920365577\" data-clog-name=\"deps-label\">Depends On: (double click to switch)</label><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 265px; top: 39.9858px; width: 310.361px; height: 76.3494px;\" id=\"CLOGB3920365578\" data-clog-name=\"deps\"></select><label for=\"\" style=\"box-sizing: content-box; position: absolute; left: 265px; top: 124px; width: 236.104px; height: 21.4986px;\" id=\"CLOGB3920365579\" data-clog-name=\"files-label\">Files: (double click to launch)</label><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 265px; top: 151px; width: 311.562px; height: 146.932px;\" id=\"CLOGB3920365580\" data-clog-name=\"files\"></select><input type=\"TEXT\" value=\"\" style=\"box-sizing: content-box; position: absolute; left: 10px; top: 332px; width: 560.727px; height: 22.5px;\" id=\"CLOGB3920365581\" data-clog-name=\"source-file\"><div style=\"box-sizing: content-box; position: absolute; left: 1.0015px; top: 368.991px; width: 572.898px; height: 32.4844px;\" id=\"CLOGB3920365582\" data-clog-name=\"button-panel\"><button style=\"box-sizing: content-box; position: absolute; left: 10px; top: 0px; width: 85px; height: 22px;\" id=\"CLOGB3920365583\" data-clog-name=\"reset-list-button\">Reset List</button><button style=\"box-sizing: content-box; position: absolute; left: 127px; top: 0px; width: 85px; height: 22px;\" class=\"\" id=\"CLOGB3920365584\" data-clog-name=\"load-new-button\">Load New</button><button style=\"box-sizing: content-box; position: absolute; left: 243px; top: 0px; width: 85px; height: 22px;\" id=\"CLOGB3920365585\" data-clog-name=\"reload-button\">Reload</button><button style=\"box-sizing: content-box; position: absolute; left: 360px; top: 0px; width: 85px; height: 22px;\" id=\"CLOGB3920365586\" data-clog-name=\"remove-button\">Unload</button><button style=\"box-sizing: content-box; position: absolute; left: 477px; top: 0px; width: 85px;\" id=\"CLOGB3920365587\" data-clog-name=\"dir-button\">View Dir</button></div><label for=\"\" style=\"box-sizing: content-box; position: absolute; left: 10px; top: 304.996px;\" id=\"CLOGB3920365588\" data-clog-name=\"asd-label\">ASD Project: (double click to edit)</label><input type=\"CHECKBOX\" value=\"\" id=\"CLOGB392036561317\" style=\"box-sizing: content-box; position: absolute; left: 292px; top: 308px;\" data-clog-name=\"ext-open-source\"><label for=\"CLOGB392036561317\" id=\"CLOGB392036564519\" style=\"box-sizing: content-box; position: absolute; left: 310px; top: 302px;\" data-clog-name=\"ext-open-source-label\">open external</label><input type=\"CHECKBOX\" value=\"\" id=\"CLOGB392036562618\" style=\"box-sizing: content-box; position: absolute; left: 426px; top: 308px;\" data-clog-name=\"pop-open-clog\"><label for=\"undefined\" id=\"CLOGB392036565720\" style=\"box-sizing: content-box; position: absolute; left: 445px; top: 302px;\" data-clog-name=\"pop-open-clog-label\">popup panels</label>"
:hidden hidden :class class :html-id html-id :hidden hidden :class class :html-id html-id
:auto-place auto-place) :auto-place auto-place)
'asdf-systems))) 'asdf-systems)))
(setf (slot-value panel 'pop-open-clog-label)
(attach-as-child clog-obj "CLOGB392036565720" :clog-type
'clog:clog-label :new-id t))
(setf (slot-value panel 'pop-open-clog)
(attach-as-child clog-obj "CLOGB392036562618" :clog-type
'clog:clog-form-element :new-id t))
(setf (slot-value panel 'ext-open-source-label)
(attach-as-child clog-obj "CLOGB392036564519" :clog-type
'clog:clog-label :new-id t))
(setf (slot-value panel 'ext-open-source)
(attach-as-child clog-obj "CLOGB392036561317" :clog-type
'clog:clog-form-element :new-id t))
(setf (slot-value panel 'asd-label) (setf (slot-value panel 'asd-label)
(attach-as-child clog-obj "CLOGB3871072110" :clog-type (attach-as-child clog-obj "CLOGB3920365588" :clog-type
'clog:clog-label :new-id t)) 'clog:clog-label :new-id t))
(setf (slot-value panel 'dir-button) (setf (slot-value panel 'dir-button)
(attach-as-child clog-obj "CLOGB3871072109" :clog-type (attach-as-child clog-obj "CLOGB3920365587" :clog-type
'clog:clog-button :new-id t)) 'clog:clog-button :new-id t))
(setf (slot-value panel 'remove-button) (setf (slot-value panel 'remove-button)
(attach-as-child clog-obj "CLOGB3871072108" :clog-type (attach-as-child clog-obj "CLOGB3920365586" :clog-type
'clog:clog-button :new-id t)) 'clog:clog-button :new-id t))
(setf (slot-value panel 'reload-button) (setf (slot-value panel 'reload-button)
(attach-as-child clog-obj "CLOGB3871072107" :clog-type (attach-as-child clog-obj "CLOGB3920365585" :clog-type
'clog:clog-button :new-id t)) 'clog:clog-button :new-id t))
(setf (slot-value panel 'load-new-button) (setf (slot-value panel 'load-new-button)
(attach-as-child clog-obj "CLOGB3871072106" :clog-type (attach-as-child clog-obj "CLOGB3920365584" :clog-type
'clog:clog-button :new-id t)) 'clog:clog-button :new-id t))
(setf (slot-value panel 'reset-list-button) (setf (slot-value panel 'reset-list-button)
(attach-as-child clog-obj "CLOGB3871072105" :clog-type (attach-as-child clog-obj "CLOGB3920365583" :clog-type
'clog:clog-button :new-id t)) 'clog:clog-button :new-id t))
(setf (slot-value panel 'button-panel) (setf (slot-value panel 'button-panel)
(attach-as-child clog-obj "CLOGB3871072104" :clog-type (attach-as-child clog-obj "CLOGB3920365582" :clog-type
'clog:clog-div :new-id t)) 'clog:clog-div :new-id t))
(setf (slot-value panel 'source-file) (setf (slot-value panel 'source-file)
(attach-as-child clog-obj "CLOGB3871072103" :clog-type (attach-as-child clog-obj "CLOGB3920365581" :clog-type
'clog:clog-form-element :new-id t)) 'clog:clog-form-element :new-id t))
(setf (slot-value panel 'files) (setf (slot-value panel 'files)
(attach-as-child clog-obj "CLOGB3871072102" :clog-type (attach-as-child clog-obj "CLOGB3920365580" :clog-type
'clog:clog-select :new-id t)) 'clog:clog-select :new-id t))
(setf (slot-value panel 'files-label) (setf (slot-value panel 'files-label)
(attach-as-child clog-obj "CLOGB3871072101" :clog-type (attach-as-child clog-obj "CLOGB3920365579" :clog-type
'clog:clog-label :new-id t)) 'clog:clog-label :new-id t))
(setf (slot-value panel 'deps) (setf (slot-value panel 'deps)
(attach-as-child clog-obj "CLOGB3871072100" :clog-type (attach-as-child clog-obj "CLOGB3920365578" :clog-type
'clog:clog-select :new-id t)) 'clog:clog-select :new-id t))
(setf (slot-value panel 'deps-label) (setf (slot-value panel 'deps-label)
(attach-as-child clog-obj "CLOGB3871072099" :clog-type (attach-as-child clog-obj "CLOGB3920365577" :clog-type
'clog:clog-label :new-id t)) 'clog:clog-label :new-id t))
(setf (slot-value panel 'loaded-systems) (setf (slot-value panel 'loaded-systems)
(attach-as-child clog-obj "CLOGB3871072098" :clog-type (attach-as-child clog-obj "CLOGB3920365576" :clog-type
'clog:clog-select :new-id t)) 'clog:clog-select :new-id t))
(setf (slot-value panel 'sys-label) (setf (slot-value panel 'sys-label)
(attach-as-child clog-obj "CLOGB3871072097" :clog-type (attach-as-child clog-obj "CLOGB3920365575" :clog-type
'clog:clog-label :new-id t)) 'clog:clog-label :new-id t))
(let ((target (sys-label panel))) (let ((target (sys-label panel)))
(declare (ignorable target)) (declare (ignorable target))
@ -82,6 +98,16 @@
(let ((target (asd-label panel))) (let ((target (asd-label panel)))
(declare (ignorable target)) (declare (ignorable target))
nil) nil)
(let ((target (ext-open-source-label panel)))
(declare (ignorable target))
(setf (attribute target "for")
(clog:js-query target
"$('[data-clog-name=\\'ext-open-source\\']').attr('id')")))
(let ((target (pop-open-clog-label panel)))
(declare (ignorable target))
(setf (attribute target "for")
(clog:js-query target
"$('[data-clog-name=\\'pop-open-clog-label\\']').attr('id')")))
(clog:set-on-change (loaded-systems panel) (clog:set-on-change (loaded-systems panel)
(lambda (target) (lambda (target)
(declare (ignorable target)) (declare (ignorable target))
@ -95,36 +121,7 @@
(clog:set-on-double-click (files panel) (clog:set-on-double-click (files panel)
(lambda (target) (lambda (target)
(declare (ignorable target)) (declare (ignorable target))
(let ((disp (select-text target)) (asdf-files-double-click panel target)))
(item (text-value target)))
(cond
((equal (subseq item (1- (length item)))
"/")
(setf (inner-html (files panel)) "")
(dolist
(n
(asdf:module-components
(asdf:find-component
(asdf:find-system
(text-value
(loaded-systems panel)))
(subseq disp 0
(1- (length disp))))))
(let ((name
(asdf:component-relative-pathname
n))
(path
(asdf:component-pathname
n)))
(add-select-option (files panel) path
name))))
((and (> (length item) 5)
(equal
(subseq item (- (length item) 5))
".clog"))
(on-new-builder-panel panel :open-file
item))
(t (on-open-file panel :open-file item))))))
(clog:set-on-double-click (source-file panel) (clog:set-on-double-click (source-file panel)
(lambda (target) (lambda (target)
(declare (ignorable target)) (declare (ignorable target))
@ -139,8 +136,7 @@
(declare (ignorable target)) (declare (ignorable target))
(clog-gui:input-dialog panel "Load New System:" (clog-gui:input-dialog panel "Load New System:"
(lambda (fname) (lambda (fname)
(projects-load (projects-load fname)
fname)
(asdf-browser-reset panel) (asdf-browser-reset panel)
(setf (text-value (setf (text-value
(loaded-systems (loaded-systems