1// This is the SIP specification of the qmlAttachedPropertiesObject() function. 2// 3// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com> 4// 5// This file is part of PyQt5. 6// 7// This file may be used under the terms of the GNU General Public License 8// version 3.0 as published by the Free Software Foundation and appearing in 9// the file LICENSE included in the packaging of this file. Please review the 10// following information to ensure the GNU General Public License version 3.0 11// requirements will be met: http://www.gnu.org/copyleft/gpl.html. 12// 13// If you do not wish to use this file under the terms of the GPL version 3.0 14// then you may purchase a commercial license. For more information contact 15// info@riverbankcomputing.com. 16// 17// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 18// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 19 20 21%ModuleHeaderCode 22#include <qqml.h> 23%End 24 25 26QObject *qmlAttachedPropertiesObject(SIP_PYTYPE, QObject *object, 27 bool create = true); 28%MethodCode 29 QObject *proxy = qpyqml_find_proxy_for(a1); 30 31 if (!proxy) 32 { 33 sipError = sipErrorFail; 34 } 35 else 36 { 37 static QHash<PyTypeObject *, int> cache; 38 39 int idx = cache.value((PyTypeObject *)a0, -1); 40 const QMetaObject *mo = pyqt5_qtqml_get_qmetaobject((PyTypeObject *)a0); 41 42 sipRes = qmlAttachedPropertiesObject(&idx, proxy, mo, a2); 43 44 cache.insert((PyTypeObject *)a0, idx); 45 } 46%End 47