full project support

This commit is contained in:
David Botton 2022-08-02 21:48:28 -04:00
parent 9a7607dfb4
commit 2befb3ff46
6 changed files with 258 additions and 107 deletions

View file

@ -1,7 +1,25 @@
<data id="I3868394912" data-in-package="clog-tools" data-custom-slots="" data-clog-next-id="19" 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="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))))
(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: 64.9943px;">Runtime System</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: 66.9986px;">Design Time System (/tools)</label><select data-clog-type="listbox" size="4" data-clog-name="runtime-list" style="box-sizing: content-box; position: absolute; left: 5px; top: 95px; 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: 290.007px; top: 96px; 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="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))))
(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))))
(projects-add-lisp panel sys))">Add .lisp</button><button data-clog-type="button" data-clog-name="runtime-delete" style="box-sizing: content-box; position: absolute; left: 92.9801px; top: 320px; width: 65px; height: 22px;" data-on-click="(let ((sys (text-value (project-list panel)))
(file (select-text (runtime-list panel))))
(unless (equal file &quot;&quot;)
(setf file (subseq file 0 (- (length file) 5)))
(remove-file-from-defsystem sys file :file)
(projects-populate panel)))">Remove</button><button data-clog-type="button" data-clog-name="designtime-add-clog" style="box-sizing: content-box; position: absolute; left: 290px; top: 320px;" data-on-click="(let ((sys (text-value (project-list panel))))
(projects-add-clog panel sys))
">Add .clog</button><button data-clog-type="button" data-clog-name="designtime-add-lisp" style="box-sizing: content-box; position: absolute; left: 385px; top: 320px;" data-on-click="(let ((sys (format nil &quot;~A/tools&quot; (text-value (project-list panel)))))
(projects-add-lisp panel sys))">Add .lisp</button><button data-clog-type="button" data-clog-name="designtime-delete" style="box-sizing: content-box; position: absolute; left: 473px; top: 320px; width: 65px; height: 22px;" data-on-click="(let ((sys (format nil &quot;~A/tools&quot; (text-value (project-list panel))))
(file (select-text (designtime-list panel)))
ext)
(unless (equal file &quot;&quot;)
(setf ext (subseq file (- (length file) 5)))
(setf file (subseq file 0 (- (length file) 5)))
(remove-file-from-defsystem sys file (if (equalp ext &quot;.clog&quot;)
:clog-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))))
(asdf:clear-system sel)
(setf (text-value (project-list panel)) &quot;None&quot;)
(projects-populate panel))">Unload</button>