aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/events/event-handler.lisp
diff options
context:
space:
mode:
authorcolin <colin@cicadas.surf>2024-12-14 08:36:23 -0800
committercolin <colin@cicadas.surf>2024-12-14 08:36:23 -0800
commit3a2217263d581be9a7f629b10d75aa8e3d581890 (patch)
tree23f5f0a5449a06473aba2ec7914a3c2193823a10 /src/events/event-handler.lisp
parent03cdbb6a15e130a012377ab8d54074b6864e3480 (diff)
parent8a51ba81c7df6b0b6dab7cf4b35b5ca084b653ba (diff)
Merge branch 'refactor-with-def'
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