Spaces:
Running
Running
| // qjsengine.sip generated by MetaSIP | |
| // | |
| // This file is part of the QtQml Python extension module. | |
| // | |
| // Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com> | |
| // | |
| // This file is part of PyQt6. | |
| // | |
| // 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. | |
| %ModuleCode | |
| %End | |
| class QJSEngine : public QObject | |
| { | |
| %TypeHeaderCode | |
| %End | |
| %ConvertToSubClassCode | |
| static struct class_graph { | |
| const char *name; | |
| sipTypeDef **type; | |
| int yes, no; | |
| } graph[] = { | |
| {sipName_QJSEngine, | |
| {sipName_QQmlComponent, | |
| {sipName_QQmlContext, | |
| {sipName_QQmlEngineExtensionPlugin, | |
| {sipName_QQmlExpression, | |
| {sipName_QQmlExtensionPlugin, | |
| {sipName_QQmlFileSelector, | |
| {sipName_QQmlImageProviderBase, | |
| {sipName_QQmlPropertyMap, | |
| {sipName_QQmlEngine, | |
| {sipName_QQmlApplicationEngine, | |
| }; | |
| int i = 0; | |
| sipType = NULL; | |
| do | |
| { | |
| struct class_graph *cg = | |
| if (cg->name != NULL | |
| { | |
| sipType = *cg->type; | |
| i = cg->yes; | |
| } | |
| else | |
| i = cg->no; | |
| } | |
| while (i >= 0); | |
| %End | |
| public: | |
| QJSEngine(); | |
| explicit QJSEngine(QObject *parent /TransferThis/); | |
| virtual ~QJSEngine(); | |
| QJSValue globalObject() const; | |
| QJSValue evaluate(const QString | |
| %MethodCode | |
| QStringList *st; | |
| st = (a3 ? new QStringList() : SIP_NULLPTR); | |
| Py_BEGIN_ALLOW_THREADS | |
| sipRes = new QJSValue(sipCpp->evaluate(*a0, *a1, a2, st)); | |
| Py_END_ALLOW_THREADS | |
| if (st) | |
| { | |
| for (qsizetype i = 0; i < st->size(); ++i) | |
| { | |
| QString *s = new QString(st->at(i)); | |
| PyObject *s_obj = sipConvertFromNewType(s, sipType_QString, SIP_NULLPTR); | |
| if (s_obj) | |
| { | |
| if (PyList_Append(a3, s_obj) < 0) | |
| { | |
| Py_DECREF(s_obj); | |
| sipIsErr = 1; | |
| break; | |
| } | |
| Py_DECREF(s_obj); | |
| } | |
| else | |
| { | |
| delete s; | |
| sipIsErr = 1; | |
| break; | |
| } | |
| } | |
| if (sipIsErr) | |
| { | |
| delete sipRes; | |
| sipRes = SIP_NULLPTR; | |
| } | |
| delete st; | |
| } | |
| %End | |
| QJSValue newObject(); | |
| QJSValue newArray(uint length = 0); | |
| QJSValue newQObject(QObject *object /Transfer/); | |
| void collectGarbage(); | |
| enum Extension /BaseType=Flag/ | |
| { | |
| TranslationExtension, | |
| ConsoleExtension, | |
| GarbageCollectionExtension, | |
| AllExtensions, | |
| }; | |
| typedef QFlags<QJSEngine::Extension> Extensions; | |
| void installExtensions(QJSEngine::Extensions extensions, const QJSValue | |
| QJSValue newQMetaObject(const QMetaObject *metaObject); | |
| QJSValue importModule(const QString | |
| QJSValue newErrorObject(QJSValue::ErrorType errorType, const QString | |
| void throwError(const QString | |
| %If (Qt_6_1_0 -) | |
| void throwError(const QJSValue | |
| %End | |
| void throwError(QJSValue::ErrorType errorType, const QString | |
| void setInterrupted(bool interrupted); | |
| bool isInterrupted() const; | |
| QString uiLanguage() const; | |
| void setUiLanguage(const QString | |
| enum ObjectOwnership | |
| { | |
| CppOwnership, | |
| JavaScriptOwnership, | |
| }; | |
| static void setObjectOwnership(QObject * /GetWrapper/, QJSEngine::ObjectOwnership); | |
| %MethodCode | |
| QJSEngine::ObjectOwnership old = QJSEngine::objectOwnership(a0); | |
| QJSEngine::setObjectOwnership(a0, a1); | |
| if (old != a1 | |
| { | |
| if (old == QJSEngine::CppOwnership) | |
| sipTransferTo(a0Wrapper, Py_None); | |
| else | |
| sipTransferBack(a0Wrapper); | |
| } | |
| %End | |
| static QJSEngine::ObjectOwnership objectOwnership(QObject *); | |
| %If (Qt_6_1_0 -) | |
| bool hasError() const; | |
| %End | |
| %If (Qt_6_1_0 -) | |
| QJSValue catchError(); | |
| %End | |
| signals: | |
| void uiLanguageChanged(); | |
| public: | |
| %If (Qt_6_2_0 -) | |
| bool registerModule(const QString | |
| %End | |
| %If (Qt_6_2_0 -) | |
| QJSValue newSymbol(const QString | |
| %End | |
| %If (Qt_6_5_0 -) | |
| QJSValue toScriptValue(const QVariant | |
| %End | |
| %If (Qt_6_5_0 -) | |
| QJSManagedValue toManagedValue(const QVariant | |
| %End | |
| %If (Qt_6_5_0 -) | |
| QJSPrimitiveValue toPrimitiveValue(const QVariant | |
| %End | |
| }; | |
| QJSEngine *qjsEngine(const QObject *); | |
| %ModuleHeaderCode | |
| %End | |
| %PostInitialisationCode | |
| qpyqml_post_init(sipModuleDict); | |
| %End | |