Function: hierarchy-convert-to-tree-widget

hierarchy-convert-to-tree-widget is a byte-compiled function defined in hierarchy.el.gz.

Signature

(hierarchy-convert-to-tree-widget HIERARCHY LABELFN)

Documentation

Return a tree-widget for HIERARCHY.

LABELFN is a function taking an item of HIERARCHY and an indentation value (a number) as parameter and inserting a string to be displayed as a node label.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/hierarchy.el.gz
(defun hierarchy-convert-to-tree-widget (hierarchy labelfn)
  "Return a tree-widget for HIERARCHY.

LABELFN is a function taking an item of HIERARCHY and an indentation
value (a number) as parameter and inserting a string to be displayed as a
node label."
  (require 'wid-edit)
  (require 'tree-widget)
  (hierarchy-map-tree (lambda (item indent children)
                        (let ((childrenfn (map-elt
                                           (hierarchy--delaying-parents hierarchy)
                                           item)))
                          (apply
                           #'widget-convert
                           (list 'tree-widget
                                 :tag (hierarchy-labelfn-to-string labelfn item indent)
                                 (if childrenfn :expander :args)
                                 (if childrenfn
                                     (hierarchy--create-delayed-tree-widget
                                      item
                                      labelfn
                                      (1+ indent)
                                      childrenfn)
                                   children)))))
                      hierarchy))