Mercurial > emacs
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) |