Function: idlwave-mouse-active-rinfo

idlwave-mouse-active-rinfo is an interactive and byte-compiled function defined in idlwave.el.gz.

Signature

(idlwave-mouse-active-rinfo EV &optional RIGHT SHIFT)

Documentation

Do the mouse actions in the routine info buffer.

Optional args RIGHT and SHIFT indicate, if mouse-3 was used, and if SHIFT was pressed.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/idlwave.el.gz
(defun idlwave-mouse-active-rinfo (ev &optional right shift)
  "Do the mouse actions in the routine info buffer.
Optional args RIGHT and SHIFT indicate, if mouse-3 was used, and if SHIFT
was pressed."
  (interactive "e")
  (if ev (mouse-set-point ev))
  (let (data id name type class buf bufwin source link keyword
	     word initial-class)
    (setq data (get-text-property (point) 'data)
	  source (get-text-property (point) 'source)
	  keyword (get-text-property (point) 'keyword)
	  link (get-text-property (point) 'link)
	  id (car data)
	  name (nth 1 data) type (nth 2 data) class (nth 3 data)
	  buf (nth 4 data)
	  initial-class (nth 6 data)
	  word (idlwave-this-word)
	  bufwin (get-buffer-window buf t))

    (cond ((eq id 'class) ; Switch class being displayed
	   (if (window-live-p bufwin) (select-window bufwin))
	   (idlwave-display-calling-sequence
	    (idlwave-sintern-method name)
	    type (idlwave-sintern-class word)
	    initial-class))
	  ((eq id 'usage) ; Online help on this routine
	   (idlwave-online-help link name type class))
	  ((eq id 'source) ; Source in help or buffer
	   (if right ; In help
	       (let ((idlwave-extra-help-function 'idlwave-help-with-source)
		     (idlwave-help-source-try-header nil)
		     ;; Fake idlwave-routines so help will find the right entry
		     (idlwave-routines
		      (list (list name type class source ""))))
		 (idlwave-help-get-special-help name type class nil))
	     ;; Otherwise just pop to the source
	     (setq idlwave-popup-source (not idlwave-popup-source))
	     (if idlwave-popup-source
		 (condition-case err
		     (idlwave-do-find-module name type class source)
		   (error
		    (setq idlwave-popup-source nil)
		    (if (window-live-p bufwin) (select-window bufwin))
		    (error (nth 1 err))))
	       (if bufwin
		   (select-window bufwin)
		 (pop-to-buffer buf))
	       (goto-char (marker-position idlwave-rinfo-marker)))))
	  ((eq id 'keyword)
	   (if right
	       (idlwave-online-help link name type class keyword)
	     (idlwave-rinfo-insert-keyword keyword buf shift))))))