Function: eieio-customize-object
eieio-customize-object is a byte-compiled function defined in
eieio-custom.el.gz.
Signature
(eieio-customize-object ARG &rest ARGS)
Implementations
(eieio-customize-object (OBJ eieio-default-superclass) &optional GROUP) in `eieio-custom.el'.
Customize OBJ in a specialized custom buffer. To override call the `eieio-custom-widget-insert' to just insert the object widget. Optional argument GROUP specifies a subgroup of slots to edit as a symbol. These groups are specified with the `:group' slot flag.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/eieio-custom.el.gz
(cl-defmethod eieio-customize-object ((obj eieio-default-superclass)
&optional group)
"Customize OBJ in a specialized custom buffer.
To override call the `eieio-custom-widget-insert' to just insert the
object widget.
Optional argument GROUP specifies a subgroup of slots to edit as a symbol.
These groups are specified with the `:group' slot flag."
;; Insert check for multiple edits here.
(let* ((g (or group 'default)))
(switch-to-buffer (get-buffer-create
(concat "*CUSTOMIZE "
(eieio-object-name obj) " "
(symbol-name g) "*")))
(setq buffer-read-only nil)
(kill-all-local-variables)
(eieio-custom-mode)
(erase-buffer)
(let ((all (overlay-lists)))
;; Delete all the overlays.
(mapc 'delete-overlay (car all))
(mapc 'delete-overlay (cdr all)))
;; Add an apply reset option at the top of the buffer.
(eieio-custom-object-apply-reset obj)
(widget-insert "\n\n")
(widget-insert "Edit object " (eieio-object-name obj) "\n\n")
;; Create the widget editing the object.
(setq-local eieio-wo (eieio-custom-widget-insert obj :eieio-group g))
;;Now generate the apply buttons
(widget-insert "\n")
(eieio-custom-object-apply-reset obj)
;; Now initialize the buffer
(widget-setup)
;;(widget-minor-mode)
(goto-char (point-min))
(widget-forward 3)
(setq-local eieio-co obj)
(setq-local eieio-cog g)))