License
Annotate for file src/qt.lisp
2009-04-14 tobias 1 ;;; Copyright (C) 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
14:25:46 ' 2 ;;;
' 3 ;;; This program is free software: you can redistribute it and/or modify
' 4 ;;; it under the terms of the GNU General Public License as published by
' 5 ;;; the Free Software Foundation, either version 3 of the License, or
' 6 ;;; (at your option) any later version.
' 7 ;;;
' 8 ;;; This program is distributed in the hope that it will be useful,
' 9 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
' 10 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
' 11 ;;; GNU General Public License for more details.
' 12 ;;;
' 13 ;;; You should have received a copy of the GNU General Public License
' 14 ;;; along with this program. If not, see <http://www.gnu.org/licenses/>.
' 15 ;;;
' 16 ;;; As a special exception, the copyright holders of this library give you
' 17 ;;; permission to link this library with independent modules to produce an
' 18 ;;; executable, regardless of the license terms of these independent
' 19 ;;; modules, and to copy and distribute the resulting executable under
' 20 ;;; terms of your choice, provided that you also meet, for each linked
' 21 ;;; independent module, the terms and conditions of the license of that
' 22 ;;; module. An independent module is a module which is not derived from or
' 23 ;;; based on this library. If you modify this library, you may extend this
' 24 ;;; exception to your version of the library, but you are not obligated to
' 25 ;;; do so. If you do not wish to do so, delete this exception statement
' 26 ;;; from your version.
' 27
2009-06-11 tobias 28 (in-package :qt)
2009-04-05 tobias 29
2009-05-14 tobias 30 (eval-when (:load-toplevel :compile-toplevel :execute)
12:11:11 ' 31 (define-foreign-library libsmokeqt
' 32 (:unix "libsmokeqt.so.2")
' 33 (t (:default "libsmokeqt")))
' 34
' 35 (use-foreign-library libsmokeqt)
' 36
' 37 (use-foreign-library libqt-smoke-extra)
' 38
2009-05-12 tobias 39 (defcvar "qt_Smoke" :pointer
2009-05-14 tobias 40 "The Smoke Qt binding")
12:11:11 ' 41
' 42 (defcfun (init-qt-smoke "_Z13init_qt_Smokev") :void)
' 43
' 44 (defvar *qt-binding* (null-pointer))
' 45
' 46 (init-qt-smoke))
' 47
' 48 (eval-when (:load-toplevel :compile-toplevel)
' 49 (when (null-pointer-p *qt-binding*)
' 50 (setf *qt-binding* (init *qt-smoke*))))
2009-05-11 tobias 51 ;(make-smoke-classes *qt-smoke*))
2009-05-14 tobias 52
12:11:11 ' 53 (define-methods *qt-smoke*)
2010-01-10 tobias 54
2009-04-05 tobias 55
2009-05-24 tobias 56 (defun new (class-name method-name &rest args)
2009-05-14 tobias 57 (apply #'new-object *qt-binding* class-name method-name args))
2009-05-24 tobias 58
2009-05-24 tobias 59 (defun static-call (class-name method-name &rest args)
14:40:11 ' 60 (apply #'smoke::static-call *qt-smoke* class-name method-name args))
' 61