pyside6_qtpdf_python.h 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. // Copyright (C) 2022 The Qt Company Ltd.
  2. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
  3. #ifndef SBK_QTPDF_PYTHON_H
  4. #define SBK_QTPDF_PYTHON_H
  5. #include <sbkpython.h>
  6. #include <sbkmodule.h>
  7. #include <sbkconverter.h>
  8. // Module Includes
  9. #include <pyside6_qtcore_python.h>
  10. #include <pyside6_qtgui_python.h>
  11. // Bound library includes
  12. #include <QtPdf/qpdfbookmarkmodel.h>
  13. #include <QtPdf/qpdfdocument.h>
  14. #include <QtPdf/qpdfdocumentrenderoptions.h>
  15. #include <QtPdf/qpdflinkmodel.h>
  16. #include <QtPdf/qpdfpagerenderer.h>
  17. #include <QtPdf/qpdfsearchmodel.h>
  18. QT_BEGIN_NAMESPACE
  19. class QPdfLink;
  20. class QPdfPageNavigator;
  21. class QPdfSelection;
  22. QT_END_NAMESPACE
  23. // Type indices
  24. enum [[deprecated]] : int {
  25. SBK_QPDFBOOKMARKMODEL_ROLE_IDX = 4,
  26. SBK_QPDFBOOKMARKMODEL_IDX = 2,
  27. SBK_QPDFDOCUMENT_STATUS_IDX = 14,
  28. SBK_QPDFDOCUMENT_ERROR_IDX = 8,
  29. SBK_QPDFDOCUMENT_METADATAFIELD_IDX = 10,
  30. SBK_QPDFDOCUMENT_PAGEMODELROLE_IDX = 12,
  31. SBK_QPDFDOCUMENT_IDX = 6,
  32. SBK_QPDFDOCUMENTRENDEROPTIONS_ROTATION_IDX = 20,
  33. SBK_QPDFDOCUMENTRENDEROPTIONS_RENDERFLAG_IDX = 18,
  34. SBK_QFLAGS_QPDFDOCUMENTRENDEROPTIONS_RENDERFLAG_IDX = 0,
  35. SBK_QPDFDOCUMENTRENDEROPTIONS_IDX = 16,
  36. SBK_QPDFLINK_IDX = 22,
  37. SBK_QPDFLINKMODEL_ROLE_IDX = 26,
  38. SBK_QPDFLINKMODEL_IDX = 24,
  39. SBK_QPDFPAGENAVIGATOR_IDX = 28,
  40. SBK_QPDFPAGERENDERER_RENDERMODE_IDX = 32,
  41. SBK_QPDFPAGERENDERER_IDX = 30,
  42. SBK_QPDFSEARCHMODEL_ROLE_IDX = 36,
  43. SBK_QPDFSEARCHMODEL_IDX = 34,
  44. SBK_QPDFSELECTION_IDX = 38,
  45. SBK_QTPDF_IDX_COUNT = 40,
  46. };
  47. // Type indices
  48. enum : int {
  49. SBK_QPdfBookmarkModel_Role_IDX = 2,
  50. SBK_QPdfBookmarkModel_IDX = 1,
  51. SBK_QPdfDocument_Status_IDX = 7,
  52. SBK_QPdfDocument_Error_IDX = 4,
  53. SBK_QPdfDocument_MetaDataField_IDX = 5,
  54. SBK_QPdfDocument_PageModelRole_IDX = 6,
  55. SBK_QPdfDocument_IDX = 3,
  56. SBK_QPdfDocumentRenderOptions_Rotation_IDX = 10,
  57. SBK_QPdfDocumentRenderOptions_RenderFlag_IDX = 9,
  58. SBK_QFlags_QPdfDocumentRenderOptions_RenderFlag_IDX = 0,
  59. SBK_QPdfDocumentRenderOptions_IDX = 8,
  60. SBK_QPdfLink_IDX = 11,
  61. SBK_QPdfLinkModel_Role_IDX = 13,
  62. SBK_QPdfLinkModel_IDX = 12,
  63. SBK_QPdfPageNavigator_IDX = 14,
  64. SBK_QPdfPageRenderer_RenderMode_IDX = 16,
  65. SBK_QPdfPageRenderer_IDX = 15,
  66. SBK_QPdfSearchModel_Role_IDX = 18,
  67. SBK_QPdfSearchModel_IDX = 17,
  68. SBK_QPdfSelection_IDX = 19,
  69. SBK_QtPdf_IDX_COUNT = 20,
  70. };
  71. // This variable stores all Python types exported by this module.
  72. extern Shiboken::Module::TypeInitStruct *SbkPySide6_QtPdfTypeStructs;
  73. // This variable stores all Python types exported by this module in a backwards compatible way with identical indexing.
  74. [[deprecated]] extern PyTypeObject **SbkPySide6_QtPdfTypes;
  75. // This variable stores the Python module object exported by this module.
  76. extern PyObject *SbkPySide6_QtPdfModuleObject;
  77. // This variable stores all type converters exported by this module.
  78. extern SbkConverter **SbkPySide6_QtPdfTypeConverters;
  79. // Converter indices
  80. enum [[deprecated]] : int {
  81. SBK_QTPDF_QLIST_INT_IDX = 0, // QList<int>
  82. SBK_QTPDF_QLIST_QPOLYGONF_IDX = 1, // QList<QPolygonF>
  83. SBK_QTPDF_QLIST_QRECTF_IDX = 2, // QList<QRectF>
  84. SBK_QTPDF_QMAP_INT_QVARIANT_IDX = 3, // QMap<int,QVariant>
  85. SBK_QTPDF_QLIST_QMODELINDEX_IDX = 4, // QList<QModelIndex>
  86. SBK_QTPDF_QHASH_INT_QBYTEARRAY_IDX = 5, // QHash<int,QByteArray>
  87. SBK_QTPDF_QLIST_QPDFLINK_IDX = 6, // QList<QPdfLink>
  88. SBK_QTPDF_QLIST_QVARIANT_IDX = 7, // QList<QVariant>
  89. SBK_QTPDF_QLIST_QSTRING_IDX = 8, // QList<QString>
  90. SBK_QTPDF_QMAP_QSTRING_QVARIANT_IDX = 9, // QMap<QString,QVariant>
  91. SBK_QTPDF_CONVERTERS_IDX_COUNT = 10,
  92. };
  93. // Converter indices
  94. enum : int {
  95. SBK_QtPdf_QList_int_IDX = 0, // QList<int>
  96. SBK_QtPdf_QList_QPolygonF_IDX = 1, // QList<QPolygonF>
  97. SBK_QtPdf_QList_QRectF_IDX = 2, // QList<QRectF>
  98. SBK_QtPdf_QMap_int_QVariant_IDX = 3, // QMap<int,QVariant>
  99. SBK_QtPdf_QList_QModelIndex_IDX = 4, // QList<QModelIndex>
  100. SBK_QtPdf_QHash_int_QByteArray_IDX = 5, // QHash<int,QByteArray>
  101. SBK_QtPdf_QList_QPdfLink_IDX = 6, // QList<QPdfLink>
  102. SBK_QtPdf_QList_QVariant_IDX = 7, // QList<QVariant>
  103. SBK_QtPdf_QList_QString_IDX = 8, // QList<QString>
  104. SBK_QtPdf_QMap_QString_QVariant_IDX = 9, // QMap<QString,QVariant>
  105. SBK_QtPdf_CONVERTERS_IDX_COUNT = 10,
  106. };
  107. // Macros for type check
  108. QT_WARNING_PUSH
  109. QT_WARNING_DISABLE_DEPRECATED
  110. namespace Shiboken
  111. {
  112. // PyType functions, to get the PyObjectType for a type T
  113. template<> inline PyTypeObject *SbkType< ::QPdfBookmarkModel::Role >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfBookmarkModel_Role_IDX]); }
  114. template<> inline PyTypeObject *SbkType< ::QPdfBookmarkModel >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfBookmarkModel_IDX]); }
  115. template<> inline PyTypeObject *SbkType< ::QPdfDocument::Status >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfDocument_Status_IDX]); }
  116. template<> inline PyTypeObject *SbkType< ::QPdfDocument::Error >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfDocument_Error_IDX]); }
  117. template<> inline PyTypeObject *SbkType< ::QPdfDocument::MetaDataField >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfDocument_MetaDataField_IDX]); }
  118. template<> inline PyTypeObject *SbkType< ::QPdfDocument::PageModelRole >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfDocument_PageModelRole_IDX]); }
  119. template<> inline PyTypeObject *SbkType< ::QPdfDocument >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfDocument_IDX]); }
  120. template<> inline PyTypeObject *SbkType< ::QPdfDocumentRenderOptions::Rotation >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfDocumentRenderOptions_Rotation_IDX]); }
  121. template<> inline PyTypeObject *SbkType< ::QPdfDocumentRenderOptions::RenderFlag >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfDocumentRenderOptions_RenderFlag_IDX]); }
  122. template<> inline PyTypeObject *SbkType< ::QFlags<QPdfDocumentRenderOptions::RenderFlag> >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QFlags_QPdfDocumentRenderOptions_RenderFlag_IDX]); }
  123. template<> inline PyTypeObject *SbkType< ::QPdfDocumentRenderOptions >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfDocumentRenderOptions_IDX]); }
  124. template<> inline PyTypeObject *SbkType< ::QPdfLink >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfLink_IDX]); }
  125. template<> inline PyTypeObject *SbkType< ::QPdfLinkModel::Role >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfLinkModel_Role_IDX]); }
  126. template<> inline PyTypeObject *SbkType< ::QPdfLinkModel >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfLinkModel_IDX]); }
  127. template<> inline PyTypeObject *SbkType< ::QPdfPageNavigator >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfPageNavigator_IDX]); }
  128. template<> inline PyTypeObject *SbkType< ::QPdfPageRenderer::RenderMode >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfPageRenderer_RenderMode_IDX]); }
  129. template<> inline PyTypeObject *SbkType< ::QPdfPageRenderer >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfPageRenderer_IDX]); }
  130. template<> inline PyTypeObject *SbkType< ::QPdfSearchModel::Role >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfSearchModel_Role_IDX]); }
  131. template<> inline PyTypeObject *SbkType< ::QPdfSearchModel >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfSearchModel_IDX]); }
  132. template<> inline PyTypeObject *SbkType< ::QPdfSelection >() { return Shiboken::Module::get(SbkPySide6_QtPdfTypeStructs[SBK_QPdfSelection_IDX]); }
  133. } // namespace Shiboken
  134. QT_WARNING_POP
  135. #endif // SBK_QTPDF_PYTHON_H