project window

This commit is contained in:
David Botton 2022-08-01 22:11:36 -04:00
parent a69212b6f2
commit 9a7607dfb4
2 changed files with 60 additions and 66 deletions

View file

@ -1,7 +1,7 @@
<data id="I3868393297" data-in-package="clog-tools" data-custom-slots="" data-clog-next-id="16" 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="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)))) <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))))
(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: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><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><label for="" data-clog-type="label" data-clog-for="" data-clog-name="label-7" style="box-sizing: content-box; position: absolute; left: 5px; top: 64.9943px;">Runtime System</label><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 (projects-populate panel))">Unload</button>
(format nil &quot;~A/tools&quot; (text-value (project-list panel))) target)"></select><label for="" data-clog-type="label" data-clog-for="" data-clog-name="label-10" style="box-sizing: content-box; position: absolute; left: 290.007px; top: 66.9986px;">Design Time System (/tools)</label><button data-clog-type="button" data-clog-name="designtime-add-clog" style="box-sizing: content-box; position: absolute; left: 290px; top: 300px;">Add .clog</button><button data-clog-type="button" data-clog-name="designtime-add-lisp" style="box-sizing: content-box; position: absolute; left: 385px; top: 300px;">Add .lisp</button><button data-clog-type="button" data-clog-name="runtime-add-lisp" style="box-sizing: content-box; position: absolute; left: 5px; top: 299.997px;">Add .lisp</button><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><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>

View file

@ -1,13 +1,12 @@
(in-package "CLOG-TOOLS") (in-package "CLOG-TOOLS")
(defclass projects (clog:clog-panel) (defclass projects (clog:clog-panel)
((runtime-list :reader runtime-list) (edit-asd :reader edit-asd) ((unload-project-button :reader unload-project-button)
(runtime-add-lisp :reader runtime-add-lisp)
(designtime-add-lisp :reader designtime-add-lisp)
(designtime-add-clog :reader designtime-add-clog)
(label-10 :reader label-10)
(designtime-list :reader designtime-list) (label-7 :reader label-7)
(new-project-button :reader new-project-button) (new-project-button :reader new-project-button)
(unload-project-button :reader unload-project-button) (designtime-list :reader designtime-list)
(runtime-list :reader runtime-list)
(designtime-label :reader designtime-label)
(runtime-label :reader runtime-label) (edit-asd :reader edit-asd)
(project-list :reader project-list) (project-list :reader project-list)
(projects-label :reader projects-label))) (projects-label :reader projects-label)))
(defun create-projects (defun create-projects
@ -15,45 +14,36 @@
(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=\"CLOGB3868392584\" 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=\"CLOGB3868392585\" data-clog-name=\"project-list\"></select><button style=\"box-sizing: content-box; position: absolute; left: 520px; top: 44.9957px; width: 100px; height: 22px; bottom: 309.041px;\" id=\"CLOGB3868392586\" data-clog-name=\"unload-project-button\">Unload</button><button style=\"box-sizing: content-box; position: absolute; left: 520px; top: 9.99574px; width: 100px; height: 22px;\" id=\"CLOGB3868392587\" data-clog-name=\"new-project-button\">New</button><label for=\"\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 64.9943px;\" id=\"CLOGB3868392588\" data-clog-name=\"label-7\">Runtime System</label><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 290.007px; top: 96px; width: 265px; height: 195.545px;\" id=\"CLOGB3868392589\" data-clog-name=\"designtime-list\"></select><label for=\"\" style=\"box-sizing: content-box; position: absolute; left: 290.007px; top: 66.9986px;\" id=\"CLOGB3868392590\" data-clog-name=\"label-10\">Design Time System (/tools)</label><button style=\"box-sizing: content-box; position: absolute; left: 290px; top: 300px;\" id=\"CLOGB3868392591\" data-clog-name=\"designtime-add-clog\">Add .clog</button><button style=\"box-sizing: content-box; position: absolute; left: 385px; top: 300px;\" id=\"CLOGB3868392592\" data-clog-name=\"designtime-add-lisp\">Add .lisp</button><button style=\"box-sizing: content-box; position: absolute; left: 5px; top: 299.997px;\" id=\"CLOGB3868392593\" data-clog-name=\"runtime-add-lisp\">Add .lisp</button><button style=\"box-sizing: content-box; position: absolute; left: 400px; top: 32px; height: 22px; width: 90px;\" id=\"CLOGB3868392594\" data-clog-name=\"edit-asd\">Edit .asd</button><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 95px; width: 265px; height: 196px;\" id=\"CLOGB3868392595\" data-clog-name=\"runtime-list\"></select>" "<label for=\"undefined\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 6.99858px;\" id=\"CLOGB3868394887\" 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=\"CLOGB3868394888\" data-clog-name=\"project-list\"></select><button style=\"box-sizing: content-box; position: absolute; left: 400px; top: 32px; height: 22px; width: 90px;\" id=\"CLOGB3868394889\" data-clog-name=\"edit-asd\">Edit .asd</button><label for=\"CLOGB3868393710\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 64.9943px;\" id=\"CLOGB3868394890\" data-clog-name=\"runtime-label\">Runtime System</label><label for=\"CLOGB3868393704\" style=\"box-sizing: content-box; position: absolute; left: 290.007px; top: 66.9986px;\" id=\"CLOGB3868394891\" data-clog-name=\"designtime-label\">Design Time System (/tools)</label><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 5px; top: 95px; width: 265px; height: 196px;\" id=\"CLOGB3868394892\" data-clog-name=\"runtime-list\"></select><select size=\"4\" style=\"box-sizing: content-box; position: absolute; left: 290.007px; top: 96px; width: 265px; height: 195.545px;\" id=\"CLOGB3868394893\" data-clog-name=\"designtime-list\"></select><button style=\"box-sizing: content-box; position: absolute; left: 520px; top: 9.99574px; width: 100px; height: 22px;\" id=\"CLOGB3868394899\" 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=\"CLOGB3868394900\" data-clog-name=\"unload-project-button\">Unload</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 'runtime-list)
(attach-as-child clog-obj "CLOGB3868392595" :clog-type
'clog:clog-select :new-id t))
(setf (slot-value panel 'edit-asd)
(attach-as-child clog-obj "CLOGB3868392594" :clog-type
'clog:clog-button :new-id t))
(setf (slot-value panel 'runtime-add-lisp)
(attach-as-child clog-obj "CLOGB3868392593" :clog-type
'clog:clog-button :new-id t))
(setf (slot-value panel 'designtime-add-lisp)
(attach-as-child clog-obj "CLOGB3868392592" :clog-type
'clog:clog-button :new-id t))
(setf (slot-value panel 'designtime-add-clog)
(attach-as-child clog-obj "CLOGB3868392591" :clog-type
'clog:clog-button :new-id t))
(setf (slot-value panel 'label-10)
(attach-as-child clog-obj "CLOGB3868392590" :clog-type
'clog:clog-label :new-id t))
(setf (slot-value panel 'designtime-list)
(attach-as-child clog-obj "CLOGB3868392589" :clog-type
'clog:clog-select :new-id t))
(setf (slot-value panel 'label-7)
(attach-as-child clog-obj "CLOGB3868392588" :clog-type
'clog:clog-label :new-id t))
(setf (slot-value panel 'new-project-button)
(attach-as-child clog-obj "CLOGB3868392587" :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 "CLOGB3868392586" :clog-type (attach-as-child clog-obj "CLOGB3868394900" :clog-type
'clog:clog-button :new-id t))
(setf (slot-value panel 'new-project-button)
(attach-as-child clog-obj "CLOGB3868394899" :clog-type
'clog:clog-button :new-id t))
(setf (slot-value panel 'designtime-list)
(attach-as-child clog-obj "CLOGB3868394893" :clog-type
'clog:clog-select :new-id t))
(setf (slot-value panel 'runtime-list)
(attach-as-child clog-obj "CLOGB3868394892" :clog-type
'clog:clog-select :new-id t))
(setf (slot-value panel 'designtime-label)
(attach-as-child clog-obj "CLOGB3868394891" :clog-type
'clog:clog-label :new-id t))
(setf (slot-value panel 'runtime-label)
(attach-as-child clog-obj "CLOGB3868394890" :clog-type
'clog:clog-label :new-id t))
(setf (slot-value panel 'edit-asd)
(attach-as-child clog-obj "CLOGB3868394889" :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 "CLOGB3868392585" :clog-type (attach-as-child clog-obj "CLOGB3868394888" :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 "CLOGB3868392584" :clog-type (attach-as-child clog-obj "CLOGB3868394887" :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))
@ -63,34 +53,20 @@
(let ((target (project-list panel))) (let ((target (project-list panel)))
(declare (ignorable target)) (declare (ignorable target))
(projects-setup panel)) (projects-setup panel))
(let ((target (label-7 panel))) (let ((target (runtime-label panel)))
(declare (ignorable target)) (declare (ignorable target))
nil) (setf (attribute target "for")
(let ((target (label-10 panel))) (clog:js-query target
"$('[data-clog-name=\\'runtime-list\\']').attr('id')")))
(let ((target (designtime-label panel)))
(declare (ignorable target)) (declare (ignorable target))
nil) (setf (attribute target "for")
(clog:js-query target
"$('[data-clog-name=\\'designtime-list\\']').attr('id')")))
(clog:set-on-change (project-list panel) (clog:set-on-change (project-list panel)
(lambda (target) (lambda (target)
(declare (ignorable target)) (declare (ignorable target))
(projects-populate panel))) (projects-populate panel)))
(clog:set-on-click (unload-project-button panel)
(lambda (target)
(declare (ignorable target))
(let ((sel (text-value (project-list panel))))
(asdf/system-registry:clear-system sel)
(setf (text-value (project-list panel)) "None")
(projects-populate panel))))
(clog:set-on-click (new-project-button panel)
(lambda (target)
(declare (ignorable target))
(on-new-app-template panel)))
(clog:set-on-double-click (designtime-list panel)
(lambda (target)
(declare (ignorable target))
(open-projects-component target
(format nil "~A/tools"
(text-value (project-list panel)))
target)))
(clog:set-on-click (edit-asd panel) (clog:set-on-click (edit-asd panel)
(lambda (target) (lambda (target)
(declare (ignorable target)) (declare (ignorable target))
@ -103,4 +79,22 @@
(declare (ignorable target)) (declare (ignorable target))
(open-projects-component target (open-projects-component target
(text-value (project-list panel)) target))) (text-value (project-list panel)) target)))
panel)) (clog:set-on-double-click (designtime-list panel)
(lambda (target)
(declare (ignorable target))
(open-projects-component target
(format nil "~A/tools"
(text-value (project-list panel)))
target)))
(clog:set-on-click (new-project-button panel)
(lambda (target)
(declare (ignorable target))
(on-new-app-template panel)))
(clog:set-on-click (unload-project-button panel)
(lambda (target)
(declare (ignorable target))
(let ((sel (text-value (project-list panel))))
(asdf/system-registry:clear-system sel)
(setf (text-value (project-list panel)) "None")
(projects-populate panel))))
panel))