add new system files to end of list

This commit is contained in:
David Botton 2022-08-03 18:00:09 -04:00
parent 0318033752
commit a70e84a062
3 changed files with 37 additions and 23 deletions

View file

@ -2553,7 +2553,8 @@ of controls and double click to select control."
(let* ((line (read s nil))) (let* ((line (read s nil)))
(unless line (return)) (unless line (return))
(when (equalp (format nil "~A" (second line)) system) (when (equalp (format nil "~A" (second line)) system)
(push `(,ftype ,file) (getf line :components))) (setf (getf line :components)
(append (getf line :components) `((,ftype ,file)))))
(push line sys-list)))) (push line sys-list))))
(with-open-file (s fname :direction :output :if-exists :rename) (with-open-file (s fname :direction :output :if-exists :rename)
(let ((*print-case* :downcase)) (let ((*print-case* :downcase))

View file

@ -1,4 +1,4 @@
<data id="I3868475410" data-in-package="clog-tools" data-custom-slots="" data-clog-next-id="22" data-clog-title="projects"></data><label for="undefined" data-clog-type="label" data-clog-for="projects-list" data-clog-name="projects-label" style="box-sizing: content-box; position: absolute; left: 5px; top: 6.99858px;">Current Project</label><select data-clog-type="dropdown" data-clog-name="project-list" style="box-sizing: content-box; position: absolute; left: 5px; top: 35px; width: 386.54px; height: 22px; bottom: 309.041px;" data-on-create="(projects-setup panel)" data-on-change="(projects-populate panel)"></select><button data-clog-type="button" data-clog-name="edit-asd" style="box-sizing: content-box; position: absolute; left: 400px; top: 32px; height: 22px; width: 90px;" data-on-click="(let ((sel (text-value (project-list panel)))) <data id="I3868552727" data-in-package="clog-tools" data-custom-slots="" data-clog-next-id="24" data-clog-title="projects"></data><label for="undefined" data-clog-type="label" data-clog-for="projects-list" data-clog-name="projects-label" style="box-sizing: content-box; position: absolute; left: 5px; top: 6.99858px;">Current Project</label><select data-clog-type="dropdown" data-clog-name="project-list" style="box-sizing: content-box; position: absolute; left: 5px; top: 35px; width: 386.54px; height: 22px; bottom: 309.041px;" data-on-create="(projects-setup panel)" data-on-change="(projects-populate panel)"></select><button data-clog-type="button" data-clog-name="edit-asd" style="box-sizing: content-box; position: absolute; left: 400px; top: 32px; height: 22px; width: 90px;" data-on-click="(let ((sel (text-value (project-list panel))))
(on-open-file panel :open-file (asdf:system-source-file (on-open-file panel :open-file (asdf:system-source-file
(asdf:find-system sel))))">Edit .asd</button><label for="CLOGB3868393710" data-clog-type="label" data-clog-for="runtime-list" data-clog-name="runtime-label" style="box-sizing: content-box; position: absolute; left: 5px; top: 65px;">Runtime System</label><label for="CLOGB3868452429" data-clog-type="label" data-clog-for="runtime-list" data-clog-name="dbl-click1" style="box-sizing: content-box; position: absolute; left: 5px; top: 85px;">(double click to launch)</label><label for="CLOGB3868393704" data-clog-type="label" data-clog-for="designtime-list" data-clog-name="designtime-label" style="box-sizing: content-box; position: absolute; left: 290.007px; top: 65px;">Design Time System (/tools)</label><label for="CLOGB3868452430" data-clog-type="label" data-clog-for="designtime-list" data-clog-name="dbl-click2" style="box-sizing: content-box; position: absolute; left: 290px; top: 85px;">(double click to launch)</label><select data-clog-type="listbox" size="4" data-clog-name="runtime-list" style="box-sizing: content-box; position: absolute; left: 5px; top: 115px; width: 265px; height: 196px;" data-on-double-click="(open-projects-component target (text-value (project-list panel)) target)"></select><select data-clog-type="listbox" size="4" data-clog-name="designtime-list" style="box-sizing: content-box; position: absolute; left: 290px; top: 115px; width: 265px; height: 195.545px;" data-on-double-click="(open-projects-component target (asdf:find-system sel))))">Edit .asd</button><label for="CLOGB3868393710" data-clog-type="label" data-clog-for="runtime-list" data-clog-name="runtime-label" style="box-sizing: content-box; position: absolute; left: 5px; top: 65px;">Runtime System</label><label for="CLOGB3868452429" data-clog-type="label" data-clog-for="runtime-list" data-clog-name="dbl-click1" style="box-sizing: content-box; position: absolute; left: 5px; top: 85px;">(double click to launch)</label><label for="CLOGB3868393704" data-clog-type="label" data-clog-for="designtime-list" data-clog-name="designtime-label" style="box-sizing: content-box; position: absolute; left: 290.007px; top: 65px;">Design Time System (/tools)</label><label for="CLOGB3868452430" data-clog-type="label" data-clog-for="designtime-list" data-clog-name="dbl-click2" style="box-sizing: content-box; position: absolute; left: 290px; top: 85px;">(double click to launch)</label><select data-clog-type="listbox" size="4" data-clog-name="runtime-list" style="box-sizing: content-box; position: absolute; left: 5px; top: 115px; width: 265px; height: 196px;" data-on-double-click="(open-projects-component target (text-value (project-list panel)) target)"></select><select data-clog-type="listbox" size="4" data-clog-name="designtime-list" style="box-sizing: content-box; position: absolute; left: 290px; top: 115px; width: 265px; height: 195.545px;" data-on-double-click="(open-projects-component target
(format nil &quot;~A/tools&quot; (text-value (project-list panel))) target)"></select><button data-clog-type="button" data-clog-name="runtime-add-lisp" style="box-sizing: content-box; position: absolute; left: 5px; top: 320px;" data-on-click="(let ((sys (text-value (project-list panel)))) (format nil &quot;~A/tools&quot; (text-value (project-list panel))) target)"></select><button data-clog-type="button" data-clog-name="runtime-add-lisp" style="box-sizing: content-box; position: absolute; left: 5px; top: 320px;" data-on-click="(let ((sys (text-value (project-list panel))))
@ -19,7 +19,9 @@
(remove-file-from-defsystem sys file (if (equalp ext &quot;.clog&quot;) (remove-file-from-defsystem sys file (if (equalp ext &quot;.clog&quot;)
:clog-file :clog-file
:file)) :file))
(projects-populate panel)))">Remove</button><button data-clog-type="button" data-clog-name="new-project-button" style="box-sizing: content-box; position: absolute; left: 520px; top: 9.99574px; width: 100px; height: 22px;" data-on-click="(on-new-app-template panel)">New</button><button data-clog-type="button" data-clog-name="unload-project-button" style="box-sizing: content-box; position: absolute; left: 520px; top: 44.9957px; width: 100px; height: 22px; bottom: 309.041px;" data-on-click="(let ((sel (text-value (project-list panel)))) (projects-populate panel)))">Remove</button><button data-clog-type="button" data-clog-name="new-project-button" style="box-sizing: content-box; position: absolute; left: 520px; top: 8px; width: 100px; height: 22px;" data-on-click="(on-new-app-template panel)">New</button><button data-clog-type="button" data-clog-name="unload-project-button" style="box-sizing: content-box; position: absolute; left: 520px; top: 43px; width: 100px; height: 22px; bottom: 309.041px;" data-on-click="(let ((sel (text-value (project-list panel))))
(asdf:clear-system sel) (asdf:clear-system sel)
(setf (text-value (project-list panel)) &quot;None&quot;) (setf (text-value (project-list panel)) &quot;None&quot;)
(projects-populate panel))">Unload</button> (projects-populate panel))">Unload</button><button data-clog-type="button" data-clog-name="reload-project-button" style="box-sizing: content-box; position: absolute; left: 521px; top: 79px; width: 100px; height: 22px; bottom: 309.041px;" data-on-click="(let ((sel (text-value (project-list panel))))
(asdf:clear-system sel)
(projects-populate panel))">Reload</button>

View file

@ -1,6 +1,8 @@
(in-package "CLOG-TOOLS") (in-package "CLOG-TOOLS")
(defclass projects (clog:clog-panel) (defclass projects (clog:clog-panel)
((unload-project-button :reader unload-project-button) ((reload-project-button :reader reload-project-button)
(unload-project-button :reader unload-project-button)
(new-project-button :reader new-project-button) (new-project-button :reader new-project-button)
(designtime-delete :reader designtime-delete) (designtime-delete :reader designtime-delete)
(designtime-add-lisp :reader designtime-add-lisp) (designtime-add-lisp :reader designtime-add-lisp)
@ -19,57 +21,60 @@
(let ((panel (let ((panel
(change-class (change-class
(clog:create-div clog-obj :content (clog:create-div clog-obj :content
"<label for=\"undefined\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 6.99858px;\" id=\"CLOGB3868475339\" data-clog-name=\"projects-label\">Current Project</label><select style=\"box-sizing: content-box; position: absolute; left: 5px; top: 35px; width: 386.54px; height: 22px; bottom: 309.041px;\" id=\"CLOGB3868475340\" data-clog-name=\"project-list\"></select><button style=\"box-sizing: content-box; position: absolute; left: 400px; top: 32px; height: 22px; width: 90px;\" id=\"CLOGB3868475341\" data-clog-name=\"edit-asd\">Edit .asd</button><label for=\"CLOGB3868393710\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 65px;\" id=\"CLOGB3868475342\" data-clog-name=\"runtime-label\">Runtime System</label><label for=\"CLOGB3868452429\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 85px;\" id=\"CLOGB3868475343\" data-clog-name=\"dbl-click1\">(double click to launch)</label><label for=\"CLOGB3868393704\" style=\"box-sizing: content-box; position: absolute; left: 290.007px; top: 65px;\" id=\"CLOGB3868475344\" data-clog-name=\"designtime-label\">Design Time System (/tools)</label><label for=\"CLOGB3868452430\" style=\"box-sizing: content-box; position: absolute; left: 290px; top: 85px;\" id=\"CLOGB3868475345\" data-clog-name=\"dbl-click2\">(double click to launch)</label><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 115px; width: 265px; height: 196px;\" id=\"CLOGB3868475346\" data-clog-name=\"runtime-list\"></select><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 290px; top: 115px; width: 265px; height: 195.545px;\" id=\"CLOGB3868475347\" data-clog-name=\"designtime-list\"></select><button style=\"box-sizing: content-box; position: absolute; left: 5px; top: 320px;\" id=\"CLOGB3868475348\" data-clog-name=\"runtime-add-lisp\">Add .lisp</button><button style=\"box-sizing: content-box; position: absolute; left: 92.9801px; top: 320px; width: 65px; height: 22px;\" id=\"CLOGB3868475349\" data-clog-name=\"runtime-delete\">Remove</button><button style=\"box-sizing: content-box; position: absolute; left: 290px; top: 320px;\" id=\"CLOGB3868475350\" data-clog-name=\"designtime-add-clog\">Add .clog</button><button style=\"box-sizing: content-box; position: absolute; left: 385px; top: 320px;\" id=\"CLOGB3868475351\" data-clog-name=\"designtime-add-lisp\">Add .lisp</button><button style=\"box-sizing: content-box; position: absolute; left: 473px; top: 320px; width: 65px; height: 22px;\" id=\"CLOGB3868475352\" data-clog-name=\"designtime-delete\">Remove</button><button style=\"box-sizing: content-box; position: absolute; left: 520px; top: 9.99574px; width: 100px; height: 22px;\" id=\"CLOGB3868475353\" data-clog-name=\"new-project-button\">New</button><button style=\"box-sizing: content-box; position: absolute; left: 520px; top: 44.9957px; width: 100px; height: 22px; bottom: 309.041px;\" id=\"CLOGB3868475354\" data-clog-name=\"unload-project-button\">Unload</button>" "<label for=\"undefined\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 6.99858px;\" id=\"CLOGB3868552713\" data-clog-name=\"projects-label\">Current Project</label><select style=\"box-sizing: content-box; position: absolute; left: 5px; top: 35px; width: 386.54px; height: 22px; bottom: 309.041px;\" id=\"CLOGB3868552714\" data-clog-name=\"project-list\"></select><button style=\"box-sizing: content-box; position: absolute; left: 400px; top: 32px; height: 22px; width: 90px;\" id=\"CLOGB3868552715\" data-clog-name=\"edit-asd\">Edit .asd</button><label for=\"CLOGB3868393710\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 65px;\" id=\"CLOGB3868552716\" data-clog-name=\"runtime-label\">Runtime System</label><label for=\"CLOGB3868452429\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 85px;\" id=\"CLOGB3868552717\" data-clog-name=\"dbl-click1\">(double click to launch)</label><label for=\"CLOGB3868393704\" style=\"box-sizing: content-box; position: absolute; left: 290.007px; top: 65px;\" id=\"CLOGB3868552718\" data-clog-name=\"designtime-label\">Design Time System (/tools)</label><label for=\"CLOGB3868452430\" style=\"box-sizing: content-box; position: absolute; left: 290px; top: 85px;\" id=\"CLOGB3868552719\" data-clog-name=\"dbl-click2\">(double click to launch)</label><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 115px; width: 265px; height: 196px;\" id=\"CLOGB3868552720\" data-clog-name=\"runtime-list\"></select><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 290px; top: 115px; width: 265px; height: 195.545px;\" id=\"CLOGB3868552721\" data-clog-name=\"designtime-list\"></select><button style=\"box-sizing: content-box; position: absolute; left: 5px; top: 320px;\" id=\"CLOGB3868552722\" data-clog-name=\"runtime-add-lisp\">Add .lisp</button><button style=\"box-sizing: content-box; position: absolute; left: 92.9801px; top: 320px; width: 65px; height: 22px;\" id=\"CLOGB3868552723\" data-clog-name=\"runtime-delete\">Remove</button><button style=\"box-sizing: content-box; position: absolute; left: 290px; top: 320px;\" id=\"CLOGB3868552724\" data-clog-name=\"designtime-add-clog\">Add .clog</button><button style=\"box-sizing: content-box; position: absolute; left: 385px; top: 320px;\" id=\"CLOGB3868552725\" data-clog-name=\"designtime-add-lisp\">Add .lisp</button><button style=\"box-sizing: content-box; position: absolute; left: 473px; top: 320px; width: 65px; height: 22px;\" id=\"CLOGB3868552726\" data-clog-name=\"designtime-delete\">Remove</button><button style=\"box-sizing: content-box; position: absolute; left: 520px; top: 8px; width: 100px; height: 22px;\" id=\"CLOGB3868552727\" data-clog-name=\"new-project-button\">New</button><button style=\"box-sizing: content-box; position: absolute; left: 520px; top: 43px; width: 100px; height: 22px; bottom: 309.041px;\" id=\"CLOGB3868552728\" data-clog-name=\"unload-project-button\">Unload</button><button style=\"box-sizing: content-box; position: absolute; left: 521px; top: 79px; width: 100px; height: 22px; bottom: 309.041px;\" id=\"CLOGB3868552729\" data-clog-name=\"reload-project-button\">Reload</button>"
:hidden hidden :class class :html-id html-id :hidden hidden :class class :html-id html-id
:auto-place auto-place) :auto-place auto-place)
'projects))) 'projects)))
(setf (slot-value panel 'reload-project-button)
(attach-as-child clog-obj "CLOGB3868552729" :clog-type
'clog:clog-button :new-id t))
(setf (slot-value panel 'unload-project-button) (setf (slot-value panel 'unload-project-button)
(attach-as-child clog-obj "CLOGB3868475354" :clog-type (attach-as-child clog-obj "CLOGB3868552728" :clog-type
'clog:clog-button :new-id t)) 'clog:clog-button :new-id t))
(setf (slot-value panel 'new-project-button) (setf (slot-value panel 'new-project-button)
(attach-as-child clog-obj "CLOGB3868475353" :clog-type (attach-as-child clog-obj "CLOGB3868552727" :clog-type
'clog:clog-button :new-id t)) 'clog:clog-button :new-id t))
(setf (slot-value panel 'designtime-delete) (setf (slot-value panel 'designtime-delete)
(attach-as-child clog-obj "CLOGB3868475352" :clog-type (attach-as-child clog-obj "CLOGB3868552726" :clog-type
'clog:clog-button :new-id t)) 'clog:clog-button :new-id t))
(setf (slot-value panel 'designtime-add-lisp) (setf (slot-value panel 'designtime-add-lisp)
(attach-as-child clog-obj "CLOGB3868475351" :clog-type (attach-as-child clog-obj "CLOGB3868552725" :clog-type
'clog:clog-button :new-id t)) 'clog:clog-button :new-id t))
(setf (slot-value panel 'designtime-add-clog) (setf (slot-value panel 'designtime-add-clog)
(attach-as-child clog-obj "CLOGB3868475350" :clog-type (attach-as-child clog-obj "CLOGB3868552724" :clog-type
'clog:clog-button :new-id t)) 'clog:clog-button :new-id t))
(setf (slot-value panel 'runtime-delete) (setf (slot-value panel 'runtime-delete)
(attach-as-child clog-obj "CLOGB3868475349" :clog-type (attach-as-child clog-obj "CLOGB3868552723" :clog-type
'clog:clog-button :new-id t)) 'clog:clog-button :new-id t))
(setf (slot-value panel 'runtime-add-lisp) (setf (slot-value panel 'runtime-add-lisp)
(attach-as-child clog-obj "CLOGB3868475348" :clog-type (attach-as-child clog-obj "CLOGB3868552722" :clog-type
'clog:clog-button :new-id t)) 'clog:clog-button :new-id t))
(setf (slot-value panel 'designtime-list) (setf (slot-value panel 'designtime-list)
(attach-as-child clog-obj "CLOGB3868475347" :clog-type (attach-as-child clog-obj "CLOGB3868552721" :clog-type
'clog:clog-select :new-id t)) 'clog:clog-select :new-id t))
(setf (slot-value panel 'runtime-list) (setf (slot-value panel 'runtime-list)
(attach-as-child clog-obj "CLOGB3868475346" :clog-type (attach-as-child clog-obj "CLOGB3868552720" :clog-type
'clog:clog-select :new-id t)) 'clog:clog-select :new-id t))
(setf (slot-value panel 'dbl-click2) (setf (slot-value panel 'dbl-click2)
(attach-as-child clog-obj "CLOGB3868475345" :clog-type (attach-as-child clog-obj "CLOGB3868552719" :clog-type
'clog:clog-label :new-id t)) 'clog:clog-label :new-id t))
(setf (slot-value panel 'designtime-label) (setf (slot-value panel 'designtime-label)
(attach-as-child clog-obj "CLOGB3868475344" :clog-type (attach-as-child clog-obj "CLOGB3868552718" :clog-type
'clog:clog-label :new-id t)) 'clog:clog-label :new-id t))
(setf (slot-value panel 'dbl-click1) (setf (slot-value panel 'dbl-click1)
(attach-as-child clog-obj "CLOGB3868475343" :clog-type (attach-as-child clog-obj "CLOGB3868552717" :clog-type
'clog:clog-label :new-id t)) 'clog:clog-label :new-id t))
(setf (slot-value panel 'runtime-label) (setf (slot-value panel 'runtime-label)
(attach-as-child clog-obj "CLOGB3868475342" :clog-type (attach-as-child clog-obj "CLOGB3868552716" :clog-type
'clog:clog-label :new-id t)) 'clog:clog-label :new-id t))
(setf (slot-value panel 'edit-asd) (setf (slot-value panel 'edit-asd)
(attach-as-child clog-obj "CLOGB3868475341" :clog-type (attach-as-child clog-obj "CLOGB3868552715" :clog-type
'clog:clog-button :new-id t)) 'clog:clog-button :new-id t))
(setf (slot-value panel 'project-list) (setf (slot-value panel 'project-list)
(attach-as-child clog-obj "CLOGB3868475340" :clog-type (attach-as-child clog-obj "CLOGB3868552714" :clog-type
'clog:clog-select :new-id t)) 'clog:clog-select :new-id t))
(setf (slot-value panel 'projects-label) (setf (slot-value panel 'projects-label)
(attach-as-child clog-obj "CLOGB3868475339" :clog-type (attach-as-child clog-obj "CLOGB3868552713" :clog-type
'clog:clog-label :new-id t)) 'clog:clog-label :new-id t))
(let ((target (projects-label panel))) (let ((target (projects-label panel)))
(declare (ignorable target)) (declare (ignorable target))
@ -175,4 +180,10 @@
(asdf/system-registry:clear-system sel) (asdf/system-registry:clear-system sel)
(setf (text-value (project-list panel)) "None") (setf (text-value (project-list panel)) "None")
(projects-populate panel)))) (projects-populate panel))))
panel)) (clog:set-on-click (reload-project-button panel)
(lambda (target)
(declare (ignorable target))
(let ((sel (text-value (project-list panel))))
(asdf/system-registry:clear-system sel)
(projects-populate panel))))
panel))