use (setf instead of setter methods.
Annotate for file src/ui.lisp
2009-04-14 tobias 1 ;;; Copyright 2009 Tobias Rautenkranz
14:29:22 ' 2 ;;; License: X11 license
' 3
2009-04-05 tobias 4 (in-package :qt.examples)
15:36:46 ' 5
' 6 (defun load-ui-file ()
' 7 "Load a Qt Designer .ui file"
2009-07-01 tobias 8 (qt:with-app
2009-05-11 tobias 9 (let ((loader (make-instance 'qt.uitools:ui-loader))
18:30:39 ' 10 (file (make-instance 'qt:file))
' 11 (widget))
' 12 (setf (cxx:file-name file)
' 13 (concatenate 'string
' 14 (directory-namestring
' 15 (mb.sysdef:input-file
' 16 (mb.sysdef:find-component :qt.examples "src" "ui")))
' 17 "widget.ui"))
' 18 (assert (cxx:exists file) (file)
' 19 "File ~A does not exists" (cxx:file-name file))
' 20 (unless (cxx:open file qt:iodevice.+read-only+)
' 21 (error "open failed"))
' 22 (setf widget (cxx:load loader file))
' 23 (when (cffi:null-pointer-p (smoke:pointer widget))
' 24 (error "load failed"))
' 25 (cxx:close file)
' 26 (cxx:show widget)
' 27 (qt:exec))))