CLIM mail archive


clim problem


I am trying to have several menus in several windows active at the
same time; is it possible.

There is one one main window, with a main menu and several objects;
the objects are mouse sensitive, so when one is selected, a window
is opened with some information about the object. Now, the user has
to discard the window, if he wants to go further. But I would like
to give the user the ability to have several such windows active
at the same time. to open some more and to close some others...
How must I do ?

I am currently doing something like this :

(define-heart-simulator-command select-cardio-vascular-object
				((o 'p-cardio-vascular-object
				    :gesture :select))

    (let* ((w (open-window-stream :parent *clim-root*
				  :label (tl-to-string (print-name o)))))

	(menu-choose-from-drawer w 'string
	    #'(lambda (stream type)
		  (formatting-table (stream)                              ;
		      (printer o #'(lambda (sn sv stream)                 ;
				       (formatting-row (stream)           ;
				           (formatting-cell (stream)      ;
					       (format stream "~A" sn))   ;
					   (formatting-cell (stream)      ;
					       (format stream "~A" sv)))) ;
			       :stream stream))

		  (format stream "~%~%")

		  ;; This is the only menu item in the window.
		  (present "DISCARD" type :stream stream)))))

Jean-Pascal Baechler

Main Index | Thread Index