repos
/
qt.gui
/ annotate_shade
summary
|
shortlog
|
log
|
tree
|
commit
|
commitdiff
|
headdiff
|
annotate
|
filehistory
normal
|
plain
|
shade
|
zebra
Support ownership transfer to non smoke wrapped QObjects & cleanup C++ to Lisp translation.
Annotate for file src/msg-handler.lisp
2010-01-10 tobias
1
(in-package :cl-smoke.qt-impl)
08:52:49 '
2
2009-09-09 tobias
3
(cffi:defcenum qt-msg-type
13:18:08 '
4
(:debug-message)
'
5
(:warning-message)
'
6
(:critical-message)
'
7
(:fatal-message))
2010-01-10 tobias
8
2009-08-02 tobias
9
;; QtMsgHandler is a typedef for a pointer.
11:15:21 '
10
(define-pointer-typedef "QtMsgHandler" foreign-pointer)
'
11
2010-01-10 tobias
12
(defcallback qt-msg-handler :void
08:52:49 '
13
((type qt-msg-type)
'
14
(message :string))
'
15
(ecase type
2009-09-09 tobias
16
(:debug-message
13:18:08 '
17
(write-string "qDebug: " *debug-io*)
'
18
(write-line message *debug-io*))
'
19
(:warning-message (warn message))
'
20
(:critical-message (cerror "Ignore" "~A" message))
'
21
(:fatal-message (error message))))
'
22
'
23
(defun register-msg-handler ()
'
24
(with-foreign-object (handler :pointer)
'
25
(setf (mem-ref handler :pointer) (callback qt-msg-handler))
'
26
(qt:q-install-msg-handler handler)))
2010-01-10 tobias
27
2009-12-13 tobias
28
(eval-when (:load-toplevel)
2009-09-09 tobias
29
(register-msg-handler))