comparison lisp/w3/w3-e19.el @ 26:441bb1e64a06 r19-15b96

Import from CVS: tag r19-15b96
author cvs
date Mon, 13 Aug 2007 08:51:32 +0200
parents 0293115a14e9
children e04119814345
comparison
equal deleted inserted replaced
25:383a494979f8 26:441bb1e64a06
1 ;;; w3-e19.el --- Emacs 19.xx specific functions for emacs-w3 1 ;;; w3-e19.el --- Emacs 19.xx specific functions for emacs-w3
2 ;; Author: wmperry 2 ;; Author: wmperry
3 ;; Created: 1997/01/19 20:04:48 3 ;; Created: 1997/02/18 23:32:51
4 ;; Version: 1.16 4 ;; Version: 1.18
5 ;; Keywords: faces, help, mouse, hypermedia 5 ;; Keywords: faces, help, mouse, hypermedia
6 6
7 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 7 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8 ;;; Copyright (c) 1993 - 1996 by William M. Perry (wmperry@cs.indiana.edu) 8 ;;; Copyright (c) 1993 - 1996 by William M. Perry (wmperry@cs.indiana.edu)
9 ;;; Copyright (c) 1996, 1997 Free Software Foundation, Inc. 9 ;;; Copyright (c) 1996, 1997 Free Software Foundation, Inc.
29 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 29 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
30 ;;; Enhancements For Emacs 19 30 ;;; Enhancements For Emacs 19
31 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 31 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
32 (require 'w3-forms) 32 (require 'w3-forms)
33 (require 'font) 33 (require 'font)
34 (require 'w3-script)
35
34 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 36 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
35 ;;; Help menu 37 ;;; Help menu
36 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 38 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
37 (defvar w3-e19-hotlist-menu nil "A menu for hotlists.") 39 (defvar w3-e19-hotlist-menu nil "A menu for hotlists.")
38 (defvar w3-e19-links-menu nil "A buffer-local menu for hyperlinks.") 40 (defvar w3-e19-links-menu nil "A buffer-local menu for hyperlinks.")
96 (t nil))) 98 (t nil)))
97 99
98 (defun w3-mode-version-specifics () 100 (defun w3-mode-version-specifics ()
99 ;; Emacs 19 specific stuff for w3-mode 101 ;; Emacs 19 specific stuff for w3-mode
100 (make-local-variable 'track-mouse) 102 (make-local-variable 'track-mouse)
101 (if w3-track-mouse (setq track-mouse t)) 103 (if w3-track-mouse (setq track-mouse t)))
102 '(if (or (memq (device-type) '(x pm ns)))
103 (w3-build-FSF19-menu)))
104 104
105 (defun w3-mouse-handler (e) 105 (defun w3-mouse-handler (e)
106 "Function to message the url under the mouse cursor" 106 "Function to message the url under the mouse cursor"
107 (interactive "e") 107 (interactive "e")
108 (let* ((pt (posn-point (event-start e))) 108 (let* ((pt (posn-point (event-start e)))
109 (good (eq (posn-window (event-start e)) (selected-window))) 109 (good (eq (posn-window (event-start e)) (selected-window)))
110 (widget (and good pt (number-or-marker-p pt) (widget-at pt))) 110 (mouse-events nil))
111 (link (and widget (or (widget-get widget 'href) 111 (if (not (and good pt (number-or-marker-p pt)))
112 (widget-get widget 'name)))) 112 nil
113 (form (and widget (widget-get widget :w3-form-data))) 113 (widget-echo-help pt)
114 (imag nil) ; (nth 1 (memq 'w3graphic props)))) 114 ;; Need to handle onmouseover, on mouseout
115 ) 115 (setq mouse-events (w3-script-find-event-handlers pt 'mouse))
116 (cond 116 (if (assq 'onmouseover mouse-events)
117 (link (message "%s" (w3-widget-echo widget))) 117 (w3-script-evaluate-form (cdr (assq 'onmouseover mouse-events)))))))
118 (form
119 (cond
120 ((eq 'submit (w3-form-element-type form))
121 (message "Submit form to %s"
122 (cdr-safe (assq 'action (w3-form-element-action form)))))
123 ((eq 'reset (w3-form-element-type form))
124 (message "Reset form contents"))
125 (t
126 (message "Form entry (name=%s, type=%s)" (w3-form-element-name form)
127 (w3-form-element-type form)))))
128 (imag (message "Inlined image (%s)" (car imag)))
129 (t (message "")))))
130 118
131 (defun w3-color-values (color) 119 (defun w3-color-values (color)
132 (cond 120 (cond
133 ((eq window-system 'x) 121 ((eq window-system 'x)
134 (x-color-values color)) 122 (x-color-values color))