all for file extensions

This commit is contained in:
David Botton 2024-06-05 16:21:33 -04:00
parent 7bb252d80e
commit a92d3b1402
4 changed files with 49 additions and 2 deletions

View file

@ -16,6 +16,7 @@
:add-supported-controls
:control-info
:add-inspector
:add-file-extension
:clog-builder-probe
:clog-db-admin))

View file

@ -40,6 +40,13 @@ replaced. (Exported)"
*inspectors*))
(push (list :name name :func func) *inspectors*))
(defun add-file-extension (name func)
"Add a custom file extension with NAME and (FUNC file dir project clog-obj)"
(setf *file-extensions* (remove-if (lambda (x)
(equalp name (getf x :name)))
*file-extensions*))
(push (list :name name :func func) *file-extensions*))
(defun reset-control-pallete (panel)
(let* ((app (connection-data-item panel "builder-app-data"))
(pallete (select-tool app)))
@ -48,4 +55,4 @@ replaced. (Exported)"
(dolist (control *supported-controls*)
(if (equal (getf control :name) "group")
(add-select-optgroup pallete (getf control :description))
(add-select-option pallete (getf control :name) (getf control :description)))))))
(add-select-option pallete (getf control :name) (getf control :description)))))))

View file

@ -1,5 +1,8 @@
(in-package :clog-tools)
(defparameter *file-extensions*
'())
(defun on-dir-tree (obj &key dir)
(let* ((*default-title-class* *builder-title-class*)
(*default-border-class* *builder-border-class*)
@ -48,6 +51,15 @@
(ren (create-div menu :content "Rename Director" :class *builder-menu-context-item-class*))
(del (create-div menu :content "Delete Directory" :class *builder-menu-context-item-class*)))
(declare (ignore title op))
(mapcar (lambda (file-extension)
(set-on-click (create-div menu :content (getf file-extension :name) :class *builder-menu-context-item-class*)
(lambda (obj)
(destroy menu)
(funcall (getf file-extension :func)
nil item nil
obj))
:cancel-event t))
*file-extensions*)
(set-on-click menu (lambda (i)
(declare (ignore i))
(destroy menu)))
@ -132,6 +144,15 @@
(ren (create-div menu :content "Rename" :class *builder-menu-context-item-class*))
(del (create-div menu :content "Delete" :class *builder-menu-context-item-class*)))
(declare (ignore title op))
(mapcar (lambda (file-extension)
(set-on-click (create-div menu :content (getf file-extension :name) :class *builder-menu-context-item-class*)
(lambda (obj)
(destroy menu)
(funcall (getf file-extension :func)
item nil nil
obj))
:cancel-event t))
*file-extensions*)
(set-on-click menu (lambda (i)
(declare (ignore i))
(destroy menu)))
@ -229,4 +250,4 @@
:cancel-event t)
(set-on-mouse-leave menu (lambda (obj) (destroy obj)))))))))
(set-on-change root-dir #'on-change)
(on-change obj))))
(on-change obj))))

View file

@ -128,6 +128,15 @@
(ops (create-div menu :content "Open in Pseudo Shell" :class *builder-menu-context-item-class*))
(opo (create-div menu :content "Open in OS" :class *builder-menu-context-item-class*)))
(declare (ignore title op))
(mapcar (lambda (file-extension)
(set-on-click (create-div menu :content (getf file-extension :name) :class *builder-menu-context-item-class*)
(lambda (obj)
(destroy menu)
(funcall (getf file-extension :func)
nil item (current-project app)
obj))
:cancel-event t))
*file-extensions*)
(set-on-click menu (lambda (i)
(declare (ignore i))
(destroy menu)))
@ -171,6 +180,15 @@
(opo (create-div menu :content "Open OS default" :class *builder-menu-context-item-class*))
(del (create-div menu :content "Delete" :class *builder-menu-context-item-class*)))
(declare (ignore title op))
(mapcar (lambda (file-extension)
(set-on-click (create-div menu :content (getf file-extension :name) :class *builder-menu-context-item-class*)
(lambda (obj)
(destroy menu)
(funcall (getf file-extension :func)
item nil (current-project app)
obj))
:cancel-event t))
*file-extensions*)
(set-on-click menu (lambda (i)
(declare (ignore i))
(destroy menu)))