CLIM mail archive

[Prev][Next][Index][Thread]

TRACKING-POINTER :PRESENTATION-BUTTON-PRESS bug?



Running CLIM 1.1, Genera 8.1.1, it seems that the
:PRESENTATION-BUTTON-PRESS clause of CLIM:TRACKING-POINTER works for
left and right mouse button clicks, but *misses* mouse-middle clicks.

Evaluating the code below and running (run-test) illustrates the
problem.  First click on "Generate A Presentation", and then click on
"Track Mouse".  Clicking the mouse-left or mouse-right buttons while
the mouse is over the presentation executes the code in the
:PRESENTATION-BUTTON-PRESS clause, but mouse-middle clicks are passed
on to the :POINTER-BUTTON-PRESS clause.

Am I missing something, or is this a bug?  If so, any suggested fixes?

-- Rodney


Rodney Daughtrey           E-mail: rodney@hsvaic.boeing.com
Huntsville AI Center               {major site}!uw-beaver!bcsaic!hsvaic!rodney
Boeing Computer Services   Voice:  (205)-464-4931  Fax: (205)-464-4930


---8<---8<---8<---8<---8<---  Cut here  ---8<---8<---8<---8<---8<---


(in-package 'clim-user)

(defvar *pres-pane*)
(defvar *output-pane*)
(defvar *root-window* (open-root-window #+excl :clx #+mcl :mcl
#+symbolics :sheet))
(defvar *foo-application-frame*)

(define-application-frame foo
			  ()
  ()
  (:panes ((menu-pane
	     :command-menu
	     :default-text-style '(:fix :roman :normal))
	   (presentation-pane :application)
	   (output-pane :application)))
  (:layout ((default
              (:column 1
		(menu-pane 0.2)
		(presentation-pane :rest)
		(output-pane 0.2))))))

(define-foo-command (generate-a-presentation :menu "Generate A
Presentation")
		    ()
  (present "A Presentation" 'string
	   :stream *pres-pane*))

(define-foo-command (track-mouse :menu "Track Mouse")
  ()
  (tracking-pointer (*pres-pane*)
    (:presentation-button-press ()
      (window-clear *output-pane*)
      (format *output-pane* "~%Click caught by
:PRESENTATION-BUTTON-PRESS-CLAUSE..."))
    (:pointer-button-press ()
      (window-clear *output-pane*)
      (format *output-pane* "~%Click caught by
:POINTER-BUTTON-PRESS-CLAUSE..."))))

(defun run-test ()
  (setq *foo-application-frame*
	(make-application-frame 'foo :parent *root-window*))
  (setq *pres-pane* (get-frame-pane *foo-application-frame*
'presentation-pane))
  (setq *output-pane* (get-frame-pane *foo-application-frame*
'output-pane))
  (run-frame-top-level *foo-application-frame*))



0,,

Follow-Ups:

Main Index | Thread Index