Function: org-toggle-radio-button

org-toggle-radio-button is an interactive and byte-compiled function defined in org-list.el.gz.

Signature

(org-toggle-radio-button &optional ARG)

Documentation

Toggle off all checkboxes and toggle on the one at point.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-list.el.gz
(defun org-toggle-radio-button (&optional arg)
  "Toggle off all checkboxes and toggle on the one at point."
  (interactive "P")
  (if (not (org-at-item-p))
      (user-error "Cannot toggle checkbox outside of a list")
    (let* ((cpos (org-in-item-p))
	   (struct (org-list-struct))
	   (orderedp (org-entry-get nil "ORDERED"))
	   (parents (org-list-parents-alist struct))
	   (old-struct (copy-tree struct))
	   (cbox (org-list-get-checkbox cpos struct))
           (prevs (org-list-prevs-alist struct))
           (start (org-list-get-list-begin (line-beginning-position) struct prevs))
	   (new (unless (and cbox (equal arg '(4)) (equal start cpos))
		  "[ ]")))
      (dolist (pos (org-list-get-all-items
		    start struct (org-list-prevs-alist struct)))
	(org-list-set-checkbox pos struct new))
      (when new
	(org-list-set-checkbox
	 cpos struct
	 (cond ((equal arg '(4)) (unless cbox "[ ]"))
	       ((equal arg '(16)) (unless cbox "[-]"))
	       (t (if (equal cbox "[X]") "[ ]" "[X]")))))
      (org-list-struct-fix-box struct parents prevs orderedp)
      (org-list-struct-apply-struct struct old-struct)
      (org-update-checkbox-count-maybe))))