(in-package :cl-smoke.qt.core) (defclass funcallable-smoke-class (closer-mop:funcallable-standard-class cxx:class) ()) (defmethod closer-mop:validate-superclass ((class funcallable-smoke-class) (superclass closer-mop:funcallable-standard-class)) t) (defgeneric id (method)) (defun munged-name-p (name) "Returns true when NAME is a METHOD, SLOT or SIGNAL." (and (> (length name) 0) (case (aref name 0) ((#\0 #\1 #\2) t) (t nil)))) (defun qt:qmethod (name) "Equivalent of the METHOD(a) CPP macro." (assert (not (munged-name-p name))) (format nil "0~A" name)) (defun qt:qslot (name) "Equivalent of the SLOT(a) CPP macro." (assert (not (munged-name-p name))) (format nil "1~A" name)) (defun qt:qsignal (name) "Equivalent of the SIGNAL(a) CPP macro." (assert (not (munged-name-p name))) (format nil "2~A" name))