[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
basic view-key-event-handler confusion
- To: info-mcl
- Subject: basic view-key-event-handler confusion
- From: mcdougal@cs.uchicago.edu (Tom McDougal)
- Date: 17 Nov 92 21:52:12 GMT
- Newsgroups: comp.lang.lisp.mcl
- Organization: Univ. of Chicago Computer Science
- Sender: news@uchinews.uchicago.edu (News System)
Please help.
There is something *very basic* that I don't understand about
view-key-event-handlers, despite having read and re-read
the docs and sample code a hundred times. Here is a simple
example that fails to handle key events -- all keystrokes go
to the listener:
(defclass simple-key-handling-view (dialog-item)
()
)
;;; When you get a keystroke, draw that character.
;;; ***BUT NOTHING HAPPENS
(defmethod view-key-event-handler ((item simple-key-handling-view)
char)
"Just print the character in the view."
(when (integerp char) (setq char (code-char char))) ; (why?)
(move-to item 20 20)
(format item "~c" char))
(setq *w* (make-instance 'window))
(setq *v* (make-instance 'simple-key-handling-view
:view-position #@(4 4)
:view-size #@(200 200)))
(add-subviews *w* *v*)
;;; (key-handler-p *v*) --> NIL
Please don't tell me to use an instance of some text dialog
item; I want to do something very special with the keystrokes,
and anyway there must be a simpler way...
Many, many thanks for your kind attention.
----------------------------------------------------------------------
-Tom McDougal mcdougal@cs.uchicago.edu (312) 702-0024
Dept. of Computer Science, University of Chicago