Mercurial > hg > xemacs-beta
diff lisp/mouse.el @ 282:c42ec1d1cded r21-0b39
Import from CVS: tag r21-0b39
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:33:18 +0200 |
parents | 7df0dd720c89 |
children | 558f606b08ae |
line wrap: on
line diff
--- a/lisp/mouse.el Mon Aug 13 10:32:23 2007 +0200 +++ b/lisp/mouse.el Mon Aug 13 10:33:18 2007 +0200 @@ -40,24 +40,16 @@ (global-set-key '(control shift button1) 'mouse-track-delete-and-insert) (global-set-key '(meta button1) 'mouse-track-do-rectangle) +;; drops are now handled in dragdrop.el (ograf@fga.de) + ;; enable drag regions (ograf@fga.de) ;; if button2 is dragged from within a region, this becomes a drop +;; +;; this must be changed to the new api (if (featurep '(or offix cde mswindows)) (global-set-key 'button2 'mouse-drag-or-yank) (global-set-key 'button2 'mouse-yank)) -;; enable drops from OffiX (ograf@fga.de) or mswindows -;; accept any button1,2,3 drop with `mouse-offix-drop' or 'mswindows-mouse-drop' -(cond ((featurep 'offix) - (global-set-key 'drop1 'mouse-offix-drop) - (global-set-key 'drop2 'mouse-offix-drop) - (global-set-key 'drop3 'mouse-offix-drop)) - ((featurep 'mswindows) - (global-set-key 'drop0 'mouse-mswindows-drop) - (global-set-key 'drop1 'mouse-mswindows-drop) - (global-set-key 'drop2 'mouse-mswindows-drop) - (global-set-key 'drop3 'mouse-mswindows-drop))) - (defgroup mouse nil "Window system-independent mouse support." :group 'editing) @@ -208,89 +200,6 @@ (funcall mouse-yank-function)) ) -(defun mouse-offix-drop (event) - "Do something with an OffiX drop event. -Insert Text drops and execute appropriate commands for specific drops. -Text drops follow the `mouse-yank-at-point' variable." - ;; by Oliver Graf <ograf@fga.de> - (interactive "e") - (let ((type (car (event-drag-and-drop-data event))) - (data (cadr (event-drag-and-drop-data event))) - (frame (event-channel event))) - (cond ((= type 2) - (let ((x pop-up-windows)) - (setq pop-up-windows nil) - (pop-to-buffer (find-file-noselect data) nil frame) - (make-frame-visible frame) - (setq pop-up-windows x))) - ((= type 3) - (let ((x pop-up-windows)) - (setq pop-up-windows nil) - (while (not (eq data ())) - (pop-to-buffer (find-file-noselect (car data)) nil frame) - (setq data (cdr data))) - (make-frame-visible frame) - (setq pop-up-windows x))) - ((= type 4) - (and (not mouse-yank-at-point) - (mouse-set-point event)) - (insert data)) - ((= type 5) (dired data)) - ((or (= type 6) (= type 7)) (dired data)) ;; this is junk - ((= type 8) (funcall browse-url-browser-function data)) - ((= type 9) - (let ((buf (generate-new-buffer "DndMIME"))) - (set-buffer buf) - (pop-to-buffer buf nil frame) - (insert data) - (make-frame-visible frame))) - (t ;; this is raw data or unknown stuff - (let ((buf (generate-new-buffer "DndRawData"))) - (set-buffer buf) - (pop-to-buffer buf nil frame) - (insert data) - (hexlify-buffer) - (make-frame-visible frame)))) - (undo-boundary))) - -(defun mouse-mswindows-drop (event) - "Do something with a drop event. -Insert Text drops and execute appropriate commands for specific drops. -Text drops follow the `mouse-yank-at-point' variable." - (interactive "e") - (let* ((type (car (event-drag-and-drop-data event))) - (data (cadr (event-drag-and-drop-data event))) - (frame (event-channel event)) - (window (if frame (event-window event) (frame-selected-window)))) - (cond ((= type 2) ;; file - (let ((x pop-up-windows)) - (setq pop-up-windows nil) - (cond (window - (select-window window))) - (switch-to-buffer (find-file-noselect data)) - (make-frame-visible frame) - (setq pop-up-windows x))) - ((= type 3) ;; files - (let ((x pop-up-windows)) - (setq pop-up-windows nil) - (while (not (eq data ())) - (pop-to-buffer (find-file-noselect (car data)) nil frame) - (setq data (cdr data))) - (make-frame-visible frame) - (setq pop-up-windows x))) - ((= type 4) ;; text - (and (not mouse-yank-at-point) - (mouse-set-point event)) - (insert data)) - (t ;; this is raw data or unknown stuff - (let ((buf (generate-new-buffer "DndRawData"))) - (set-buffer buf) - (pop-to-buffer buf nil frame) - (insert data) - (hexlify-buffer) - (make-frame-visible frame)))) - (undo-boundary))) - (defun mouse-eval-sexp (click force-window) "Evaluate the sexp under the mouse. Usually, this is the last sexp before the click, but if you click on a left paren, then it is the sexp beginning