[gsharp-cvs] CVS update: gsharp/esa.lisp
Christophe Rhodes
crhodes at common-lisp.net
Tue Nov 1 09:50:17 UTC 2005
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)
More information about the Gsharp-cvs
mailing list