diff lisp/custom/wid-browse.el @ 134:34a5b81f86ba r20-2b1

Import from CVS: tag r20-2b1
author cvs
date Mon, 13 Aug 2007 09:30:11 +0200
parents 9b50b4588a93
children b980b6286996
line wrap: on
line diff
--- a/lisp/custom/wid-browse.el	Mon Aug 13 09:29:37 2007 +0200
+++ b/lisp/custom/wid-browse.el	Mon Aug 13 09:30:11 2007 +0200
@@ -4,7 +4,7 @@
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: extensions
-;; Version: 1.84
+;; Version: 1.89
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;;; Commentary:
@@ -245,6 +245,37 @@
 (put :button 'widget-keyword-printer 'widget-browse-widget)
 (put :args 'widget-keyword-printer 'widget-browse-sexps)
 
+;;; Widget Minor Mode.
+
+(defvar widget-minor-mode nil
+  "I non-nil, we are in Widget Minor Mode.")
+  (make-variable-buffer-local 'widget-minor-mode)
+
+(defvar widget-minor-mode-map nil
+  "Keymap used in Widget Minor Mode.")
+
+(unless widget-minor-mode-map
+  (setq widget-minor-mode-map (make-sparse-keymap))
+  (set-keymap-parent widget-minor-mode-map widget-keymap))
+
+;;;###autoload
+(defun widget-minor-mode (&optional arg)
+  "Togle minor mode for traversing widgets.
+With arg, turn widget mode on if and only if arg is positive."
+  (interactive "P")
+  (cond ((null arg)
+	 (setq widget-minor-mode (not widget-minor-mode)))
+	((<= 0 arg)
+	 (setq widget-minor-mode nil))
+	(t
+	 (setq widget-minor-mode t)))
+  (force-mode-line-update))
+
+(add-to-list 'minor-mode-alist '(widget-minor-mode " Widget"))
+
+(add-to-list 'minor-mode-map-alist 
+	     (cons 'widget-minor-mode widget-minor-mode-map))
+
 ;;; The End:
 
 (provide 'wid-browse)