;ELC   
;;; Compiled by aatharuv@cutter-john.mit.edu on Sun Jan  5 18:14:17 2003
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/w3-4.0pre.47/lisp/w3-widget.el
;;; in Emacs version 21.1.1
;;; with bytecomp version 2.85
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`w3-widget.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\207" [require cl widget w3-keyword] 2)
#@44 Keymap used over glyphs in an image widget
(defvar widget-image-keymap (make-sparse-keymap) (#$ . 735))
(byte-code "\301B\304\302B\304\303B\304\305\306\307 \"\2032 \310\311!\203) \312\313\314\2028 \315\315\315\2028 \316\317\320\304\207" [current-load-list widget-mouse-button1 widget-mouse-button2 widget-mouse-button3 nil string-match "XEmacs" emacs-version featurep mouse button1 button2 button3 return mouse-1 mouse-2 mouse-3] 3)
#@43 *Whether to make images inaudible or not.
(defvar widget-image-inaudible-p nil (#$ . -1192))
(byte-code "\303\304	!\305#\210\303\304\n!\305#\210\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335&\207" [widget-image-keymap widget-mouse-button1 widget-mouse-button2 define-key vector widget-image-button-press define-widget image default "A fairly complex image widget." :convert-widget widget-image-convert :value-to-internal #[(widget value) "\207" [value] 1] :value-to-external #[(widget value) "\207" [value] 1] :value-set widget-image-value-set :create widget-image-create :delete widget-image-delete :value-create widget-image-value-create :value-delete widget-image-value-delete :value-get widget-image-value-get :notify widget-image-notify] 24)
(defalias 'widget-image-convert #[(widget) "\303\304\"\305\304\306#\210	\203& \305	@	\211A@)#\210	\211AA)\211\204 )\207" [widget args x widget-get :args widget-put nil] 5])
(defalias 'widget-image-value-get #[(widget) "\302\303\"\211@\205 \304	@\305\")\207" [widget children widget-get :children widget-apply :value-get] 4])
(defalias 'widget-image-create #[(widget) "\302\301\"\211\204 \303 `\304\223\202+ \305	!\204+ 	\250\203& \303 	\304\223\202+ \306\307	\"\210\310\301	#\210)\311!\207" [widget where widget-get make-marker nil markerp error "IMPOSSIBLE position in widget-image-create: %s" widget-put widget-image-value-create] 5])
(defalias 'widget-image-value-set #[(widget value) "\212\303!\210\304	!\203 \305\306	#\210\202 \305\307	#\210\310`\311\312\"\210`\313\n$)\207" [widget value widget-image-inaudible-p widget-image-delete widget-glyphp widget-put glyph :value put-text-property widget-apply :create inaudible] 5])
(defalias 'widget-image-usemap #[(widget) "\303\301\"\211<\203 	\202# 	\203 \304\305	\"\203 	\306\307O\310	\n\"\243)\207" [widget usemap w3-imagemaps widget-get string-match "^#" 1 nil assoc] 4])
(put 'widget-image-usemap 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'widget-image-callback #[(widget widget-ignore &optional event) "\301\302\"\205 \303\301\302\"\301\304\"\"\207" [widget widget-get :href w3-fetch :target] 5])
(defalias 'widget-image-create-subwidget '(macro . #[(&rest args) "\301\302\303\"B\207" [args widget-create append (:parent widget :help-echo 'widget-image-summarize 'usemap (widget-get widget 'usemap) :href href :target target :src (widget-get widget :src) 'ismap server-map)] 4]))
(defalias 'widget-image-value-create #[(widget) "\306\307\"\306\310\"\306\311\"\306\312\"\306\301\"\211<\203  	\2025 	\2030 \313\314	\"\2030 	\315\316O\317	\n\"\243*\306\320\"\206> `\306\321\"\306\305\"\316\211@ABCDC\203e \322C\227!CE\203w \205s \316\323\324\217\202\220 \325\326!\203\220 \327\330!\210\205\217 \331\332\">?\203\231 \203\244\212G\333U\203\243 \316b\210@\203\351 \316F\334\335@\"G\336\337\340\341\306\341\"\206\306 \206\306 \342\311B\343\344\345\346\347\306\347\"\350\351\352\306\352\"\353F\354\355\356G&*\202\226A\203)D;\203)\337\357\343\360\341\311B\350\351\353D\352\306\352\"\347\306\347\"\354\355\356\301\306\301\"\307D\310C\361\306\361\"\312A&\202\226D\203d\337\357\343\360\341\2068\362\311B\353D\350\351\352\306\352\"\347\363\354\355\356\301\306\301\"\307D\310C\361\306\361\"\312A&\202\226\203\226\337\357\343\360\341\311B\364\365\350\351\352\306\352\"\347\363\354\355\356\301\306\301\"\307D\310C\361\306\361\"\312A&\f\205\240\366\367\fC#)\202\306\370\"\206\260\371\211\"8\3728\211#\210\366\3708#\210\366\367\316#\210\3738\374H#\210\3738\375#\210\3738\376\346#\210\3738\377D\203\375@\204\361A\203\375\201I \201J D\"\202D\203D\202\316#\210\201K \300#).\n\207" [widget usemap w3-imagemaps invalid-glyph real-widget alt widget-get :href :target :button-face ismap string-match "^#" 1 nil assoc where glyph intern (byte-code "\301\302!\205 \302\303!!\210\304\207" [glyph fboundp specifier-instance glyph-image nil] 3) ((error t)) boundp image-types require image plist-get :type 0 mapcar #[(x) "\302H\301=\203\f \303H	\204 \303H;\203 \303H\304\305\306\307\310\311\312\313\314H\206, \303H\315\303H\257\207" [x default 0 2 choice-item :tab-order -1 :delete widget-default-delete :format "%[%t%]" :tag 3 :value] 12] apply widget-create menu-choice :tag "Imagemap" :format "%[%t:%v%]" :ignore-case t :notify :delete widget-default-delete :action :value :parent :help-echo widget-image-summarize item "%[%t%]" :src "Image" widget-image-callback :tab-order -1 widget-put :children extent make-extent set-extent-endpoints set-extent-property keymap begin-glyph detachable help-echo client-map server-map face target href w3-running-xemacs default options widget-image-keymap format "%s [map]" set-glyph-property] 30])
(defalias 'widget-image-delete #[(widget) "\303\302\"\303\304\"@\211\203 \305\n!\202! 	\203  \306	\307\"\202! \310*\207" [widget child extent widget-get :children delete-extent widget-apply :delete nil] 5])
(byte-code "\300\301!\203 \302\301M\210\202 \302\303M\210\300\304!\203 \305\304M\210\202/ \306\307!\203+ \305\310M\210\202/ \305\303M\210\300\207" [fboundp mouse-event-p widget-mouse-event-p ignore glyphp widget-glyphp boundp image-types #[(glyph) "<\205	 \301\302\"\207" [glyph plist-get :type] 3]] 2)
(defalias 'widget-image-button-press #[(event) "\205 \303!\205 \304!\211\205 \305	\302\"\306\n\211#*\207" [event glyph widget widget-mouse-event-p event-glyph glyph-property widget-image-notify] 5 nil "@e"])
(defalias 'widget-image-usemap-default #[(usemap) "\205 @\203  @\302H\303\232\203 @\304A\211\204 	)\207" [usemap rval 0 "default" nil] 3])
(defalias 'widget-image-summarize #[(widget) "\306\307\"\203\f \306\307\"\306\301\"\306\302\"\211<\203! \n\2026 \n\2031 \310\311\n\"\2031 \n\312\313O\314\n\"\243*\306\315\"\306\305\"\316!\n\203W \317\n!\320\321\"\202\211 	\203b \320\322\f\"\202\211 \f;\203n \320\323\f\"\202\211 ;\203z \320\324\"\202\211 ;\203\210 \320\324\"\202\211 \325-\207" [widget ismap usemap w3-imagemaps href alt widget-get :parent string-match "^#" 1 nil assoc :href widget-value widget-image-usemap-default format "Client side imagemap: %s" "Server side imagemap: %s" "Image hyperlink: %s" "Image: %s" "A very confused image widget." value] 4])
#@230 *Whether to automatically retrieve the source of an image widget
if it is not an active hyperlink or imagemap.
If `nil', don't do anything.
If `t', automatically retrieve the source.
Any other value means ask the user each time.
(defvar widget-image-auto-retrieve 'ask (#$ . -7616))
(defalias 'widget-image-notify #[(widget widget-changed &optional event) "\205 \306!\205 \307!\211\205 \310!	\205 \311!\312\f\305\"\f\312\f\313\"\211<\2035 \202P \203I \314\315\"\203I \316\317O\320$\"\243*\312\f\321\"%\312\f\322\"\206j &\205j \312&\322\"'\312\f\323\"\211(\203} \324(\227!(	\203\247 \203\247 \325\326\n\"\317#\211%;\203\237 \327%(\"\202H\330\331\n#\202H	\203\305 \n\203\305 \203\305 \203\305 \327\332\333%\n$(\"\202H\203\370 \334\335\"\317\336)*+\337\340+\317\336$*\320*+\"\243\211*;\205\364 \327*(\"+\202H\203\327%\341P(\"\202H%;\203\327%(\"\202H';\203G,\204%\317\202H,\336=\2033\327'!\202H-\332\342\343'!\"!\205H\327'!\202H\317.\207" [event glyph x y widget ismap widget-mouse-event-p event-glyph event-glyph-x-pixel event-glyph-y-pixel widget-get usemap string-match "^#" 1 nil assoc :href :src :target intern w3-point-in-map vector w3-fetch message "No destination found for %d,%d" format "%s?%d,%d" mapcar #[(entry) "\301H\206	 \302H\302HB\207" [entry 3 2] 3] t completing-read "Imagemap: " "?0,0" "Retrieve image (%s)?" url-truncate-url-for-viewing w3-imagemaps href widget-changed img-src target case-fold-search choice choices widget-image-auto-retrieve url-confirmation-func] 7])
(provide 'w3-widget)
