comparison lisp/wid-edit.el @ 59781:b302445f7b00

(widget-button-click): Shorten the range of the track-mouse binding.
author Richard M. Stallman <rms@gnu.org>
date Sat, 29 Jan 2005 17:21:12 +0000
parents 08c82797edef
children 8fc6a70b402a fa9654493afb
comparison
equal deleted inserted replaced
59780:9d293bf75d6c 59781:b302445f7b00
913 (unwind-protect 913 (unwind-protect
914 ;; Read events, including mouse-movement events 914 ;; Read events, including mouse-movement events
915 ;; until we receive a release event. Highlight/ 915 ;; until we receive a release event. Highlight/
916 ;; unhighlight the button the mouse was initially 916 ;; unhighlight the button the mouse was initially
917 ;; on when we move over it. 917 ;; on when we move over it.
918 (let ((track-mouse t)) 918 (save-excursion
919 (save-excursion 919 (when face ; avoid changing around image
920 (when face ; avoid changing around image 920 (overlay-put overlay
921 (overlay-put overlay 921 'face widget-button-pressed-face)
922 'face widget-button-pressed-face) 922 (overlay-put overlay
923 (overlay-put overlay 923 'mouse-face widget-button-pressed-face))
924 'mouse-face widget-button-pressed-face)) 924 (unless (widget-apply button :mouse-down-action event)
925 (unless (widget-apply button :mouse-down-action event) 925 (let ((track-mouse t))
926 (while (not (widget-button-release-event-p event)) 926 (while (not (widget-button-release-event-p event))
927 (setq event (read-event) 927 (setq event (read-event)
928 pos (widget-event-point event)) 928 pos (widget-event-point event))
929 (if (and pos 929 (if (and pos
930 (eq (get-char-property pos 'button) 930 (eq (get-char-property pos 'button)
935 widget-button-pressed-face) 935 widget-button-pressed-face)
936 (overlay-put overlay 936 (overlay-put overlay
937 'mouse-face 937 'mouse-face
938 widget-button-pressed-face)) 938 widget-button-pressed-face))
939 (overlay-put overlay 'face face) 939 (overlay-put overlay 'face face)
940 (overlay-put overlay 'mouse-face mouse-face)))) 940 (overlay-put overlay 'mouse-face mouse-face)))))
941 941
942 ;; When mouse is released over the button, run 942 ;; When mouse is released over the button, run
943 ;; its action function. 943 ;; its action function.
944 (when (and pos 944 (when (and pos
945 (eq (get-char-property pos 'button) button)) 945 (eq (get-char-property pos 'button) button))
946 (widget-apply-action button event)))) 946 (widget-apply-action button event)))
947 (overlay-put overlay 'face face) 947 (overlay-put overlay 'face face)
948 (overlay-put overlay 'mouse-face mouse-face)))) 948 (overlay-put overlay 'mouse-face mouse-face))))
949 949
950 (unless (pos-visible-in-window-p (widget-event-point event)) 950 (unless (pos-visible-in-window-p (widget-event-point event))
951 (mouse-set-point event) 951 (mouse-set-point event)