aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/libpysideqml/pysideqmluncreatable.h
blob: 8a8adb3c834cce94b6bfc3fb1689e90f3f586818 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only

#ifndef PYSIDEQMLUNCREATABLE_H
#define PYSIDEQMLUNCREATABLE_H

#include <sbkpython.h>

#include <QtCore/QByteArray>

QT_FORWARD_DECLARE_CLASS(QMetaObjectBuilder)

// The QmlUncreatable decorator modifies QmlElement to register an uncreatable
// type. Due to the (reverse) execution order of decorators, it needs to follow
// QmlElement.
extern "C"
{
    extern PyTypeObject *PySideQmlUncreatable_TypeF(void);
}

void initQmlUncreatable(PyObject *module);

void setUncreatableClassInfo(PyTypeObject *type, const QByteArray &reason);
void setUncreatableClassInfo(QMetaObjectBuilder *builder, const QByteArray &reason);

#endif // PYSIDEQMLUNCREATABLE_H