diff --git a/tools/clog-builder-scope.lisp b/tools/clog-builder-scope.lisp index b0403d9..c2e7984 100644 --- a/tools/clog-builder-scope.lisp +++ b/tools/clog-builder-scope.lisp @@ -23,6 +23,8 @@ name. If CLOG-BODY not set use *clog-debug-instance*" :class "w3-small" :overflow :scroll :top 60 :bottom 0 :left 0 :right 0))) + (set-on-window-close win (lambda (obj) + (browser-gc obj))) (set-on-click (create-span (window-icon-area win) :content (format nil "~A " (code-char #x26F6)) :auto-place :top) @@ -62,6 +64,12 @@ name. If CLOG-BODY not set use *clog-debug-instance*" (mapcar (lambda (object) (add-class node (class-of object) object)) lst)) + (add-hash (node hsh) + (maphash (lambda (k v) + (create-clog-tree-item (tree-root node) :content "Key/Value:" :node-html "") + (add-class node (class-of k) k) + (add-class node (class-of v) v)) + hsh)) (add-class (node class object) (let* ((is-root (typep node 'clog-panel)) (class-tree (create-clog-tree (if is-root @@ -81,7 +89,11 @@ name. If CLOG-BODY not set use *clog-debug-instance*" (format nil " : Object Value ~A" (escape-lisp object)) ""))))) (when (consp object) + (create-clog-tree-item (tree-root class-tree) :content "List" :node-html "") (add-list class-tree object)) + (when (hash-table-p object) + (create-clog-tree-item (tree-root class-tree) :content "Hash Table" :node-html "") + (add-hash class-tree object)) (create-clog-tree (tree-root class-tree) :node-html "⑂" :content "Precedence List" @@ -317,7 +329,7 @@ name. If CLOG-BODY not set use *clog-debug-instance*" (closer-mop:class-direct-slots dclass)))) (on-change (object &key is-list) (setf (text tree) "") - (browser-gc object) + (browser-gc obj) (create-div tree :class "w3-tiny w3-center" :content "left-click - drill down / right-click - system browse

") (if is-list