Doc: Updated outdated docs to use new macro
authorChristian Stenger <christian.stenger@digia.com>
Thu, 6 Dec 2012 15:40:55 +0000 (16:40 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 10 Dec 2012 08:44:19 +0000 (09:44 +0100)
Change-Id: I9a3528112fba1db988592d9f4f470ec678e81e1a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
examples/widgets/doc/src/plugandpaint.qdoc
examples/widgets/tools/plugandpaintplugins/basictools/basictoolsplugin.h

index 88433a5..86fc202 100644 (file)
     \snippet tools/plugandpaint/main.cpp 0
 
     The argument to Q_IMPORT_PLUGIN() is the plugin's name, as
-    specified with Q_EXPORT_PLUGIN2() in the \l{Exporting the
+    specified with Q_PLUGIN_METADATA() in the \l{Exporting the
     Plugin}{plugin}.
 
     In the \c .pro file, we need to specify the static library.
     \list 1
     \li Declare a plugin class.
     \li Implement the interfaces provided by the plugin.
-    \li Export the plugin using the Q_EXPORT_PLUGIN2() macro.
+    \li Export the plugin using the Q_PLUGIN_METADATA() macro.
     \li Build the plugin using an adequate \c .pro file.
     \endlist
 
     interfaces. Without the \c Q_INTERFACES() macro, we couldn't use
     \l qobject_cast() in the \l{plugandpaint}{Plug & Paint}
     application to detect interfaces.
+    For an explanation for the \c Q_PLUGIN_METADATA() macro see
+    \l {Exporting the Plugin}.
 
     \snippet tools/plugandpaintplugins/basictools/basictoolsplugin.h 2
 
 
     \section1 Exporting the Plugin
 
-    Whereas applications have a \c main() function as their entry
-    point, plugins need to contain exactly one occurrence of the
-    Q_EXPORT_PLUGIN2() macro to specify which class provides the
-    plugin:
+    To finally export your plugin you just have to add the
+    \c Q_PLUGIN_METADATA() macro right next to the \c Q_OBJECT() macro
+    into the header file of the plugin.
+    It must contain the plugins IID and optionally a filename pointing
+    to a json file containing the metadata for the plugin.
+
+    \snippet tools/plugandpaintplugins/basictools/basictoolsplugin.h 4
 
-    \snippet tools/plugandpaintplugins/basictools/basictoolsplugin.cpp 9
+    Within this example the json file does not need to export any metadata,
+    so it just contains an empty json object.
 
-    This line may appear in any \c .cpp file that is part of the
-    plugin's source code.
+    \code
+    {}
+    \endcode
 
     \section1 The .pro File
 
index b515980..3da7525 100644 (file)
@@ -58,7 +58,9 @@ class BasicToolsPlugin : public QObject,
                          public FilterInterface
 {
     Q_OBJECT
+//! [4]
     Q_PLUGIN_METADATA(IID "org.qt-project.Qt.Examples.PlugAndPaint.BrushInterface" FILE "basictools.json")
+//! [4]
     Q_INTERFACES(BrushInterface ShapeInterface FilterInterface)
 //! [0]