From 4e201cdec5a170918668607e4640e20bb87b4819 Mon Sep 17 00:00:00 2001
From: David Botton
Date: Thu, 7 Jan 2021 17:55:31 -0500
Subject: [PATCH] Improve events
---
clog-base.lisp | 249 ++++++++++++++++++++++---------------------
clog-window.lisp | 64 ++++++-----
doc/clog-manual.html | 24 +----
3 files changed, 160 insertions(+), 177 deletions(-)
diff --git a/clog-base.lisp b/clog-base.lisp
index d863004..005fa8d 100644
--- a/clog-base.lisp
+++ b/clog-base.lisp
@@ -316,6 +316,7 @@ are stored in this string based hash in the format of:
(setf (gethash item-name (connection-data obj)) value))
(defsetf connection-data-item set-connection-data-item)
+
;;;;;;;;;;;;;;;;;;;
;; set-on-resize ;;
;;;;;;;;;;;;;;;;;;;
@@ -339,12 +340,12 @@ is nil unbind the event."))
(:documentation "Set the ON-FOCUS-HANDLER for CLOG-OBJ. If ON-FOCUS-HANDLER
is nil unbind the event."))
-(defmethod set-on-focus ((obj clog-obj) on-focus-handler)
- (let ((on-focus on-focus-handler))
- (set-event obj "focus"
+(defmethod set-on-focus ((obj clog-obj) handler)
+ (set-event obj "focus"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-focus obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;
;; set-on-blur ;;
@@ -354,12 +355,12 @@ is nil unbind the event."))
(:documentation "Set the ON-BLUR-HANDLER for CLOG-OBJ. If ON-BLUR-HANDLER
is nil unbind the event."))
-(defmethod set-on-blur ((obj clog-obj) on-blur-handler)
- (let ((on-blur on-blur-handler))
- (set-event obj "blur"
+(defmethod set-on-blur ((obj clog-obj) handler)
+ (set-event obj "blur"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-blur obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;
;; set-on-change ;;
@@ -369,12 +370,12 @@ is nil unbind the event."))
(:documentation "Set the ON-CHANGE-HANDLER for CLOG-OBJ. If ON-CHANGE-HANDLER
is nil unbind the event."))
-(defmethod set-on-change ((obj clog-obj) on-change-handler)
- (let ((on-change on-change-handler))
- (set-event obj "change"
+(defmethod set-on-change ((obj clog-obj) handler)
+ (set-event obj "change"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-change obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;;;
;; set-on-focus-in ;;
@@ -384,12 +385,12 @@ is nil unbind the event."))
(:documentation "Set the ON-FOCUS-IN-HANDLER for CLOG-OBJ. If
ON-FOCUS-IN-HANDLER is nil unbind the event."))
-(defmethod set-on-focus-in ((obj clog-obj) on-focus-in-handler)
- (let ((on-focus-in on-focus-in-handler))
- (set-event obj "focusin"
+(defmethod set-on-focus-in ((obj clog-obj) handler)
+ (set-event obj "focusin"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-focus-in obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;;;;
;; set-on-focus-out ;;
@@ -399,12 +400,12 @@ ON-FOCUS-IN-HANDLER is nil unbind the event."))
(:documentation "Set the ON-FOCUS-OUT-HANDLER for CLOG-OBJ.
If ON-FOCUS-OUT-HANDLER is nil unbind the event."))
-(defmethod set-on-focus-out ((obj clog-obj) on-focus-out-handler)
- (let ((on-focus-out on-focus-out-handler))
- (set-event obj "focusout"
+(defmethod set-on-focus-out ((obj clog-obj) handler)
+ (set-event obj "focusout"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-focus-out obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;
;; set-on-reset ;;
@@ -415,12 +416,12 @@ If ON-FOCUS-OUT-HANDLER is nil unbind the event."))
is nil unbind the event. This event is activated by using reset on a form. If
this even is bound, you must call the form reset manually."))
-(defmethod set-on-reset ((obj clog-obj) on-reset-handler)
- (let ((on-reset on-reset-handler))
- (set-event obj "reset"
+(defmethod set-on-reset ((obj clog-obj) handler)
+ (set-event obj "reset"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-reset obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;
;; set-on-search ;;
@@ -430,12 +431,12 @@ this even is bound, you must call the form reset manually."))
(:documentation "Set the ON-SEARCH-HANDLER for CLOG-OBJ. If ON-SEARCH-HANDLER
is nil unbind the event."))
-(defmethod set-on-search ((obj clog-obj) on-search-handler)
- (let ((on-search on-search-handler))
- (set-event obj "search"
+(defmethod set-on-search ((obj clog-obj) handler)
+ (set-event obj "search"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-search obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;
;; set-on-select ;;
@@ -446,12 +447,12 @@ is nil unbind the event."))
is nil unbind the event. This event is activated by using submit on a form. If
this even is bound, you must call the form submit manually."))
-(defmethod set-on-select ((obj clog-obj) on-select-handler)
- (let ((on-select on-select-handler))
- (set-event obj "select"
+(defmethod set-on-select ((obj clog-obj) handler)
+ (set-event obj "select"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-select obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;
;; set-on-submit ;;
@@ -461,12 +462,12 @@ this even is bound, you must call the form submit manually."))
(:documentation "Set the ON-SUBMIT-HANDLER for CLOG-OBJ. If ON-SUBMIT-HANDLER
is nil unbind the event."))
-(defmethod set-on-submit ((obj clog-obj) on-submit-handler)
- (let ((on-submit on-submit-handler))
- (set-event obj "submit"
+(defmethod set-on-submit ((obj clog-obj) handler)
+ (set-event obj "submit"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-submit obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;;;;;;;
;; set-on-context-menu ;;
@@ -477,12 +478,12 @@ is nil unbind the event."))
ON-CONTEXT-MENU-HANDLER is nil unbind the event. Setting
on-mouse-right-click will replace this handler."))
-(defmethod set-on-context-menu ((obj clog-obj) on-context-menu-handler)
- (let ((on-context-menu on-context-menu-handler))
- (set-event obj "contextmenu"
+(defmethod set-on-context-menu ((obj clog-obj) handler)
+ (set-event obj "contextmenu"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-context-menu obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;
;; set-on-click ;;
@@ -509,12 +510,12 @@ set."))
ON-DOUBLE-CLICK-HANDLER is nil unbind the event. Setting the
on-mouse-double-click event will replace this handler."))
-(defmethod set-on-double-click ((obj clog-obj) on-double-click-handler)
- (let ((on-double-click on-double-click-handler))
- (set-event obj "dblclick"
+(defmethod set-on-double-click ((obj clog-obj) handler)
+ (set-event obj "dblclick"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-double-click obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;;;;;;
;; set-on-mouse-click ;;
@@ -525,12 +526,12 @@ on-mouse-double-click event will replace this handler."))
ON-MOUSE-CLICK-HANDLER is nil unbind the event. Setting this event will replace
on an on-click event."))
-(defmethod set-on-mouse-click ((obj clog-obj) on-mouse-click-handler)
- (let ((on-mouse-click on-mouse-click-handler))
- (set-event obj "click"
+(defmethod set-on-mouse-click ((obj clog-obj) handler)
+ (set-event obj "click"
+ (when handler
(lambda (data)
- (funcall on-mouse-click obj (parse-mouse-event data)))
- :call-back-script mouse-event-script)))
+ (funcall handler obj (parse-mouse-event data))))
+ :call-back-script mouse-event-script))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; set-on-mouse-double-click ;;
@@ -541,12 +542,12 @@ on an on-click event."))
ON-MOUSE-DOUBLE-CLICK-HANDLER is nil unbind the event. Setting this event will
replace on an on-double-click event."))
-(defmethod set-on-mouse-double-click ((obj clog-obj) on-mouse-double-click-handler)
- (let ((on-mouse-double-click on-mouse-double-click-handler))
- (set-event obj "dblclick"
+(defmethod set-on-mouse-double-click ((obj clog-obj) handler)
+ (set-event obj "dblclick"
+ (when handler
(lambda (data)
- (funcall on-mouse-double-click obj (parse-mouse-event data)))
- :call-back-script mouse-event-script)))
+ (funcall handler obj (parse-mouse-event data))))
+ :call-back-script mouse-event-script))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; set-on-mouse-right-click ;;
@@ -557,12 +558,12 @@ replace on an on-double-click event."))
ON-MOUSE-RIGHT-CLICK-HANDLER is nil unbind the event. Setting this event will
replace on an on-context-menu event."))
-(defmethod set-on-mouse-right-click ((obj clog-obj) on-mouse-right-click-handler)
- (let ((on-mouse-right-click on-mouse-right-click-handler))
- (set-event obj "contextmenu"
+(defmethod set-on-mouse-right-click ((obj clog-obj) handler)
+ (set-event obj "contextmenu"
+ (when handler
(lambda (data)
- (funcall on-mouse-right-click obj (parse-mouse-event data)))
- :call-back-script mouse-event-script)))
+ (funcall handler obj (parse-mouse-event data))))
+ :call-back-script mouse-event-script))
;;;;;;;;;;;;;;;;;;;;;;;;
;; set-on-mouse-enter ;;
@@ -572,12 +573,12 @@ replace on an on-context-menu event."))
(:documentation "Set the ON-MOUSE-ENTER-HANDLER for CLOG-OBJ. If ON-MOUSE-ENTER-HANDLER
is nil unbind the event."))
-(defmethod set-on-mouse-enter ((obj clog-obj) on-mouse-enter-handler)
- (let ((on-mouse-enter on-mouse-enter-handler))
- (set-event obj "mouseenter"
+(defmethod set-on-mouse-enter ((obj clog-obj) handler)
+ (set-event obj "mouseenter"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-mouse-enter obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;;;;;;
;; set-on-mouse-leave ;;
@@ -587,12 +588,12 @@ is nil unbind the event."))
(:documentation "Set the ON-MOUSE-LEAVE-HANDLER for CLOG-OBJ. If ON-MOUSE-LEAVE-HANDLER
is nil unbind the event."))
-(defmethod set-on-mouse-leave ((obj clog-obj) on-mouse-leave-handler)
- (let ((on-mouse-leave on-mouse-leave-handler))
- (set-event obj "mouseleave"
+(defmethod set-on-mouse-leave ((obj clog-obj) handler)
+ (set-event obj "mouseleave"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-mouse-leave obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;;;;;
;; set-on-mouse-over ;;
@@ -602,12 +603,12 @@ is nil unbind the event."))
(:documentation "Set the ON-MOUSE-OVER-HANDLER for CLOG-OBJ. If ON-MOUSE-OVER-HANDLER
is nil unbind the event."))
-(defmethod set-on-mouse-over ((obj clog-obj) on-mouse-over-handler)
- (let ((on-mouse-over on-mouse-over-handler))
- (set-event obj "mouseover"
+(defmethod set-on-mouse-over ((obj clog-obj) handler)
+ (set-event obj "mouseover"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-mouse-over obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;;;;
;; set-on-mouse-out ;;
@@ -617,12 +618,12 @@ is nil unbind the event."))
(:documentation "Set the ON-MOUSE-OUT-HANDLER for CLOG-OBJ. If ON-MOUSE-OUT-HANDLER
is nil unbind the event."))
-(defmethod set-on-mouse-out ((obj clog-obj) on-mouse-out-handler)
- (let ((on-mouse-out on-mouse-out-handler))
- (set-event obj "mouseout"
+(defmethod set-on-mouse-out ((obj clog-obj) handler)
+ (set-event obj "mouseout"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-mouse-out obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;;;;;
;; set-on-mouse-down ;;
@@ -632,12 +633,12 @@ is nil unbind the event."))
(:documentation "Set the ON-MOUSE-DOWN-HANDLER for CLOG-OBJ. If
ON-MOUSE-DOWN-HANDLER is nil unbind the event."))
-(defmethod set-on-mouse-down ((obj clog-obj) on-mouse-down-handler)
- (let ((on-mouse-down on-mouse-down-handler))
- (set-event obj "mousedown"
+(defmethod set-on-mouse-down ((obj clog-obj) handler)
+ (set-event obj "mousedown"
+ (when handler
(lambda (data)
- (funcall on-mouse-down obj (parse-mouse-event data)))
- :call-back-script mouse-event-script)))
+ (funcall handler obj (parse-mouse-event data))))
+ :call-back-script mouse-event-script))
;;;;;;;;;;;;;;;;;;;;;
;; set-on-mouse-up ;;
@@ -647,12 +648,12 @@ ON-MOUSE-DOWN-HANDLER is nil unbind the event."))
(:documentation "Set the ON-MOUSE-UP-HANDLER for CLOG-OBJ. If
ON-MOUSE-UP-HANDLER is nil unbind the event."))
-(defmethod set-on-mouse-up ((obj clog-obj) on-mouse-up-handler)
- (let ((on-mouse-up on-mouse-up-handler))
- (set-event obj "mouseup"
+(defmethod set-on-mouse-up ((obj clog-obj) handler)
+ (set-event obj "mouseup"
+ (when handler
(lambda (data)
- (funcall on-mouse-up obj (parse-mouse-event data)))
- :call-back-script mouse-event-script)))
+ (funcall handler obj (parse-mouse-event data))))
+ :call-back-script mouse-event-script))
;;;;;;;;;;;;;;;;;;;;;;;
;; set-on-mouse-move ;;
@@ -662,12 +663,12 @@ ON-MOUSE-UP-HANDLER is nil unbind the event."))
(:documentation "Set the ON-MOUSE-MOVE-HANDLER for CLOG-OBJ. If
ON-MOUSE-MOVE-HANDLER is nil unbind the event."))
-(defmethod set-on-mouse-move ((obj clog-obj) on-mouse-move-handler)
- (let ((on-mouse-move on-mouse-move-handler))
- (set-event obj "mousemove"
+(defmethod set-on-mouse-move ((obj clog-obj) handler)
+ (set-event obj "mousemove"
+ (when handler
(lambda (data)
- (funcall on-mouse-move obj (parse-mouse-event data)))
- :call-back-script mouse-event-script)))
+ (funcall handler obj (parse-mouse-event data))))
+ :call-back-script mouse-event-script))
;;;;;;;;;;;;;;;;;;;;;;
;; set-on-character ;;
@@ -678,13 +679,13 @@ ON-MOUSE-MOVE-HANDLER is nil unbind the event."))
ON-CHARACTER-HANDLER is nil unbind the event. Setting this event
will replace a on-key-press"))
-(defmethod set-on-character ((obj clog-obj) on-character-handler)
- (let ((on-character on-character-handler))
- (set-event obj "keypress"
+(defmethod set-on-character ((obj clog-obj) handler)
+ (set-event obj "keypress"
+ (when handler
(lambda (data)
- (let ((f (parse-keyboard-event data)))
- (funcall on-character obj (code-char (getf f ':char-code)))))
- :call-back-script keyboard-event-script)))
+ (let ((f (parse-keyboard-event data)))
+ (funcall handler obj (code-char (getf f ':char-code))))))
+ :call-back-script keyboard-event-script))
;;;;;;;;;;;;;;;;;;;;;
;; set-on-key-down ;;
@@ -694,12 +695,12 @@ will replace a on-key-press"))
(:documentation "Set the ON-KEY-DOWN-HANDLER for CLOG-OBJ. If
ON-KEY-DOWN-HANDLER is nil unbind the event."))
-(defmethod set-on-key-down ((obj clog-obj) on-key-down-handler)
- (let ((on-key-down on-key-down-handler))
- (set-event obj "keydown"
+(defmethod set-on-key-down ((obj clog-obj) handler)
+ (set-event obj "keydown"
+ (when handler
(lambda (data)
- (funcall on-key-down obj (parse-keyboard-event data)))
- :call-back-script keyboard-event-script)))
+ (funcall handler obj (parse-keyboard-event data))))
+ :call-back-script keyboard-event-script))
;;;;;;;;;;;;;;;;;;;
;; set-on-key-up ;;
@@ -709,12 +710,12 @@ ON-KEY-DOWN-HANDLER is nil unbind the event."))
(:documentation "Set the ON-KEY-UP-HANDLER for CLOG-OBJ. If
ON-KEY-UP-HANDLER is nil unbind the event."))
-(defmethod set-on-key-up ((obj clog-obj) on-key-up-handler)
- (let ((on-key-up on-key-up-handler))
- (set-event obj "keyup"
+(defmethod set-on-key-up ((obj clog-obj) handler)
+ (set-event obj "keyup"
+ (when handler
(lambda (data)
- (funcall on-key-up obj (parse-keyboard-event data)))
- :call-back-script keyboard-event-script)))
+ (funcall handler obj (parse-keyboard-event data))))
+ :call-back-script keyboard-event-script))
;;;;;;;;;;;;;;;;;;;;;;
;; set-on-key-press ;;
@@ -724,12 +725,12 @@ ON-KEY-UP-HANDLER is nil unbind the event."))
(:documentation "Set the ON-KEY-PRESS-HANDLER for CLOG-OBJ. If
ON-KEY-PRESS-HANDLER is nil unbind the event."))
-(defmethod set-on-key-press ((obj clog-obj) on-key-press-handler)
- (let ((on-key-press on-key-press-handler))
- (set-event obj "keypress"
+(defmethod set-on-key-press ((obj clog-obj) handler)
+ (set-event obj "keypress"
+ (when handler
(lambda (data)
- (funcall on-key-press obj (parse-keyboard-event data)))
- :call-back-script keyboard-event-script)))
+ (funcall handler obj (parse-keyboard-event data))))
+ :call-back-script keyboard-event-script))
;;;;;;;;;;;;;;;;;
;; set-on-copy ;;
@@ -739,12 +740,12 @@ ON-KEY-PRESS-HANDLER is nil unbind the event."))
(:documentation "Set the ON-COPY-HANDLER for CLOG-OBJ. If ON-COPY-HANDLER
is nil unbind the event."))
-(defmethod set-on-copy ((obj clog-obj) on-copy-handler)
- (let ((on-copy on-copy-handler))
- (set-event obj "copy"
+(defmethod set-on-copy ((obj clog-obj) handler)
+ (set-event obj "copy"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-copy obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;
;; set-on-cut ;;
@@ -754,24 +755,24 @@ is nil unbind the event."))
(:documentation "Set the ON-CUT-HANDLER for CLOG-OBJ. If ON-CUT-HANDLER
is nil unbind the event."))
-(defmethod set-on-cut ((obj clog-obj) on-cut-handler)
- (let ((on-cut on-cut-handler))
- (set-event obj "cut"
+(defmethod set-on-cut ((obj clog-obj) handler)
+ (set-event obj "cut"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-cut obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;
;; set-on-paste ;;
;;;;;;;;;;;;;;;;;;
-(defgeneric set-on-paste (clog-obj on-paste-handler)
+(defgeneric set-on-paste (clog-obj handler)
(:documentation "Set the ON-PASTE-HANDLER for CLOG-OBJ. If ON-PASTE-HANDLER
is nil unbind the event."))
-(defmethod set-on-paste ((obj clog-obj) on-paste-handler)
- (let ((on-paste on-paste-handler))
- (set-event obj "paste"
+(defmethod set-on-paste ((obj clog-obj) handler)
+ (set-event obj "paste"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-paste obj)))))
+ (funcall handler obj)))))
diff --git a/clog-window.lisp b/clog-window.lisp
index 233559e..3f085a9 100644
--- a/clog-window.lisp
+++ b/clog-window.lisp
@@ -389,67 +389,67 @@ events and messages may not be trasmitted on most browsers."))
(cc:cclose (connection-id obj)))
;;;;;;;;;;;;;;;;;;
-;; Set-on-abort ;;
+;; set-on-abort ;;
;;;;;;;;;;;;;;;;;;
(defgeneric set-on-abort (clog-window on-abort-handler)
(:documentation "Set the ON-ABORT-HANDLER for CLOG-OBJ. If ON-ABORT-HANDLER
is nil unbind the event."))
-(defmethod set-on-abort ((obj clog-window) on-abort-handler)
- (let ((on-abort on-abort-handler))
- (set-event obj "abort"
+(defmethod set-on-abort ((obj clog-window) handler)
+ (set-event obj "abort"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-abort obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;
-;; Set-on-error ;;
+;; set-on-error ;;
;;;;;;;;;;;;;;;;;;
(defgeneric set-on-error (clog-window on-error-handler)
(:documentation "Set the ON-ERROR-HANDLER for CLOG-OBJ. If ON-ERROR-HANDLER
is nil unbind the event."))
-(defmethod set-on-error ((obj clog-window) on-error-handler)
- (let ((on-error on-error-handler))
- (set-event obj "error"
+(defmethod set-on-error ((obj clog-window) handler)
+ (set-event obj "error"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-error obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Set-on-before-unload ;;
+;; set-on-before-unload ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;
(defgeneric set-on-before-unload (clog-window on-before-unload-handler)
(:documentation "Set the ON-BEFORE-UNLOAD-HANDLER for CLOG-OBJ. If
ON-BEFORE-UNLOAD-HANDLER is nil unbind the event."))
-(defmethod set-on-before-unload ((obj clog-window) on-before-unload-handler)
- (let ((on-before-unload on-before-unload-handler))
- (set-event obj "beforeunload"
+(defmethod set-on-before-unload ((obj clog-window) handler)
+ (set-event obj "beforeunload"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-before-unload obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;;;;;;
-;; Set-on-hash-change ;;
+;; set-on-hash-change ;;
;;;;;;;;;;;;;;;;;;;;;;;;
(defgeneric set-on-hash-change (clog-window on-hash-change-handler)
(:documentation "Set the ON-HASH-CHANGE-HANDLER for CLOG-OBJ. If
ON-HASH-CHANGE-HANDLER is nil unbind the event."))
-(defmethod set-on-hash-change ((obj clog-window) on-hash-change-handler)
- (let ((on-hash-change on-hash-change-handler))
- (set-event obj "hashchange"
+(defmethod set-on-hash-change ((obj clog-window) handler)
+ (set-event obj "hashchange"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-hash-change obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Set-on-orientation-change ;;
+;; set-on-orientation-change ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defgeneric set-on-orientation-change (clog-window
@@ -457,16 +457,15 @@ ON-HASH-CHANGE-HANDLER is nil unbind the event."))
(:documentation "Set the ON-ORIENTATION-CHANGE-HANDLER for CLOG-OBJ.
If ON-ORIENTATION-CHANGE-HANDLER is nil unbind the event."))
-(defmethod set-on-orientation-change ((obj clog-window)
- on-orientation-change-handler)
- (let ((on-orientation-change on-orientation-change-handler))
- (set-event obj "orientationchange"
+(defmethod set-on-orientation-change ((obj clog-window) handler)
+ (set-event obj "orientationchange"
+ (when handler
(lambda (data)
(declare (ignore data))
- (funcall on-orientation-change obj)))))
+ (funcall handler obj)))))
;;;;;;;;;;;;;;;;;;;;
-;; Set-on-storage ;;
+;; set-on-storage ;;
;;;;;;;;;;;;;;;;;;;;
;; need to change to use a true on-storage event
@@ -487,10 +486,9 @@ If ON-ORIENTATION-CHANGE-HANDLER is nil unbind the event."))
(:documentation "Set the ON-STORAGE-HANDLER for CLOG-OBJ. If
ON-STORAGE-HANDLER is nil unbind the event."))
-(defmethod set-on-storage ((obj clog-window) on-storage-handler)
- (let ((on-storage on-storage-handler))
- (set-event obj "storage"
+(defmethod set-on-storage ((obj clog-window) handler)
+ (set-event obj "storage"
+ (when handler
(lambda (data)
- (funcall on-storage obj (parse-storage-event data)))
- :call-back-script storage-event-script)))
-
+ (funcall handler obj (parse-storage-event data))))
+ :call-back-script storage-event-script))
diff --git a/doc/clog-manual.html b/doc/clog-manual.html
index 7c88f1b..8ce2581 100644
--- a/doc/clog-manual.html
+++ b/doc/clog-manual.html
@@ -78,7 +78,7 @@ application.
-[function] INITIALIZE ON-NEW-WINDOW-HANDLER &KEY (HOST "0.0.0.0") (PORT 8080) (BOOT-FILE "/boot.html") (STATIC-ROOT #P"./static-files/")
+[function] INITIALIZE ON-NEW-WINDOW-HANDLER &KEY (HOST "0.0.0.0") (PORT 8080) (BOOT-FILE "/boot.html") (STATIC-ROOT #P"static-files/")
Inititalze CLOG on a socket using HOST and PORT to serve BOOT-FILE as
the default route to establish web-socket connections and static files
@@ -517,9 +517,9 @@ is nil unbind the event.
-[generic-function] SET-ON-PASTE CLOG-OBJ ON-PASTE-HANDLER
+[generic-function] SET-ON-PASTE CLOG-OBJ HANDLER
-Set the ON-PASTE-HANDLER for CLOG-OBJ. If ON-PASTE-HANDLER
+
Set the ON-PASTE-HANDLER for CLOG-OBJ. If ON-PASTE-HANDLER
is nil unbind the event.
@@ -1039,22 +1039,6 @@ parent in the DOM.
parent in the DOM.
-
-
-
-
-
-
-
-
@@ -1953,7 +1937,7 @@ If ON-ORIENTATION-CHANGE-HANDLER is nil unbind the event.