pyside6_qtaxcontainer_python.h 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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_QTAXCONTAINER_PYTHON_H
  4. #define SBK_QTAXCONTAINER_PYTHON_H
  5. #include <sbkpython.h>
  6. #include <sbkmodule.h>
  7. #include <sbkconverter.h>
  8. // Module Includes
  9. #include <pyside6_qtwidgets_python.h>
  10. #include <pyside6_qtgui_python.h>
  11. #include <pyside6_qtcore_python.h>
  12. // Bound library includes
  13. #include <QtAxContainer/qaxbase.h>
  14. #include <QtAxContainer/qaxscript.h>
  15. #include <QtAxContainer/qaxselect.h>
  16. QT_BEGIN_NAMESPACE
  17. class QAxBaseObject;
  18. class QAxBaseWidget;
  19. class QAxObject;
  20. class QAxObjectInterface;
  21. class QAxScriptManager;
  22. class QAxWidget;
  23. QT_END_NAMESPACE
  24. // Type indices
  25. enum [[deprecated]] : int {
  26. SBK_QAXBASE_IDX = 0,
  27. SBK_QAXBASEOBJECT_IDX = 2,
  28. SBK_QAXBASEWIDGET_IDX = 4,
  29. SBK_QAXOBJECT_IDX = 6,
  30. SBK_QAXOBJECTINTERFACE_IDX = 8,
  31. SBK_QAXSCRIPT_FUNCTIONFLAGS_IDX = 12,
  32. SBK_QAXSCRIPT_IDX = 10,
  33. SBK_QAXSCRIPTENGINE_STATE_IDX = 16,
  34. SBK_QAXSCRIPTENGINE_IDX = 14,
  35. SBK_QAXSCRIPTMANAGER_IDX = 18,
  36. SBK_QAXSELECT_SANDBOXINGLEVEL_IDX = 22,
  37. SBK_QAXSELECT_IDX = 20,
  38. SBK_QAXWIDGET_IDX = 24,
  39. SBK_QTAXCONTAINER_IDX_COUNT = 26,
  40. };
  41. // Type indices
  42. enum : int {
  43. SBK_QAxBase_IDX = 0,
  44. SBK_QAxBaseObject_IDX = 1,
  45. SBK_QAxBaseWidget_IDX = 2,
  46. SBK_QAxObject_IDX = 3,
  47. SBK_QAxObjectInterface_IDX = 4,
  48. SBK_QAxScript_FunctionFlags_IDX = 6,
  49. SBK_QAxScript_IDX = 5,
  50. SBK_QAxScriptEngine_State_IDX = 8,
  51. SBK_QAxScriptEngine_IDX = 7,
  52. SBK_QAxScriptManager_IDX = 9,
  53. SBK_QAxSelect_SandboxingLevel_IDX = 11,
  54. SBK_QAxSelect_IDX = 10,
  55. SBK_QAxWidget_IDX = 12,
  56. SBK_QtAxContainer_IDX_COUNT = 13,
  57. };
  58. // This variable stores all Python types exported by this module.
  59. extern Shiboken::Module::TypeInitStruct *SbkPySide6_QtAxContainerTypeStructs;
  60. // This variable stores all Python types exported by this module in a backwards compatible way with identical indexing.
  61. [[deprecated]] extern PyTypeObject **SbkPySide6_QtAxContainerTypes;
  62. // This variable stores the Python module object exported by this module.
  63. extern PyObject *SbkPySide6_QtAxContainerModuleObject;
  64. // This variable stores all type converters exported by this module.
  65. extern SbkConverter **SbkPySide6_QtAxContainerTypeConverters;
  66. // Converter indices
  67. enum [[deprecated]] : int {
  68. SBK_QTAXCONTAINER_QLIST_INT_IDX = 0, // QList<int>
  69. SBK_QTAXCONTAINER_QLIST_QVARIANT_IDX = 1, // QList<QVariant>
  70. SBK_QTAXCONTAINER_QMAP_QSTRING_QVARIANT_IDX = 2, // QMap<QString,QVariant>
  71. SBK_QTAXCONTAINER_QLIST_QSTRING_IDX = 3, // QList<QString>
  72. SBK_QTAXCONTAINER_CONVERTERS_IDX_COUNT = 4,
  73. };
  74. // Converter indices
  75. enum : int {
  76. SBK_QtAxContainer_QList_int_IDX = 0, // QList<int>
  77. SBK_QtAxContainer_QList_QVariant_IDX = 1, // QList<QVariant>
  78. SBK_QtAxContainer_QMap_QString_QVariant_IDX = 2, // QMap<QString,QVariant>
  79. SBK_QtAxContainer_QList_QString_IDX = 3, // QList<QString>
  80. SBK_QtAxContainer_CONVERTERS_IDX_COUNT = 4,
  81. };
  82. // Macros for type check
  83. QT_WARNING_PUSH
  84. QT_WARNING_DISABLE_DEPRECATED
  85. namespace Shiboken
  86. {
  87. // PyType functions, to get the PyObjectType for a type T
  88. template<> inline PyTypeObject *SbkType< ::QAxBase >() { return Shiboken::Module::get(SbkPySide6_QtAxContainerTypeStructs[SBK_QAxBase_IDX]); }
  89. template<> inline PyTypeObject *SbkType< ::QAxBaseObject >() { return Shiboken::Module::get(SbkPySide6_QtAxContainerTypeStructs[SBK_QAxBaseObject_IDX]); }
  90. template<> inline PyTypeObject *SbkType< ::QAxBaseWidget >() { return Shiboken::Module::get(SbkPySide6_QtAxContainerTypeStructs[SBK_QAxBaseWidget_IDX]); }
  91. template<> inline PyTypeObject *SbkType< ::QAxObject >() { return Shiboken::Module::get(SbkPySide6_QtAxContainerTypeStructs[SBK_QAxObject_IDX]); }
  92. template<> inline PyTypeObject *SbkType< ::QAxObjectInterface >() { return Shiboken::Module::get(SbkPySide6_QtAxContainerTypeStructs[SBK_QAxObjectInterface_IDX]); }
  93. template<> inline PyTypeObject *SbkType< ::QAxScript::FunctionFlags >() { return Shiboken::Module::get(SbkPySide6_QtAxContainerTypeStructs[SBK_QAxScript_FunctionFlags_IDX]); }
  94. template<> inline PyTypeObject *SbkType< ::QAxScript >() { return Shiboken::Module::get(SbkPySide6_QtAxContainerTypeStructs[SBK_QAxScript_IDX]); }
  95. template<> inline PyTypeObject *SbkType< ::QAxScriptEngine::State >() { return Shiboken::Module::get(SbkPySide6_QtAxContainerTypeStructs[SBK_QAxScriptEngine_State_IDX]); }
  96. template<> inline PyTypeObject *SbkType< ::QAxScriptEngine >() { return Shiboken::Module::get(SbkPySide6_QtAxContainerTypeStructs[SBK_QAxScriptEngine_IDX]); }
  97. template<> inline PyTypeObject *SbkType< ::QAxScriptManager >() { return Shiboken::Module::get(SbkPySide6_QtAxContainerTypeStructs[SBK_QAxScriptManager_IDX]); }
  98. template<> inline PyTypeObject *SbkType< ::QAxSelect::SandboxingLevel >() { return Shiboken::Module::get(SbkPySide6_QtAxContainerTypeStructs[SBK_QAxSelect_SandboxingLevel_IDX]); }
  99. template<> inline PyTypeObject *SbkType< ::QAxSelect >() { return Shiboken::Module::get(SbkPySide6_QtAxContainerTypeStructs[SBK_QAxSelect_IDX]); }
  100. template<> inline PyTypeObject *SbkType< ::QAxWidget >() { return Shiboken::Module::get(SbkPySide6_QtAxContainerTypeStructs[SBK_QAxWidget_IDX]); }
  101. } // namespace Shiboken
  102. QT_WARNING_POP
  103. #endif // SBK_QTAXCONTAINER_PYTHON_H