You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
5.1 KiB
159 lines
5.1 KiB
// This is the SIP interface definition for QAxBase.
|
|
//
|
|
// Copyright (c) 2023 Riverbank Computing Limited <info@riverbankcomputing.com>
|
|
//
|
|
// This file is part of PyQt5.
|
|
//
|
|
// This file may be used under the terms of the GNU General Public License
|
|
// version 3.0 as published by the Free Software Foundation and appearing in
|
|
// the file LICENSE included in the packaging of this file. Please review the
|
|
// following information to ensure the GNU General Public License version 3.0
|
|
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
|
//
|
|
// If you do not wish to use this file under the terms of the GPL version 3.0
|
|
// then you may purchase a commercial license. For more information contact
|
|
// info@riverbankcomputing.com.
|
|
//
|
|
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
|
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
|
|
class QAxBase /Abstract, PyQtNoQMetaObject/
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qaxbase.h>
|
|
%End
|
|
|
|
public:
|
|
//QAxBase(IUnknown *iface = 0);
|
|
virtual ~QAxBase();
|
|
|
|
QString control() const;
|
|
|
|
//long queryInterface(const QUuid &, void **) const;
|
|
|
|
// Note that the order of these overloads is significant.
|
|
QVariant dynamicCall(const char *, QList<QVariant> & /GetWrapper/);
|
|
%MethodCode
|
|
Py_BEGIN_ALLOW_THREADS
|
|
sipRes = new QVariant(sipCpp->dynamicCall(a0, *a1));
|
|
Py_END_ALLOW_THREADS
|
|
|
|
// Update the input list with the (possibly) new values.
|
|
for (Py_ssize_t i = 0; i < PyList_Size(a1Wrapper); ++i)
|
|
{
|
|
QVariant *v = new QVariant(a1->at(i));
|
|
PyObject *v_obj = sipConvertFromNewType(v, sipType_QVariant, NULL);
|
|
|
|
if (!v_obj)
|
|
{
|
|
delete v;
|
|
sipIsErr = 1;
|
|
break;
|
|
}
|
|
|
|
if (PyList_SetItem(a1Wrapper, i, v_obj) < 0)
|
|
{
|
|
Py_DECREF(v_obj);
|
|
sipIsErr = 1;
|
|
break;
|
|
}
|
|
}
|
|
%End
|
|
|
|
QVariant dynamicCall(const char *,
|
|
const QVariant &value1 = QVariant(),
|
|
const QVariant &value2 = QVariant(),
|
|
const QVariant &value3 = QVariant(),
|
|
const QVariant &value4 = QVariant(),
|
|
const QVariant &value5 = QVariant(),
|
|
const QVariant &value6 = QVariant(),
|
|
const QVariant &value7 = QVariant(),
|
|
const QVariant &value8 = QVariant());
|
|
|
|
// Note that the order of these overloads is significant.
|
|
QAxObject *querySubObject(const char *, QList<QVariant> & /GetWrapper/);
|
|
%MethodCode
|
|
Py_BEGIN_ALLOW_THREADS
|
|
sipRes = sipCpp->querySubObject(a0, *a1);
|
|
Py_END_ALLOW_THREADS
|
|
|
|
// Update the input list with the (possibly) new values.
|
|
for (Py_ssize_t i = 0; i < PyList_Size(a1Wrapper); ++i)
|
|
{
|
|
QVariant *v = new QVariant(a1->at(i));
|
|
PyObject *v_obj = sipConvertFromNewType(v, sipType_QVariant, NULL);
|
|
|
|
if (!v_obj)
|
|
{
|
|
delete v;
|
|
sipIsErr = 1;
|
|
break;
|
|
}
|
|
|
|
if (PyList_SetItem(a1Wrapper, i, v_obj) < 0)
|
|
{
|
|
Py_DECREF(v_obj);
|
|
sipIsErr = 1;
|
|
break;
|
|
}
|
|
}
|
|
%End
|
|
|
|
QAxObject *querySubObject(const char *,
|
|
const QVariant &value1 = QVariant(),
|
|
const QVariant &value2 = QVariant(),
|
|
const QVariant &value3 = QVariant(),
|
|
const QVariant &value4 = QVariant(),
|
|
const QVariant &value5 = QVariant(),
|
|
const QVariant &value6 = QVariant(),
|
|
const QVariant &value7 = QVariant(),
|
|
const QVariant &value8 = QVariant());
|
|
|
|
// SIP has a bug triggered by a template definition being the subject of
|
|
// multiple typedefs. It only really matters when building everything as
|
|
// one big module (the code that implements the type is duplicated in
|
|
// other cases). Until it is fixed we just avoid the problematic typedef.
|
|
//typedef QMap<QString, QVariant> PropertyBag;
|
|
//PropertyBag propertyBag() const;
|
|
//void setPropertyBag(const PropertyBag &);
|
|
QVariantMap propertyBag() const;
|
|
void setPropertyBag(const QVariantMap &);
|
|
|
|
QString generateDocumentation();
|
|
|
|
virtual bool propertyWritable(const char *) const;
|
|
virtual void setPropertyWritable(const char *, bool);
|
|
|
|
bool isNull() const;
|
|
|
|
QStringList verbs() const;
|
|
|
|
QVariant asVariant() const;
|
|
|
|
signals:
|
|
void signal(const QString &, int, void *);
|
|
void propertyChanged(const QString &);
|
|
void exception(int, const QString &, const QString &, const QString &);
|
|
|
|
public:
|
|
virtual void clear();
|
|
bool setControl(const QString &);
|
|
|
|
void disableMetaObject();
|
|
void disableClassInfo();
|
|
void disableEventSink();
|
|
|
|
%If (Qt_5_13_0 -)
|
|
unsigned long classContext() const;
|
|
void setClassContext(unsigned long classContext);
|
|
%End
|
|
|
|
protected:
|
|
//virtual bool initialize(IUnknown** ptr);
|
|
//bool initializeRemote(IUnknown** ptr);
|
|
//bool initializeLicensed(IUnknown** ptr);
|
|
//bool initializeActive(IUnknown** ptr);
|
|
//bool initializeFromFile(IUnknown** ptr);
|
|
};
|