diff tests/Dnd/droptest.el @ 290:c9fe270a4101 r21-0b43

Import from CVS: tag r21-0b43
author cvs
date Mon, 13 Aug 2007 10:36:47 +0200
parents e11d67e05968
children
line wrap: on
line diff
--- a/tests/Dnd/droptest.el	Mon Aug 13 10:35:55 2007 +0200
+++ b/tests/Dnd/droptest.el	Mon Aug 13 10:36:47 2007 +0200
@@ -23,6 +23,21 @@
 	   (funcall (intern "cde-start-drag-internal") event t what)))
 	(t display-message 'error "no valid drag protocols implemented")))
 
+(defun start-region-drag (event)
+  (interactive "_e")
+  (if (click-inside-extent-p event zmacs-region-extent)
+      ;; okay, this is a drag
+      (cond ((featurep 'offix)
+	     (offix-start-drag-region event
+				      (extent-start-position zmacs-region-extent)
+				      (extent-end-position zmacs-region-extent)))
+	    ((featurep 'cde)
+	     ;; should also work with CDE
+	     (cde-start-drag-region event
+				    (extent-start-position zmacs-region-extent)
+				    (extent-end-position zmacs-region-extent)))
+	    (t (error "No offix or CDE support compiled in")))))
+
 (defun make-drop-targets ()
   (let ((buf (get-buffer-create "*DND misc-user extent test buffer*"))
 	(s nil)
@@ -34,7 +49,7 @@
     (setq e (point))
     (setq ext (make-extent s e))
     (set-extent-property ext
-			 'dragdrop-drop-functions
+			 'experimental-dragdrop-drop-functions
 			 '((do-nothing t t)
 			   (dnd-drop-message t t "on target 1")))
     (set-extent-property ext 'mouse-face 'highlight)
@@ -44,7 +59,7 @@
     (setq e (point))
     (setq ext (make-extent s e))
     (set-extent-property ext
-			 'dragdrop-drop-functions
+			 'experimental-dragdrop-drop-functions
 			 '((dnd-drop-message t t "on target 2")))
     (set-extent-property ext 'mouse-face 'highlight)
     (insert "    ")
@@ -53,7 +68,7 @@
     (setq e (point))
     (setq ext (make-extent s e))
     (set-extent-property ext
-			 'dragdrop-drop-functions
+			 'experimental-dragdrop-drop-functions
 			 '((dnd-drop-message t t "on target 3")))
     (set-extent-property ext 'mouse-face 'highlight)
     (newline 2)))
@@ -125,11 +140,11 @@
 
 (defun file-drag (event)
   (interactive "@e")
-  (start-drag event "/tmp/printcap" 2))
+  (start-drag event "/tmp/DropTest.xpm" 2))
 
 (defun cde-file-drag (event)
   (interactive "@e")
-  (start-drag event '("/tmp/printcap") t))
+  (start-drag event '("/tmp/DropTest.xpm") t))
 
 (defun url-drag (event)
   (interactive "@e")
@@ -137,9 +152,9 @@
 
 (defun files-drag (event)
   (interactive "@e")
-  (start-drag event '("/tmp/dragtest" "/tmp/droptest" "/tmp/printcap") 3))
+  (start-drag event '("/tmp/DropTest.html" "/tmp/DropTest.xpm" "/tmp/DropTest.tex") 3))
 
-(setq dragdrop-drop-functions '((do-nothing t t)
+(setq experimental-dragdrop-drop-functions '((do-nothing t t)
 				;; CDE does not have any button info...
 				(dnd-drop-message 0 t "cde-drop somewhere else")
 				(dnd-drop-message 2 t "region somewhere else")
@@ -158,4 +173,4 @@
 (use-local-map lmap)
 (local-set-key [q] 'end-dnd-demo)
 (setq button2-func (lookup-key global-map [button2]))
-(global-unset-key [button2])
+(global-set-key [button2] 'start-region-drag)