How do you wait for an interface?
Hi!
A (probably rather dumb) CAPI question:
This works:
(defpackage "TEST"
(:use "CL" "CAPI")
(:export "TEST"))
(in-package "TEST")
(define-interface test ()
((stream :initarg :stream :reader test-stream))
(:panes
(read-it push-button :text "Read Line"
:callback (lambda (data interface)
(declare (ignore data interface))
(display-message "Got ~A" (read-line stream nil nil))))))
(defun test (file-name)
(with-open-file (stream file-name)
(mp:process-wait "Waiting for interface."
(lambda (process)
(not (mp:process-alive-p process)))
(capi-internals:interface-process
(display (make-instance 'test :stream stream))))))
but it looks rather clumsy to me. I'd prefer to give a :process nil
argument to CAPI:DISPLAY, but how do make the current process process
events then?
Regards,
--
Nils Gösche
"Don't ask for whom the <CTRL-G> tolls."
PGP key ID 0x0655CFA0