summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets/code/src_activeqt_control_qaxfactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/snippets/code/src_activeqt_control_qaxfactory.cpp')
-rw-r--r--doc/src/snippets/code/src_activeqt_control_qaxfactory.cpp155
1 files changed, 155 insertions, 0 deletions
diff --git a/doc/src/snippets/code/src_activeqt_control_qaxfactory.cpp b/doc/src/snippets/code/src_activeqt_control_qaxfactory.cpp
new file mode 100644
index 0000000..6eca434
--- /dev/null
+++ b/doc/src/snippets/code/src_activeqt_control_qaxfactory.cpp
@@ -0,0 +1,155 @@
+//! [0]
+QStringList ActiveQtFactory::featureList() const
+{
+ QStringList list;
+ list << "ActiveX1";
+ list << "ActiveX2";
+ return list;
+}
+
+QObject *ActiveQtFactory::createObject(const QString &key)
+{
+ if (key == "ActiveX1")
+ return new ActiveX1(parent);
+ if (key == "ActiveX2")
+ return new ActiveX2(parent);
+ return 0;
+}
+
+const QMetaObject *ActiveQtFactory::metaObject(const QString &key) const
+{
+ if (key == "ActiveX1")
+ return &ActiveX1::staticMetaObject;
+ if (key == "ActiveX2")
+ return &ActiveX2::staticMetaObject;
+}
+
+QUuid ActiveQtFactory::classID(const QString &key) const
+{
+ if (key == "ActiveX1")
+ return "{01234567-89AB-CDEF-0123-456789ABCDEF}";
+ ...
+ return QUuid();
+}
+
+QUuid ActiveQtFactory::interfaceID(const QString &key) const
+{
+ if (key == "ActiveX1")
+ return "{01234567-89AB-CDEF-0123-456789ABCDEF}";
+ ...
+ return QUuid();
+}
+
+QUuid ActiveQtFactory::eventsID(const QString &key) const
+{
+ if (key == "ActiveX1")
+ return "{01234567-89AB-CDEF-0123-456789ABCDEF}";
+ ...
+ return QUuid();
+}
+
+QAXFACTORY_EXPORT(
+ ActiveQtFactory, // factory class
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // type library ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}" // application ID
+)
+//! [0]
+
+
+//! [1]
+QAXFACTORY_BEGIN(
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // type library ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}" // application ID
+)
+ QAXCLASS(Class1)
+ QAXCLASS(Class2)
+QAXFACTORY_END()
+//! [1]
+
+
+//! [2]
+#include <qapplication.h>
+#include <qaxfactory.h>
+
+#include "theactivex.h"
+
+QAXFACTORY_DEFAULT(
+ TheActiveX, // widget class
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // class ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // interface ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // event interface ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // type library ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}" // application ID
+)
+//! [2]
+
+
+//! [3]
+settings->setValue("/CLSID/" + classID(key)
+ + "/Implemented Categories/"
+ + "/{00000000-0000-0000-000000000000}/.",
+ QString());
+//! [3]
+
+
+//! [4]
+settings->remove("/CLSID/" + classID(key)
+ + "/Implemented Categories"
+ + "/{00000000-0000-0000-000000000000}/.");
+//! [4]
+
+
+//! [5]
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+ if (!QAxFactory::isServer()) {
+ // initialize for stand-alone execution
+ }
+ return app.exec();
+}
+//! [5]
+
+
+//! [6]
+if (QAxFactory::isServer()) {
+ QAxFactory::stopServer();
+ QAxFactory::startServer(QAxFactory::SingleInstance);
+}
+//! [6]
+
+
+//! [7]
+#include <qaxfactory.h>
+
+#include "theactivex.h"
+
+QAXFACTORY_DEFAULT(
+ TheActiveX, // widget class
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // class ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // interface ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // event interface ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // type library ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}" // application ID
+)
+//! [7]
+
+
+//! [8]
+QAXFACTORY_EXPORT(
+ MyFactory, // factory class
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // type library ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}" // application ID
+)
+//! [8]
+
+
+//! [9]
+QAXFACTORY_BEGIN(
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // type library ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}" // application ID
+)
+ QAXCLASS(Class1)
+ QAXCLASS(Class2)
+QAXFACTORY_END()
+//! [9]