Update of /project/gsharp/cvsroot/gsharp In directory common-lisp.net:/tmp/cvs-serv5196
Modified Files: esa.lisp Log Message: Make menus work. Basically copy the body of McCLIM's READ-FRAME-COMMAND :AROUND method into the ESA toplevel
Date: Tue Nov 1 10:50:16 2005 Author: crhodes
Index: gsharp/esa.lisp diff -u gsharp/esa.lisp:1.7 gsharp/esa.lisp:1.8 --- gsharp/esa.lisp:1.7 Sat Oct 29 00:16:37 2005 +++ gsharp/esa.lisp Tue Nov 1 10:50:16 2005 @@ -212,7 +212,7 @@
(defun process-gestures-or-command (frame command-table) (with-input-context - (`(command :command-table ,(command-table (car (windows frame))))) + (`(or menu-item (command :command-table ,(command-table (car (windows frame)))))) (object) (let ((gestures '())) (multiple-value-bind (numarg numargp) @@ -234,7 +234,18 @@ (execute-frame-command frame command) (return))) (t nil)))))) - (t + (menu-item + (let ((command (command-menu-item-value object))) + (unless (listp command) + (setq command (list command))) + (when (and (typep (frame-standard-input frame) 'interactor-pane) + (member *unsupplied-argument-marker* command :test #'eq)) + (setq command + (command-line-read-remaining-arguments-for-partial-command + (frame-command-table frame) (frame-standard-input frame) + command 0))) + (execute-frame-command frame command))) + (command (execute-frame-command frame object))))
(defmethod redisplay-frame-panes :around ((frame esa-frame-mixin) &key force-p)