mirror of
https://github.com/rabbibotton/clog.git
synced 2025-12-06 02:30:42 -08:00
all for file extensions
This commit is contained in:
parent
7bb252d80e
commit
a92d3b1402
4 changed files with 49 additions and 2 deletions
|
|
@ -16,6 +16,7 @@
|
|||
:add-supported-controls
|
||||
:control-info
|
||||
:add-inspector
|
||||
:add-file-extension
|
||||
:clog-builder-probe
|
||||
:clog-db-admin))
|
||||
|
||||
|
|
|
|||
|
|
@ -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)))))))
|
||||
|
|
|
|||
|
|
@ -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))))
|
||||
|
|
|
|||
|
|
@ -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)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue