/[emacs]/emacs/lisp/tree-widget.el
ViewVC logotype

Diff of /emacs/lisp/tree-widget.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by kfstorm, Wed Feb 9 15:50:40 2005 UTC revision 1.4 by dpe, Wed Jun 15 08:19:19 2005 UTC
# Line 1  Line 1 
1  ;;; tree-widget.el --- Tree widget  ;;; tree-widget.el --- Tree widget
2    
3  ;; Copyright (C) 2004 Free Software Foundation, Inc.  ;; Copyright (C) 2004, 2005 Free Software Foundation, Inc.
4    
5  ;; Author: David Ponce <david@dponce.com>  ;; Author: David Ponce <david@dponce.com>
6  ;; Maintainer: David Ponce <david@dponce.com>  ;; Maintainer: David Ponce <david@dponce.com>
# Line 469  found." Line 469  found."
469                     'widget-type)                     'widget-type)
470                property))                property))
471    
 (defsubst tree-widget-super-format-handler (widget escape)  
   "Call WIDGET's inherited format handler to process ESCAPE character."  
   (let ((handler (tree-widget-get-super widget :format-handler)))  
     (and handler (funcall handler widget escape))))  
   
 (defun tree-widget-format-handler (widget escape)  
   "For WIDGET, signal that the %p format template is obsolete.  
 Call WIDGET's inherited format handler to process other ESCAPE  
 characters."  
   (if (eq escape ?p)  
       (message "The %%p format template is obsolete and ignored")  
     (tree-widget-super-format-handler widget escape)))  
 (make-obsolete 'tree-widget-format-handler  
                'tree-widget-super-format-handler)  
   
472  (defsubst tree-widget-node (widget)  (defsubst tree-widget-node (widget)
473    "Return the tree WIDGET :node value.    "Return the tree WIDGET :node value.
474  If not found setup a default 'item' widget."  If not found setup a default 'item' widget."
# Line 630  IGNORE other arguments." Line 615  IGNORE other arguments."
615    (let* ((widget-image-enable (tree-widget-use-image-p))     ; Emacs    (let* ((widget-image-enable (tree-widget-use-image-p))     ; Emacs
616           (widget-glyph-enable widget-image-enable)           ; XEmacs           (widget-glyph-enable widget-image-enable)           ; XEmacs
617           (node (tree-widget-node tree))           (node (tree-widget-node tree))
618             (flags (widget-get tree :tree-widget--guide-flags))
619             (indent (and (bolp) (widget-get tree :indent)))
620           children buttons)           children buttons)
621        (and (null flags) indent (insert-char ?\  indent))
622      (if (widget-get tree :open)      (if (widget-get tree :open)
623  ;;;; Unfolded node.  ;;;; Unfolded node.
624          (let* ((args     (widget-get tree :args))          (let ((args     (widget-get tree :args))
625                 (dynargs  (widget-get tree :dynargs))                (dynargs  (widget-get tree :dynargs))
626                 (flags    (widget-get tree :tree-widget--guide-flags))                (guide    (tree-widget-guide     tree))
627                 (rflags   (reverse flags))                (noguide  (tree-widget-no-guide  tree))
628                 (guide    (tree-widget-guide     tree))                (endguide (tree-widget-end-guide tree))
629                 (noguide  (tree-widget-no-guide  tree))                (handle   (tree-widget-handle    tree))
630                 (endguide (tree-widget-end-guide tree))                (nohandle (tree-widget-no-handle tree))
631                 (handle   (tree-widget-handle    tree))                ;; Lookup for images and set widgets' tag-glyphs here,
632                 (nohandle (tree-widget-no-handle tree))                ;; to allow to dynamically change the image theme.
633                 ;; Lookup for images and set widgets' tag-glyphs here,                (guidi    (tree-widget-find-image "guide"))
634                 ;; to allow to dynamically change the image theme.                (noguidi  (tree-widget-find-image "no-guide"))
635                 (guidi    (tree-widget-find-image "guide"))                (endguidi (tree-widget-find-image "end-guide"))
636                 (noguidi  (tree-widget-find-image "no-guide"))                (handli   (tree-widget-find-image "handle"))
637                 (endguidi (tree-widget-find-image "end-guide"))                (nohandli (tree-widget-find-image "no-handle"))
638                 (handli   (tree-widget-find-image "handle"))                child)
                (nohandli (tree-widget-find-image "no-handle"))  
                child)  
639            (when dynargs            (when dynargs
640              ;; Request the definition of dynamic children              ;; Request the definition of dynamic children
641              (setq dynargs (funcall dynargs tree))              (setq dynargs (funcall dynargs tree))
# Line 671  IGNORE other arguments." Line 657  IGNORE other arguments."
657            (while args            (while args
658              (setq child (car args)              (setq child (car args)
659                    args  (cdr args))                    args  (cdr args))
660                (and indent (insert-char ?\  indent))
661              ;; Insert guide lines elements              ;; Insert guide lines elements
662              (dolist (f rflags)              (dolist (f (reverse flags))
663                (widget-create-child-and-convert                (widget-create-child-and-convert
664                 tree (if f guide noguide)                 tree (if f guide noguide)
665                 :tag-glyph (if f guidi noguidi))                 :tag-glyph (if f guidi noguidi))

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26