Your functions only need a small modification. The internally used
QT-OBJECTs can be compared with QEQL, so this will work:
(defun enter-event (obj event)
(format t "enter-event: ~a, ~a~%" obj (find obj *labels* :test 'qeql))
t)
(defun leave-event (obj event)
(format t "leave-event: ~a, ~a~%" obj (find obj *labels* :test 'qeql))
t)
Subclassing is not directly supported, but QOVERRIDE and encapsulation
(see example "X-extras/CLOS-encapsulation") should be sufficient anyway.
Paul