From bd0f3345a938b35ce6a12f6150373b0955b8dd12 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 10 Jul 2011 15:24:15 -0500 Subject: Add Qt3 development HEAD version --- doc/html/qaxobject.html | 205 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 doc/html/qaxobject.html (limited to 'doc/html/qaxobject.html') diff --git a/doc/html/qaxobject.html b/doc/html/qaxobject.html new file mode 100644 index 0000000..863ca57 --- /dev/null +++ b/doc/html/qaxobject.html @@ -0,0 +1,205 @@ + + + + + +QAxObject Class + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

QAxObject Class Reference
[QAxContainer module]

+ +

The QAxObject class provides a QObject that wraps a COM object. +More... +

This class is part of the Qt ActiveQt Extension. +

#include <qaxobject.h> +

Inherits QObject and QAxBase. +

Inherited by QAxScriptEngine. +

List of all member functions. +

Public Members

+ +

Important Inherited Members

+ +

Detailed Description

+

This class is defined in the Qt ActiveQt Extension, which can be found in the qt/extensions directory. It is not included in the main Qt API. +

+ +The QAxObject class provides a QObject that wraps a COM object. + +

+ +

A QAxObject can be instantiated as an empty object, with the name +of the COM object it should wrap, or with a pointer to the +IUnknown that represents an existing COM object. If the COM object +implements the IDispatch interface, the properties, methods and +events of that object become available as Qt properties, slots and +signals. The base class, QAxBase, provides an API to access the +COM object directly through the IUnknown pointer. +

QAxObject is a QObject and can be used as such, e.g. it can be +organized in an object hierarchy, receive events and connect to +signals and slots. +

Warning: +You can subclass QAxObject, but you cannot use the Q_OBJECT macro +in the subclass (the generated moc-file will not compile), so you +cannot add further signals, slots or properties. This limitation is +due to the metaobject information generated in runtime. +To work around this problem, aggregate the QAxObject as a member of +the QObject subclass. +

+


Member Function Documentation

+

QAxObject::QAxObject ( QObject * parent = 0, const char * name = 0 ) +

+Creates an empty COM object and propagates parent and name +to the QObject constructor. To initialize the object, call setControl. + +

QAxObject::QAxObject ( const QString & c, QObject * parent = 0, const char * name = 0 ) +

+Creates a QAxObject that wraps the COM object c. parent and +name are propagated to the QWidget contructor. +

See also control. + +

QAxObject::QAxObject ( IUnknown * iface, QObject * parent = 0, const char * name = 0 ) +

+Creates a QAxObject that wraps the COM object referenced by iface. parent and name are propagated to the QObject +contructor. + +

QAxObject::~QAxObject () +

+Releases the COM object and destroys the QAxObject, +cleaning up all allocated resources. + +

QVariant QAxBase::dynamicCall ( const QCString & function, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) ) +

+Calls the COM object's method function, passing the +parameters var1, var1, var2, var3, var4, var5, +var6, var7 and var8, and returns the value returned by +the method, or an invalid QVariant if the method does not return +a value or when the function call failed. +

If function is a method of the object the string must be provided +as the full prototype, for example as it would be written in a +QObject::connect() call. +

+    activeX->dynamicCall( "Navigate(const QString&)", "www.trolltech.com" );
+    
+ +

Alternatively a function can be called passing the parameters embedded +in the string, e.g. above function can also be invoked using +

+    activeX->dynamicCall("Navigate(\"www.trolltech.com\");
+    
+ +All parameters are passed as strings; it depends on the control whether +they are interpreted correctly, and is slower than using the prototype +with correctly typed parameters. +

If function is a property the string has to be the name of the +property. The property setter is called when var1 is a valid QVariant, +otherwise the getter is called. +

+    activeX->dynamicCall( "Value", 5 );
+    QString text = activeX->dynamicCall( "Text" ).toString();
+    
+ +Note that it is faster to get and set properties using +QObject::property() and QObject::setProperty(). +

It is only possible to call functions through dynamicCall() that +have parameters or return values of datatypes supported by +QVariant. See the QAxBase class documentation for a list of +supported and unsupported datatypes. If you want to call functions +that have unsupported datatypes in the parameter list, use +queryInterface() to retrieve the appropriate COM interface, and +use the function directly. +

+    IWebBrowser2 *webBrowser = 0;
+    activeX->queryInterface( IID_IWebBrowser2, (void**)&webBrowser );
+    if ( webBrowser ) {
+        webBrowser->Navigate2( pvarURL );
+        webBrowser->Release();
+    }
+    
+ +

This is also more efficient. + +

Example: qutlook/centralwidget.cpp. +

QVariant QAxBase::dynamicCall ( const QCString & function, QValueList<QVariant> & vars ) +

+This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +

Calls the COM object's method function, passing the +parameters in vars, and returns the value returned by +the method. If the method does not return a value or when +the function call failed this function returns an invalid +QVariant object. +

The QVariant objects in vars are updated when the method has +out-parameters. + +

QAxObject * QAxBase::querySubObject ( const QCString & name, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) ) +

+Returns a pointer to a QAxObject wrapping the COM object provided +by the method or property name, passing passing the parameters +var1, var1, var2, var3, var4, var5, var6, +var7 and var8. +

If name is provided by a method the string must include the +full function prototype. +

If name is a property the string must be the name of the property, +and var1, ... var8 are ignored. +

The returned QAxObject is a child of this object (which is either of +type QAxObject or QAxWidget), and is deleted when this object is +deleted. It is however safe to delete the returned object yourself, +and you should do so when you iterate over lists of subobjects. +

COM enabled applications usually have an object model publishing +certain elements of the application as dispatch interfaces. Use +this method to navigate the hierarchy of the object model, e.g. +

+    QAxWidget outlook( "Outlook.Application" );
+    QAxObject *session = outlook.querySubObject( "Session" );
+    if ( session ) {
+        QAxObject *defFolder = session->querySubObject(
+                                "GetDefaultFolder(OlDefaultFolders)",
+                                "olFolderContacts" );
+        //...
+    }
+    
+ + +

Example: qutlook/centralwidget.cpp. + +


+This file is part of the Qt toolkit. +Copyright © 1995-2007 +Trolltech. All Rights Reserved.


+ +
Copyright © 2007 +TrolltechTrademarks +
Qt 3.3.8
+
+ -- cgit v1.2.3