summaryrefslogtreecommitdiff
path: root/lisp/wid-edit.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/wid-edit.el')
-rw-r--r--lisp/wid-edit.el35
1 files changed, 22 insertions, 13 deletions
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index a6a64f59944..a5cd1dba523 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -1996,9 +1996,18 @@ when he invoked the menu."
(defun widget-toggle-value-create (widget)
"Insert text representing the `on' and `off' states."
(if (widget-value widget)
- (widget-image-insert widget
- (widget-get widget :on)
- (widget-get widget :on-glyph))
+ (progn
+ (and (display-graphic-p)
+ (listp (widget-get widget :on-glyph))
+ (widget-put widget :on-glyph
+ (eval (widget-get widget :on-glyph))))
+ (widget-image-insert widget
+ (widget-get widget :on)
+ (widget-get widget :on-glyph)))
+ (and (display-graphic-p)
+ (listp (widget-get widget :off-glyph))
+ (widget-put widget :off-glyph
+ (eval (widget-get widget :off-glyph))))
(widget-image-insert widget
(widget-get widget :off)
(widget-get widget :off-glyph))))
@@ -2020,19 +2029,19 @@ when he invoked the menu."
;; We could probably do the same job as the images using single
;; space characters in a boxed face with a stretch specification to
;; make them square.
- :on-glyph (create-image "\000\066\076\034\076\066\000"
- 'xbm t :width 7 :height 7
- :background "grey75" ; like default mode line
- :foreground "black"
- :relief -3
- :ascent 'center)
- :off "[ ]"
- :off-glyph (create-image (make-string 7 0)
+ :on-glyph '(create-image "\000\066\076\034\076\066\000"
'xbm t :width 7 :height 7
- :background "grey75"
+ :background "grey75" ; like default mode line
:foreground "black"
- :relief 3
+ :relief -3
:ascent 'center)
+ :off "[ ]"
+ :off-glyph '(create-image (make-string 7 0)
+ 'xbm t :width 7 :height 7
+ :background "grey75"
+ :foreground "black"
+ :relief 3
+ :ascent 'center)
:help-echo "Toggle this item."
:action 'widget-checkbox-action)