pyside6_qtstatemachine_python.h 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  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_QTSTATEMACHINE_PYTHON_H
  4. #define SBK_QTSTATEMACHINE_PYTHON_H
  5. #include <sbkpython.h>
  6. #include <sbkmodule.h>
  7. #include <sbkconverter.h>
  8. // Module Includes
  9. #include <pyside6_qtgui_python.h>
  10. #include <pyside6_qtcore_python.h>
  11. // Bound library includes
  12. #include <QtStateMachine/qabstracttransition.h>
  13. #include <QtStateMachine/qhistorystate.h>
  14. #include <QtStateMachine/qstate.h>
  15. #include <QtStateMachine/qstatemachine.h>
  16. QT_BEGIN_NAMESPACE
  17. class QAbstractState;
  18. class QEventTransition;
  19. class QFinalState;
  20. class QKeyEventTransition;
  21. class QMouseEventTransition;
  22. class QSignalTransition;
  23. QT_END_NAMESPACE
  24. // Type indices
  25. enum [[deprecated]] : int {
  26. SBK_QABSTRACTSTATE_IDX = 0,
  27. SBK_QABSTRACTTRANSITION_TRANSITIONTYPE_IDX = 4,
  28. SBK_QABSTRACTTRANSITION_IDX = 2,
  29. SBK_QEVENTTRANSITION_IDX = 6,
  30. SBK_QFINALSTATE_IDX = 8,
  31. SBK_QHISTORYSTATE_HISTORYTYPE_IDX = 12,
  32. SBK_QHISTORYSTATE_IDX = 10,
  33. SBK_QKEYEVENTTRANSITION_IDX = 14,
  34. SBK_QMOUSEEVENTTRANSITION_IDX = 16,
  35. SBK_QSIGNALTRANSITION_IDX = 18,
  36. SBK_QSTATE_CHILDMODE_IDX = 22,
  37. SBK_QSTATE_RESTOREPOLICY_IDX = 24,
  38. SBK_QSTATE_IDX = 20,
  39. SBK_QSTATEMACHINE_EVENTPRIORITY_IDX = 30,
  40. SBK_QSTATEMACHINE_ERROR_IDX = 28,
  41. SBK_QSTATEMACHINE_IDX = 26,
  42. SBK_QSTATEMACHINE_SIGNALEVENT_IDX = 32,
  43. SBK_QSTATEMACHINE_WRAPPEDEVENT_IDX = 34,
  44. SBK_QTSTATEMACHINE_IDX_COUNT = 36,
  45. };
  46. // Type indices
  47. enum : int {
  48. SBK_QAbstractState_IDX = 0,
  49. SBK_QAbstractTransition_TransitionType_IDX = 2,
  50. SBK_QAbstractTransition_IDX = 1,
  51. SBK_QEventTransition_IDX = 3,
  52. SBK_QFinalState_IDX = 4,
  53. SBK_QHistoryState_HistoryType_IDX = 6,
  54. SBK_QHistoryState_IDX = 5,
  55. SBK_QKeyEventTransition_IDX = 7,
  56. SBK_QMouseEventTransition_IDX = 8,
  57. SBK_QSignalTransition_IDX = 9,
  58. SBK_QState_ChildMode_IDX = 11,
  59. SBK_QState_RestorePolicy_IDX = 12,
  60. SBK_QState_IDX = 10,
  61. SBK_QStateMachine_EventPriority_IDX = 15,
  62. SBK_QStateMachine_Error_IDX = 14,
  63. SBK_QStateMachine_IDX = 13,
  64. SBK_QStateMachine_SignalEvent_IDX = 16,
  65. SBK_QStateMachine_WrappedEvent_IDX = 17,
  66. SBK_QtStateMachine_IDX_COUNT = 18,
  67. };
  68. // This variable stores all Python types exported by this module.
  69. extern Shiboken::Module::TypeInitStruct *SbkPySide6_QtStateMachineTypeStructs;
  70. // This variable stores all Python types exported by this module in a backwards compatible way with identical indexing.
  71. [[deprecated]] extern PyTypeObject **SbkPySide6_QtStateMachineTypes;
  72. // This variable stores the Python module object exported by this module.
  73. extern PyObject *SbkPySide6_QtStateMachineModuleObject;
  74. // This variable stores all type converters exported by this module.
  75. extern SbkConverter **SbkPySide6_QtStateMachineTypeConverters;
  76. // Converter indices
  77. enum [[deprecated]] : int {
  78. SBK_QTSTATEMACHINE_QLIST_INT_IDX = 0, // QList<int>
  79. SBK_QTSTATEMACHINE_QLIST_QABSTRACTANIMATIONPTR_IDX = 1, // QList<QAbstractAnimation*>
  80. SBK_QTSTATEMACHINE_QLIST_QABSTRACTSTATEPTR_IDX = 2, // QList<QAbstractState*>
  81. SBK_QTSTATEMACHINE_QLIST_QABSTRACTTRANSITIONPTR_IDX = 3, // QList<QAbstractTransition*>
  82. SBK_QTSTATEMACHINE_QSET_QABSTRACTSTATEPTR_IDX = 4, // QSet<QAbstractState*>
  83. SBK_QTSTATEMACHINE_QLIST_QVARIANT_IDX = 5, // QList<QVariant>
  84. SBK_QTSTATEMACHINE_QLIST_QSTRING_IDX = 6, // QList<QString>
  85. SBK_QTSTATEMACHINE_QMAP_QSTRING_QVARIANT_IDX = 7, // QMap<QString,QVariant>
  86. SBK_QTSTATEMACHINE_CONVERTERS_IDX_COUNT = 8,
  87. };
  88. // Converter indices
  89. enum : int {
  90. SBK_QtStateMachine_QList_int_IDX = 0, // QList<int>
  91. SBK_QtStateMachine_QList_QAbstractAnimationPTR_IDX = 1, // QList<QAbstractAnimation*>
  92. SBK_QtStateMachine_QList_QAbstractStatePTR_IDX = 2, // QList<QAbstractState*>
  93. SBK_QtStateMachine_QList_QAbstractTransitionPTR_IDX = 3, // QList<QAbstractTransition*>
  94. SBK_QtStateMachine_QSet_QAbstractStatePTR_IDX = 4, // QSet<QAbstractState*>
  95. SBK_QtStateMachine_QList_QVariant_IDX = 5, // QList<QVariant>
  96. SBK_QtStateMachine_QList_QString_IDX = 6, // QList<QString>
  97. SBK_QtStateMachine_QMap_QString_QVariant_IDX = 7, // QMap<QString,QVariant>
  98. SBK_QtStateMachine_CONVERTERS_IDX_COUNT = 8,
  99. };
  100. // Macros for type check
  101. QT_WARNING_PUSH
  102. QT_WARNING_DISABLE_DEPRECATED
  103. namespace Shiboken
  104. {
  105. // PyType functions, to get the PyObjectType for a type T
  106. template<> inline PyTypeObject *SbkType< ::QAbstractState >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QAbstractState_IDX]); }
  107. template<> inline PyTypeObject *SbkType< ::QAbstractTransition::TransitionType >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QAbstractTransition_TransitionType_IDX]); }
  108. template<> inline PyTypeObject *SbkType< ::QAbstractTransition >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QAbstractTransition_IDX]); }
  109. template<> inline PyTypeObject *SbkType< ::QEventTransition >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QEventTransition_IDX]); }
  110. template<> inline PyTypeObject *SbkType< ::QFinalState >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QFinalState_IDX]); }
  111. template<> inline PyTypeObject *SbkType< ::QHistoryState::HistoryType >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QHistoryState_HistoryType_IDX]); }
  112. template<> inline PyTypeObject *SbkType< ::QHistoryState >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QHistoryState_IDX]); }
  113. template<> inline PyTypeObject *SbkType< ::QKeyEventTransition >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QKeyEventTransition_IDX]); }
  114. template<> inline PyTypeObject *SbkType< ::QMouseEventTransition >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QMouseEventTransition_IDX]); }
  115. template<> inline PyTypeObject *SbkType< ::QSignalTransition >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QSignalTransition_IDX]); }
  116. template<> inline PyTypeObject *SbkType< ::QState::ChildMode >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QState_ChildMode_IDX]); }
  117. template<> inline PyTypeObject *SbkType< ::QState::RestorePolicy >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QState_RestorePolicy_IDX]); }
  118. template<> inline PyTypeObject *SbkType< ::QState >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QState_IDX]); }
  119. template<> inline PyTypeObject *SbkType< ::QStateMachine::EventPriority >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QStateMachine_EventPriority_IDX]); }
  120. template<> inline PyTypeObject *SbkType< ::QStateMachine::Error >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QStateMachine_Error_IDX]); }
  121. template<> inline PyTypeObject *SbkType< ::QStateMachine >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QStateMachine_IDX]); }
  122. template<> inline PyTypeObject *SbkType< ::QStateMachine::SignalEvent >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QStateMachine_SignalEvent_IDX]); }
  123. template<> inline PyTypeObject *SbkType< ::QStateMachine::WrappedEvent >() { return Shiboken::Module::get(SbkPySide6_QtStateMachineTypeStructs[SBK_QStateMachine_WrappedEvent_IDX]); }
  124. } // namespace Shiboken
  125. QT_WARNING_POP
  126. #endif // SBK_QTSTATEMACHINE_PYTHON_H