327 |
(let ((keymap (widget-get widget :keymap)) |
(let ((keymap (widget-get widget :keymap)) |
328 |
(face (or (widget-get widget :value-face) 'widget-field-face)) |
(face (or (widget-get widget :value-face) 'widget-field-face)) |
329 |
(help-echo (widget-get widget :help-echo)) |
(help-echo (widget-get widget :help-echo)) |
330 |
|
(follow-link (widget-get widget :follow-link)) |
331 |
(rear-sticky |
(rear-sticky |
332 |
(or (not widget-field-add-space) (widget-get widget :size)))) |
(or (not widget-field-add-space) (widget-get widget :size)))) |
333 |
(if (functionp help-echo) |
(if (functionp help-echo) |
346 |
;; works in the field when, say, Custom uses `suppress-keymap'. |
;; works in the field when, say, Custom uses `suppress-keymap'. |
347 |
(overlay-put overlay 'local-map keymap) |
(overlay-put overlay 'local-map keymap) |
348 |
(overlay-put overlay 'face face) |
(overlay-put overlay 'face face) |
349 |
|
(overlay-put overlay 'follow-link follow-link) |
350 |
(overlay-put overlay 'help-echo help-echo)) |
(overlay-put overlay 'help-echo help-echo)) |
351 |
(setq to (1- to)) |
(setq to (1- to)) |
352 |
(setq rear-sticky t)) |
(setq rear-sticky t)) |
356 |
(overlay-put overlay 'field widget) |
(overlay-put overlay 'field widget) |
357 |
(overlay-put overlay 'local-map keymap) |
(overlay-put overlay 'local-map keymap) |
358 |
(overlay-put overlay 'face face) |
(overlay-put overlay 'face face) |
359 |
|
(overlay-put overlay 'follow-link follow-link) |
360 |
(overlay-put overlay 'help-echo help-echo))) |
(overlay-put overlay 'help-echo help-echo))) |
361 |
(widget-specify-secret widget)) |
(widget-specify-secret widget)) |
362 |
|
|
381 |
(defun widget-specify-button (widget from to) |
(defun widget-specify-button (widget from to) |
382 |
"Specify button for WIDGET between FROM and TO." |
"Specify button for WIDGET between FROM and TO." |
383 |
(let ((overlay (make-overlay from to nil t nil)) |
(let ((overlay (make-overlay from to nil t nil)) |
384 |
|
(follow-link (widget-get widget :follow-link)) |
385 |
(help-echo (widget-get widget :help-echo))) |
(help-echo (widget-get widget :help-echo))) |
386 |
(widget-put widget :button-overlay overlay) |
(widget-put widget :button-overlay overlay) |
387 |
(if (functionp help-echo) |
(if (functionp help-echo) |
393 |
(unless (widget-get widget :suppress-face) |
(unless (widget-get widget :suppress-face) |
394 |
(overlay-put overlay 'face (widget-apply widget :button-face-get))) |
(overlay-put overlay 'face (widget-apply widget :button-face-get))) |
395 |
(overlay-put overlay 'pointer 'hand) |
(overlay-put overlay 'pointer 'hand) |
396 |
|
(overlay-put overlay 'follow-link follow-link) |
397 |
(overlay-put overlay 'help-echo help-echo))) |
(overlay-put overlay 'help-echo help-echo))) |
398 |
|
|
399 |
(defun widget-mouse-help (window overlay point) |
(defun widget-mouse-help (window overlay point) |
1710 |
"An embedded link." |
"An embedded link." |
1711 |
:button-prefix 'widget-link-prefix |
:button-prefix 'widget-link-prefix |
1712 |
:button-suffix 'widget-link-suffix |
:button-suffix 'widget-link-suffix |
1713 |
|
:follow-link "\C-m" |
1714 |
:help-echo "Follow the link." |
:help-echo "Follow the link." |
1715 |
:format "%[%t%]") |
:format "%[%t%]") |
1716 |
|
|