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