comparison lisp/wid-edit.el @ 90099:fa9654493afb

Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-10 Merge from emacs--cvs-trunk--0 Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-59 - miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-68 Update from CVS
author Miles Bader <miles@gnu.org>
date Wed, 02 Feb 2005 01:54:00 +0000
parents 95879cc1ed20 b302445f7b00
children 02f1dbc4a199
comparison
equal deleted inserted replaced
90098:59a447f7a6ba 90099:fa9654493afb
389 (overlay-put overlay 'button widget) 389 (overlay-put overlay 'button widget)
390 (overlay-put overlay 'keymap (widget-get widget :keymap)) 390 (overlay-put overlay 'keymap (widget-get widget :keymap))
391 (overlay-put overlay 'evaporate t) 391 (overlay-put overlay 'evaporate t)
392 ;; We want to avoid the face with image buttons. 392 ;; We want to avoid the face with image buttons.
393 (unless (widget-get widget :suppress-face) 393 (unless (widget-get widget :suppress-face)
394 (overlay-put overlay 'face (widget-apply widget :button-face-get))) 394 (overlay-put overlay 'face (widget-apply widget :button-face-get))
395 ; Text terminals cannot change mouse pointer shape, so use mouse
396 ; face instead.
397 (or (display-graphic-p)
398 (overlay-put overlay 'mouse-face widget-mouse-face)))
395 (overlay-put overlay 'pointer 'hand) 399 (overlay-put overlay 'pointer 'hand)
396 (overlay-put overlay 'follow-link follow-link) 400 (overlay-put overlay 'follow-link follow-link)
397 (overlay-put overlay 'help-echo help-echo))) 401 (overlay-put overlay 'help-echo help-echo)))
398 402
399 (defun widget-mouse-help (window overlay point) 403 (defun widget-mouse-help (window overlay point)
909 (unwind-protect 913 (unwind-protect
910 ;; Read events, including mouse-movement events 914 ;; Read events, including mouse-movement events
911 ;; until we receive a release event. Highlight/ 915 ;; until we receive a release event. Highlight/
912 ;; unhighlight the button the mouse was initially 916 ;; unhighlight the button the mouse was initially
913 ;; on when we move over it. 917 ;; on when we move over it.
914 (let ((track-mouse t)) 918 (save-excursion
915 (save-excursion 919 (when face ; avoid changing around image
916 (when face ; avoid changing around image 920 (overlay-put overlay
917 (overlay-put overlay 921 'face widget-button-pressed-face)
918 'face widget-button-pressed-face) 922 (overlay-put overlay
919 (overlay-put overlay 923 'mouse-face widget-button-pressed-face))
920 'mouse-face widget-button-pressed-face)) 924 (unless (widget-apply button :mouse-down-action event)
921 (unless (widget-apply button :mouse-down-action event) 925 (let ((track-mouse t))
922 (while (not (widget-button-release-event-p event)) 926 (while (not (widget-button-release-event-p event))
923 (setq event (read-event) 927 (setq event (read-event)
924 pos (widget-event-point event)) 928 pos (widget-event-point event))
925 (if (and pos 929 (if (and pos
926 (eq (get-char-property pos 'button) 930 (eq (get-char-property pos 'button)
931 widget-button-pressed-face) 935 widget-button-pressed-face)
932 (overlay-put overlay 936 (overlay-put overlay
933 'mouse-face 937 'mouse-face
934 widget-button-pressed-face)) 938 widget-button-pressed-face))
935 (overlay-put overlay 'face face) 939 (overlay-put overlay 'face face)
936 (overlay-put overlay 'mouse-face mouse-face)))) 940 (overlay-put overlay 'mouse-face mouse-face)))))
937 941
938 ;; When mouse is released over the button, run 942 ;; When mouse is released over the button, run
939 ;; its action function. 943 ;; its action function.
940 (when (and pos 944 (when (and pos
941 (eq (get-char-property pos 'button) button)) 945 (eq (get-char-property pos 'button) button))
942 (widget-apply-action button event)))) 946 (widget-apply-action button event)))
943 (overlay-put overlay 'face face) 947 (overlay-put overlay 'face face)
944 (overlay-put overlay 'mouse-face mouse-face)))) 948 (overlay-put overlay 'mouse-face mouse-face))))
945 949
946 (unless (pos-visible-in-window-p (widget-event-point event)) 950 (unless (pos-visible-in-window-p (widget-event-point event))
947 (mouse-set-point event) 951 (mouse-set-point event)