aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/events/event-handler.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/events/event-handler.lisp')
-rw-r--r--src/events/event-handler.lisp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/events/event-handler.lisp b/src/events/event-handler.lisp
index e9a26cd..62d8f54 100644
--- a/src/events/event-handler.lisp
+++ b/src/events/event-handler.lisp
@@ -2,10 +2,15 @@
(in-package #:wheelwork)
-
-(defclass/std event-handler ()
- ((event-type handler-function tag :ri))
- (:metaclass closer-mop:funcallable-standard-class))
+;; TODO: make event-type a type
+(def:class event-handler ()
+ ((event-type "A symbol naming the sort of event this function handles")
+ :required :ro)
+ ((tag "A tag identifying this handler uniquely. Used to remove anonymous handlers")
+ :ro :type (or null string) :initform nil)
+ ((handler-function "The actual function this handler calls")
+ :required :ro :type function)
+ :metaclass closer-mop:funcallable-standard-class)
(defmethod initialize-instance :after ((eh event-handler) &key)
(with-slots (handler-function) eh