1 // This is the definition of the QPyQuickItem classes. 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 #ifndef _QPYQUICKITEM_H 22 #define _QPYQUICKITEM_H 23 24 25 #include <Python.h> 26 27 #include <qqmlprivate.h> 28 #include <QByteArray> 29 #include <QMetaObject> 30 #include <QQuickItem> 31 32 #include "sipAPIQtQuick.h" 33 34 35 class QPyQuickItem : public sipQQuickItem 36 { 37 public: 38 QPyQuickItem(QQuickItem *parent = 0); 39 40 virtual int typeNr() const = 0; 41 42 static QQmlPrivate::RegisterType *addType(PyTypeObject *type, 43 const QMetaObject *mo, const QByteArray &ptr_name, 44 const QByteArray &list_name); 45 void createPyObject(QQuickItem *parent); 46 47 private: 48 QPyQuickItem(const QPyQuickItem &); 49 }; 50 51 52 // The canned type declarations. 53 #define QPYQUICKITEM_DECL(n) \ 54 class QPyQuickItem##n : public QPyQuickItem \ 55 { \ 56 public: \ 57 QPyQuickItem##n(QQuickItem *parent = 0); \ 58 static QMetaObject staticMetaObject; \ 59 virtual const QMetaObject *metaObject() const; \ 60 virtual int typeNr() const {return n##U;} \ 61 private: \ 62 QPyQuickItem##n(const QPyQuickItem##n &); \ 63 } 64 65 66 QPYQUICKITEM_DECL(0); 67 QPYQUICKITEM_DECL(1); 68 QPYQUICKITEM_DECL(2); 69 QPYQUICKITEM_DECL(3); 70 QPYQUICKITEM_DECL(4); 71 QPYQUICKITEM_DECL(5); 72 QPYQUICKITEM_DECL(6); 73 QPYQUICKITEM_DECL(7); 74 QPYQUICKITEM_DECL(8); 75 QPYQUICKITEM_DECL(9); 76 QPYQUICKITEM_DECL(10); 77 QPYQUICKITEM_DECL(11); 78 QPYQUICKITEM_DECL(12); 79 QPYQUICKITEM_DECL(13); 80 QPYQUICKITEM_DECL(14); 81 QPYQUICKITEM_DECL(15); 82 QPYQUICKITEM_DECL(16); 83 QPYQUICKITEM_DECL(17); 84 QPYQUICKITEM_DECL(18); 85 QPYQUICKITEM_DECL(19); 86 QPYQUICKITEM_DECL(20); 87 QPYQUICKITEM_DECL(21); 88 QPYQUICKITEM_DECL(22); 89 QPYQUICKITEM_DECL(23); 90 QPYQUICKITEM_DECL(24); 91 QPYQUICKITEM_DECL(25); 92 QPYQUICKITEM_DECL(26); 93 QPYQUICKITEM_DECL(27); 94 QPYQUICKITEM_DECL(28); 95 QPYQUICKITEM_DECL(29); 96 QPYQUICKITEM_DECL(30); 97 QPYQUICKITEM_DECL(31); 98 QPYQUICKITEM_DECL(32); 99 QPYQUICKITEM_DECL(33); 100 QPYQUICKITEM_DECL(34); 101 QPYQUICKITEM_DECL(35); 102 QPYQUICKITEM_DECL(36); 103 QPYQUICKITEM_DECL(37); 104 QPYQUICKITEM_DECL(38); 105 QPYQUICKITEM_DECL(39); 106 QPYQUICKITEM_DECL(40); 107 QPYQUICKITEM_DECL(41); 108 QPYQUICKITEM_DECL(42); 109 QPYQUICKITEM_DECL(43); 110 QPYQUICKITEM_DECL(44); 111 QPYQUICKITEM_DECL(45); 112 QPYQUICKITEM_DECL(46); 113 QPYQUICKITEM_DECL(47); 114 QPYQUICKITEM_DECL(48); 115 QPYQUICKITEM_DECL(49); 116 QPYQUICKITEM_DECL(50); 117 QPYQUICKITEM_DECL(51); 118 QPYQUICKITEM_DECL(52); 119 QPYQUICKITEM_DECL(53); 120 QPYQUICKITEM_DECL(54); 121 QPYQUICKITEM_DECL(55); 122 QPYQUICKITEM_DECL(56); 123 QPYQUICKITEM_DECL(57); 124 QPYQUICKITEM_DECL(58); 125 QPYQUICKITEM_DECL(59); 126 127 128 #endif 129