C++ member variable access --> to head
Sat Apr 3 21:12:53 CEST 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* KDE is split up in kde.ui and kde.core.
Sat Apr 3 21:12:32 CEST 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* C++ member variable access
diff -rN -u old-doc/introduction.xml new-doc/introduction.xml
--- old-doc/introduction.xml 2014-10-30 07:10:26.000000000 +0100
+++ new-doc/introduction.xml 2014-10-30 07:10:26.000000000 +0100
@@ -103,6 +103,11 @@
darcs get "http://tobias.rautenkranz.ch/lisp/cl-smoke/$r"
done
</programlisting>
+ <note>
+ <para>
+ There are also the following repositories: qt.svg qt.dbus kde.core kde.ui kde.tests kde.examples
+ </para>
+ </note>
</para>
<para>
Build and install the <package>:smoke</package> and <package>:qt.core</package> C wrapper libraries with:
diff -rN -u old-doc/kde.xml new-doc/kde.xml
--- old-doc/kde.xml 2014-10-30 07:10:26.000000000 +0100
+++ new-doc/kde.xml 2014-10-30 07:10:26.000000000 +0100
@@ -3,14 +3,12 @@
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<chapter id="kde">
<title>KDE</title>
-<caution>
<para>
- The KDE bindings are not yet split up in <package>kde.core</package>
- etc. and thus are currently not functional.
+To use the KDE libraries use the <package>:cl-smoke.kde.ui</package>
+(Depends on <package>:cl-smoke.kde.core</package>).
</para>
-</caution>
<para>
-Besides the <package>:kde</package> package there
+Besides these packages there
is <package>:kde.tests</package> for the unit tests and
<package>:kde.examples</package> containing the examples.
</para>
@@ -19,7 +17,7 @@
<para>
The examples can be run with:
<programlisting language="lisp">
-(mb:load <package>:kde.examples</package>)
+(asdf:oos 'asdf:load-op <package>:cl-smoke.kde.examples</package>)
</programlisting>
And then running the function of the example; e.g.:
<programlisting language="lisp">
diff -rN -u old-doc/qt.xml new-doc/qt.xml
--- old-doc/qt.xml 2014-10-30 07:10:26.000000000 +0100
+++ new-doc/qt.xml 2014-10-30 07:10:26.000000000 +0100
@@ -61,6 +61,11 @@
a <classname>qt:application</classname> instance exists. When there are, for example, <classname>qt:widget</classname> instances
at the end of <macro>qt:with-app</macro>, they are deleted by the <classname>qt:application</classname> destructor.
</para>
+<para>
+Custom <methodname>cxx:paint-event</methodname> methods can use <macro>qt:with-painter</macro>
+to ensure that the <classname>qt:painter</classname> is deactivated at the end of the method.
+</para>
+
<section><title>Interactive Development</title>
<para>
The <package>:cl-smoke.repl</package> allows you to start a <classname>qt:application</classname> event loop in the background for
diff -rN -u old-doc/smoke.xml new-doc/smoke.xml
--- old-doc/smoke.xml 2014-10-30 07:10:26.000000000 +0100
+++ new-doc/smoke.xml 2014-10-30 07:10:26.000000000 +0100
@@ -212,6 +212,20 @@
</para>
</section>
+<section id="members"><title>Member variables</title>
+<para>
+C++ member variables of an instance can be accessed by using <code>slot-value</code>; e.g.:
+<informalexample>
+<programlisting language="lisp">(slot-value (make-instance 'qt:object) :static-meta-object)</programlisting>
+</informalexample>
+or
+<informalexample>
+<programlisting language="lisp">(slot-value (find-class 'qt:object) :static-meta-object)</programlisting>
+</informalexample>
+Usually they can also be accessed using methods from the <package>:cxx</package> package.
+</para>
+</section>
+
<section id="gc"><title>Garbage Collection</title>
<para>
You should be able to use C++ Class instances like normal Lisp object.