;;;; CLOG Builder generated code - modify original .clog file and rerender (in-package :clog-tools) (defclass project-dir (clog:clog-panel) ((other-button :reader other-button) (select-button :reader select-button) (project-list :reader project-list) (frame :reader frame) (on-done :accessor on-done :initform nil))) (defun create-project-dir (clog-obj &key hidden class style html-id (auto-place t)) (let ((panel (change-class (clog:create-div clog-obj :content "
" :hidden hidden :class class :style style :html-id html-id :auto-place auto-place) 'project-dir))) (setf (slot-value panel 'other-button) (attach-as-child clog-obj "CLOGB3930207072" :clog-type 'clog:clog-button :new-id t)) (setf (slot-value panel 'select-button) (attach-as-child clog-obj "CLOGB3930207071" :clog-type 'clog:clog-button :new-id t)) (setf (slot-value panel 'project-list) (attach-as-child clog-obj "CLOGB3930207070" :clog-type 'clog:clog-select :new-id t)) (setf (slot-value panel 'frame) (attach-as-child clog-obj "CLOGB3930207069" :clog-type 'clog:clog-div :new-id t)) (let ((target (project-list panel))) (declare (ignorable target)) (add-select-options (project-list panel) (projects-local-directories)) (setf (value (project-list panel)) (car (projects-local-directories)))) (clog:set-on-double-click (project-list panel) (lambda (target) (declare (ignorable target)) (funcall (on-done panel) panel))) (clog:set-on-click (select-button panel) (lambda (target) (declare (ignorable target)) (funcall (on-done panel) panel))) (clog:set-on-click (other-button panel) (lambda (target) (declare (ignorable target)) (let ((*default-title-class* *builder-title-class*) (*default-border-class* *builder-border-class*)) (input-dialog panel "Add Project Directory" (lambda (result) (when result (pushnew result quicklisp-client:*local-project-directories* :test #'equalp) (add-select-option (project-list panel) result result :selected t) (let ((*default-title-class* *builder-title-class*) (*default-border-class* *builder-border-class*)) (alert-dialog panel (format nil "~A added to ql:*local-project-directories* temporarily.~% ~ Use the generated run-ql or run-ocicl scripts in the created project ~% or add to Options -> Edit preferences.lisp to work with your project in ~% future." result) :width 500 :height 250)))))))) panel))