CLIM mail archive
[Prev][Next][Index][Thread]
adding functionality to list-pane
- 
To: clim@BBN.COM 
 
- 
Subject: adding functionality to list-pane 
 
- 
From: Suzanne Mercer Paley <PALEY> 
 
- 
Date: Mon 11 Jul 94 19:13:16-PDT 
 
- 
Cc: paley@Sunset.AI.SRI.COM 
 
- 
Mail-System-Version: <SUN-MM(229)+TOPSLIB(128)@CAYUCOS.ARPA> 
 
Eventually, I want to enhance the functionality of my list-pane gadgets
so that they are sensitive to other kinds of pointer events (currently
they change value only on left-clicks;  I will want them to give them
behaviors for other kinds of clicks).  I thought the obvious way to do
this would be to implement an :around method for the appropriate
HANDLE-EVENT method.  However, when I trace HANDLE-EVENT while running
the basic list-pane, it never gets invoked on pointer clicks.  I
implemented my :around method anyway, so that it is supposed to break on
any pointer click, but the method is never called.  What is wrong, and
how should I be approaching this?  I'm running Lucid Beta Clim 2.0.
Thanks,
Suzanne
(defvar *items* '(apples bananas cherries dates))
(defmethod clim:handle-event :around ((pane clim:list-pane)
				      (event clim:pointer-button-press-event))
  (break)
  (call-next-method))
(clim:define-application-frame list-pane-test ()
  ((selections :accessor list-pane-selections))
  (:pane
   (clim:with-application-frame (frame)
     (clim:vertically ()
       (setf (list-pane-selections frame) 
	     (clim:make-pane 'clim:list-pane 
			     :mode :some-of
			     :client frame
			     :items *items*
			     ))
       (clim:make-pane 'clim:push-button :label "Abort"
		       :client frame
		       :activate-callback
		       #'(lambda (gadget)
			   (clim:frame-exit (clim:gadget-client gadget))
			   ))
       ))))
(defun run-test ()
  (clim:run-frame-top-level
   (clim:make-application-frame 'list-pane-test)))
-------
Main Index |
Thread Index