diff lisp/hyperbole/hui-mouse.el @ 100:4be1180a9e89 r20-1b2

Import from CVS: tag r20-1b2
author cvs
date Mon, 13 Aug 2007 09:15:11 +0200
parents 131b0175ea99
children 6608ceec7cf8
line wrap: on
line diff
--- a/lisp/hyperbole/hui-mouse.el	Mon Aug 13 09:13:58 2007 +0200
+++ b/lisp/hyperbole/hui-mouse.el	Mon Aug 13 09:15:11 2007 +0200
@@ -8,10 +8,10 @@
 ;; KEYWORDS:     hypermedia, mouse
 ;;
 ;; AUTHOR:       Bob Weiner
-;; ORG:          Brown U.
+;; ORG:          InfoDock Associates
 ;;
 ;; ORIG-DATE:    04-Feb-89
-;; LAST-MOD:      1-Nov-95 at 20:45:57 by Bob Weiner
+;; LAST-MOD:     20-Feb-97 at 11:55:00 by Bob Weiner
 ;;
 ;; This file is part of Hyperbole.
 ;; Available for use and distribution under the same terms as GNU Emacs.
@@ -81,9 +81,16 @@
      ((hargs:select-p hkey-value) .
       (hargs:select-p hkey-value 'assist)))
     ;;
+    ;; The ID-edit package supports rapid killing, copying, yanking and
+    ;; display management. It is available only as a part of InfoDock.
+    ;; It is not included with Hyperbole.
+    ((and (boundp 'id-edit-mode) id-edit-mode
+	  (not buffer-read-only)) .
+     ((id-edit-yank) . (id-edit-yank)))
+    ;;
     ((if (not (eobp))
-	  (or (eolp) (if selective-display
-			 (= (following-char) ?\^M)))) .
+	 (or (eolp) (if selective-display
+			(= (following-char) ?\^M)))) .
      ((smart-scroll-up) . (smart-scroll-down)))
     ;;
     ((eq major-mode 'smart-menu-mode) . 
@@ -93,8 +100,9 @@
     ((if (fboundp 'hbut:at-p) (or (hbut:at-p) (hbut:label-p))) .
      ((hui:hbut-act 'hbut:current) . (hui:hbut-help 'hbut:current)))
     ;;
-    ;; The Smart Menu system provides menus within Emacs running on a dumb
-    ;; terminal.  It is part of InfoDock and is not available separately.
+    ;; The Smart Menu system provides menus within Emacs on a dumb terminal.
+    ;; It is a part of InfoDock, but may also be obtained as a separate
+    ;; package.  It is not included with Hyperbole.
     ((and (fboundp 'smart-menu-choose-menu)
 	  (setq hkey-value (and hkey-always-display-menu
 				(smart-menu-choose-menu)))
@@ -120,8 +128,8 @@
     ((eq major-mode 'kotl-mode) . 
      ((kotl-mode:action-key) . (kotl-mode:help-key)))
     ;;
-    ;; Support direct selection and viewing on in-memory relational databases.
-    ;; Rdb-mode has not been publicly released.
+    ;; Rdb-mode Supports direct selection and viewing on in-memory relational
+    ;; databases.  Rdb-mode is available only as a part of InfoDock.
     ;; It is not included with Hyperbole.
     ((eq major-mode 'rdb-mode) . ((smart-rdb) . (smart-rdb-assist)))
     ;;
@@ -129,44 +137,38 @@
     ((if (= (point) (point-max)) (string-match "Help\\*$" (buffer-name))) .
      ((hkey-help-hide) . (hkey-help-hide)))
     ;;
-    ;; Support the OO-Browser, a part of InfoDock, XEmacs, and soon to be a
-    ;; part of Emacs.
-    ((or (br-in-browser) (eq major-mode 'br-mode)) .
-     ((smart-br-dispatch) . (smart-br-assist-dispatch)))
-    ;;
     ((and (memq major-mode '(c-mode c++-c-mode))
-	  buffer-file-name (setq hkey-value (smart-c-at-tag-p))) .
+	  buffer-file-name (smart-c-at-tag-p)) .
      ((smart-c) . (smart-c nil 'next-tag)))
     ;;
     ((and (eq major-mode 'asm-mode)
-	  buffer-file-name (setq hkey-value (smart-asm-at-tag-p))) .
+	  buffer-file-name (smart-asm-at-tag-p)) .
      ((smart-asm) . (smart-asm nil 'next-tag)))
     ;;
     ((if (smart-lisp-mode-p) (smart-lisp-at-tag-p)) .
      ((smart-lisp) . (smart-lisp 'next-tag)))
     ;;
+    ((and (eq major-mode 'java-mode) buffer-file-name
+	  (or (smart-java-at-tag-p)
+	      ;; Also handle Java @see cross-references.
+	      (looking-at "@see[ \t]+")
+	      (save-excursion
+		(and (re-search-backward "[@\n\r\f]" nil t)
+		     (looking-at "@see[ \t]+"))))) .
+     ((smart-java) . (smart-java nil 'next-tag)))
+    ;;
     ((and (eq major-mode 'c++-mode) buffer-file-name
 	  ;; Don't use smart-c++-at-tag-p here since it will prevent #include
 	  ;; lines from matching.
-	  (setq hkey-value (smart-c-at-tag-p))) .
-     ( ;; Only fboundp if OO-Browser has been loaded.
-      (if (fboundp 'c++-to-definition)
-	  (smart-c++-oobr) (smart-c++)) .
-      (if (fboundp 'c++-to-definition)
-	  (smart-c++-oobr)
-	(smart-c++ nil 'next-tag))))
+	  (smart-c-at-tag-p)) .
+     ((smart-c++) . (smart-c++ nil 'next-tag)))
     ;;
     ((and (eq major-mode 'objc-mode) buffer-file-name
-	  (setq hkey-value (smart-objc-at-tag-p))) .
-     ( ;; Only fboundp if OO-Browser has been loaded.
-      (if (fboundp 'objc-to-definition)
-	  (smart-objc-oobr) (smart-objc)) .
-      (if (fboundp 'objc-to-definition)
-	  (smart-objc-oobr)
-	(smart-objc nil 'next-tag))))
+	  (smart-objc-at-tag-p)) .
+     ((smart-objc) . (smart-objc nil 'next-tag)))
     ;;
     ((and (eq major-mode 'fortran-mode)
-	  buffer-file-name (setq hkey-value (smart-fortran-at-tag-p))) .
+	  buffer-file-name (smart-fortran-at-tag-p)) .
      ((smart-fortran) . (smart-fortran nil 'next-tag)))
     ;;
     ((eq major-mode 'occur-mode) .
@@ -226,6 +228,11 @@
     ((eq major-mode 'gomoku-mode) . 
      ((gomoku-human-plays) . (gomoku-human-takes-back)))
     ;;
+    ;; Support the OO-Browser, a part of InfoDock and XEmacs, and an add on
+    ;; to Emacs.  It is not included with Hyperbole.
+    ((or (br-in-browser) (eq major-mode 'br-mode)) .
+     ((smart-br-dispatch) . (smart-br-assist-dispatch)))
+    ;;
     ;; Outline minor mode is on and usable.
     (selective-display .
      ((smart-outline) . (smart-outline-assist)))
@@ -426,7 +433,7 @@
 		      (dired-do-flagged-delete))
 		     (t (error "(smart-dired): No Dired expunge function.")))
 	     (dired-quit))))
-	(t (hpath:find-other-window (dired-get-filename)))))
+	(t (hpath:find (dired-get-filename)))))
 
 (defun smart-dired-assist ()
   "Uses a single assist-key or mouse assist-key to manipulate directory entries.