qchar.sip 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. // qchar.sip generated by MetaSIP
  2. //
  3. // This file is part of the QtCore Python extension module.
  4. //
  5. // Copyright (c) 2026 Riverbank Computing Limited <info@riverbankcomputing.com>
  6. //
  7. // This file is part of PyQt6.
  8. //
  9. // This file may be used under the terms of the GNU General Public License
  10. // version 3.0 as published by the Free Software Foundation and appearing in
  11. // the file LICENSE included in the packaging of this file. Please review the
  12. // following information to ensure the GNU General Public License version 3.0
  13. // requirements will be met: http://www.gnu.org/copyleft/gpl.html.
  14. //
  15. // If you do not wish to use this file under the terms of the GPL version 3.0
  16. // then you may purchase a commercial license. For more information contact
  17. // info@riverbankcomputing.com.
  18. //
  19. // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  20. // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  21. class QChar /TypeHint="str"/
  22. {
  23. %TypeHeaderCode
  24. #include <qchar.h>
  25. %End
  26. %ConvertToTypeCode
  27. if (sipIsErr == NULL)
  28. return PyUnicode_Check(sipPy);
  29. // TODO: review replacing with something more efficient.
  30. QString qs = qpycore_PyObject_AsQString(sipPy);
  31. if (qs.size() != 1)
  32. {
  33. PyErr_SetString(PyExc_ValueError, "string of length 1 expected");
  34. *sipIsErr = 1;
  35. return 0;
  36. }
  37. *sipCppPtr = new QChar(qs.at(0));
  38. return sipGetState(sipTransferObj);
  39. %End
  40. %ConvertFromTypeCode
  41. // TODO: replace with...
  42. // return PyUnicode_FromKindAndData(PyUnicode_2BYTE_KIND, sipCpp, 1);
  43. return qpycore_PyObject_FromQString(QString(*sipCpp));
  44. %End
  45. public:
  46. enum Script
  47. {
  48. Script_Unknown,
  49. Script_Inherited,
  50. Script_Common,
  51. Script_Latin,
  52. Script_Greek,
  53. Script_Cyrillic,
  54. Script_Armenian,
  55. Script_Hebrew,
  56. Script_Arabic,
  57. Script_Syriac,
  58. Script_Thaana,
  59. Script_Devanagari,
  60. Script_Bengali,
  61. Script_Gurmukhi,
  62. Script_Gujarati,
  63. Script_Oriya,
  64. Script_Tamil,
  65. Script_Telugu,
  66. Script_Kannada,
  67. Script_Malayalam,
  68. Script_Sinhala,
  69. Script_Thai,
  70. Script_Lao,
  71. Script_Tibetan,
  72. Script_Myanmar,
  73. Script_Georgian,
  74. Script_Hangul,
  75. Script_Ethiopic,
  76. Script_Cherokee,
  77. Script_CanadianAboriginal,
  78. Script_Ogham,
  79. Script_Runic,
  80. Script_Khmer,
  81. Script_Mongolian,
  82. Script_Hiragana,
  83. Script_Katakana,
  84. Script_Bopomofo,
  85. Script_Han,
  86. Script_Yi,
  87. Script_OldItalic,
  88. Script_Gothic,
  89. Script_Deseret,
  90. Script_Tagalog,
  91. Script_Hanunoo,
  92. Script_Buhid,
  93. Script_Tagbanwa,
  94. Script_Coptic,
  95. Script_Limbu,
  96. Script_TaiLe,
  97. Script_LinearB,
  98. Script_Ugaritic,
  99. Script_Shavian,
  100. Script_Osmanya,
  101. Script_Cypriot,
  102. Script_Braille,
  103. Script_Buginese,
  104. Script_NewTaiLue,
  105. Script_Glagolitic,
  106. Script_Tifinagh,
  107. Script_SylotiNagri,
  108. Script_OldPersian,
  109. Script_Kharoshthi,
  110. Script_Balinese,
  111. Script_Cuneiform,
  112. Script_Phoenician,
  113. Script_PhagsPa,
  114. Script_Nko,
  115. Script_Sundanese,
  116. Script_Lepcha,
  117. Script_OlChiki,
  118. Script_Vai,
  119. Script_Saurashtra,
  120. Script_KayahLi,
  121. Script_Rejang,
  122. Script_Lycian,
  123. Script_Carian,
  124. Script_Lydian,
  125. Script_Cham,
  126. Script_TaiTham,
  127. Script_TaiViet,
  128. Script_Avestan,
  129. Script_EgyptianHieroglyphs,
  130. Script_Samaritan,
  131. Script_Lisu,
  132. Script_Bamum,
  133. Script_Javanese,
  134. Script_MeeteiMayek,
  135. Script_ImperialAramaic,
  136. Script_OldSouthArabian,
  137. Script_InscriptionalParthian,
  138. Script_InscriptionalPahlavi,
  139. Script_OldTurkic,
  140. Script_Kaithi,
  141. Script_Batak,
  142. Script_Brahmi,
  143. Script_Mandaic,
  144. Script_Chakma,
  145. Script_MeroiticCursive,
  146. Script_MeroiticHieroglyphs,
  147. Script_Miao,
  148. Script_Sharada,
  149. Script_SoraSompeng,
  150. Script_Takri,
  151. Script_CaucasianAlbanian,
  152. Script_BassaVah,
  153. Script_Duployan,
  154. Script_Elbasan,
  155. Script_Grantha,
  156. Script_PahawhHmong,
  157. Script_Khojki,
  158. Script_LinearA,
  159. Script_Mahajani,
  160. Script_Manichaean,
  161. Script_MendeKikakui,
  162. Script_Modi,
  163. Script_Mro,
  164. Script_OldNorthArabian,
  165. Script_Nabataean,
  166. Script_Palmyrene,
  167. Script_PauCinHau,
  168. Script_OldPermic,
  169. Script_PsalterPahlavi,
  170. Script_Siddham,
  171. Script_Khudawadi,
  172. Script_Tirhuta,
  173. Script_WarangCiti,
  174. Script_Ahom,
  175. Script_AnatolianHieroglyphs,
  176. Script_Hatran,
  177. Script_Multani,
  178. Script_OldHungarian,
  179. Script_SignWriting,
  180. Script_Adlam,
  181. Script_Bhaiksuki,
  182. Script_Marchen,
  183. Script_Newa,
  184. Script_Osage,
  185. Script_Tangut,
  186. Script_MasaramGondi,
  187. Script_Nushu,
  188. Script_Soyombo,
  189. Script_ZanabazarSquare,
  190. Script_Dogra,
  191. Script_GunjalaGondi,
  192. Script_HanifiRohingya,
  193. Script_Makasar,
  194. Script_Medefaidrin,
  195. Script_OldSogdian,
  196. Script_Sogdian,
  197. Script_Elymaic,
  198. Script_Nandinagari,
  199. Script_NyiakengPuachueHmong,
  200. Script_Wancho,
  201. Script_Chorasmian,
  202. Script_DivesAkuru,
  203. Script_KhitanSmallScript,
  204. Script_Yezidi,
  205. %If (Qt_6_3_0 -)
  206. Script_CyproMinoan,
  207. %End
  208. %If (Qt_6_3_0 -)
  209. Script_NagMundari,
  210. %End
  211. %If (Qt_6_3_0 -)
  212. Script_OldUyghur,
  213. %End
  214. %If (Qt_6_3_0 -)
  215. Script_Tangsa,
  216. %End
  217. %If (Qt_6_3_0 -)
  218. Script_Toto,
  219. %End
  220. %If (Qt_6_3_0 -)
  221. Script_Vithkuqi,
  222. %End
  223. %If (Qt_6_5_0 -)
  224. Script_Kawi,
  225. %End
  226. %If (Qt_6_9_0 -)
  227. Script_Garay,
  228. %End
  229. %If (Qt_6_9_0 -)
  230. Script_GurungKhema,
  231. %End
  232. %If (Qt_6_9_0 -)
  233. Script_KiratRai,
  234. %End
  235. %If (Qt_6_9_0 -)
  236. Script_OlOnal,
  237. %End
  238. %If (Qt_6_9_0 -)
  239. Script_Sunuwar,
  240. %End
  241. %If (Qt_6_9_0 -)
  242. Script_Todhri,
  243. %End
  244. %If (Qt_6_9_0 -)
  245. Script_TuluTigalari,
  246. %End
  247. %If (Qt_6_11_0 -)
  248. Script_Sidetic,
  249. %End
  250. %If (Qt_6_11_0 -)
  251. Script_TaiYo,
  252. %End
  253. %If (Qt_6_11_0 -)
  254. Script_TolongSiki,
  255. %End
  256. %If (Qt_6_11_0 -)
  257. Script_BeriaErfe,
  258. %End
  259. };
  260. };
  261. bool operator>=(const QChar &lhs, const QChar &rhs);
  262. bool operator<=(const QChar &lhs, const QChar &rhs);
  263. bool operator>(const QChar &lhs, const QChar &rhs);
  264. bool operator<(const QChar &lhs, const QChar &rhs);
  265. bool operator!=(const QChar &lhs, const QChar &rhs);
  266. bool operator==(const QChar &lhs, const QChar &rhs);
  267. %If (- Qt_6_10_0)
  268. QDataStream &operator>>(QDataStream &, QChar & /Constrained/) /ReleaseGIL/;
  269. %End
  270. %If (- Qt_6_10_0)
  271. QDataStream &operator<<(QDataStream &, QChar) /ReleaseGIL/;
  272. %End