_tkinter.c.h 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895
  1. /*[clinic input]
  2. preserve
  3. [clinic start generated code]*/
  4. #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
  5. # include "pycore_gc.h" // PyGC_Head
  6. # include "pycore_runtime.h" // _Py_ID()
  7. #endif
  8. PyDoc_STRVAR(_tkinter_tkapp_eval__doc__,
  9. "eval($self, script, /)\n"
  10. "--\n"
  11. "\n");
  12. #define _TKINTER_TKAPP_EVAL_METHODDEF \
  13. {"eval", (PyCFunction)_tkinter_tkapp_eval, METH_O, _tkinter_tkapp_eval__doc__},
  14. static PyObject *
  15. _tkinter_tkapp_eval_impl(TkappObject *self, const char *script);
  16. static PyObject *
  17. _tkinter_tkapp_eval(TkappObject *self, PyObject *arg)
  18. {
  19. PyObject *return_value = NULL;
  20. const char *script;
  21. if (!PyUnicode_Check(arg)) {
  22. _PyArg_BadArgument("eval", "argument", "str", arg);
  23. goto exit;
  24. }
  25. Py_ssize_t script_length;
  26. script = PyUnicode_AsUTF8AndSize(arg, &script_length);
  27. if (script == NULL) {
  28. goto exit;
  29. }
  30. if (strlen(script) != (size_t)script_length) {
  31. PyErr_SetString(PyExc_ValueError, "embedded null character");
  32. goto exit;
  33. }
  34. return_value = _tkinter_tkapp_eval_impl(self, script);
  35. exit:
  36. return return_value;
  37. }
  38. PyDoc_STRVAR(_tkinter_tkapp_evalfile__doc__,
  39. "evalfile($self, fileName, /)\n"
  40. "--\n"
  41. "\n");
  42. #define _TKINTER_TKAPP_EVALFILE_METHODDEF \
  43. {"evalfile", (PyCFunction)_tkinter_tkapp_evalfile, METH_O, _tkinter_tkapp_evalfile__doc__},
  44. static PyObject *
  45. _tkinter_tkapp_evalfile_impl(TkappObject *self, const char *fileName);
  46. static PyObject *
  47. _tkinter_tkapp_evalfile(TkappObject *self, PyObject *arg)
  48. {
  49. PyObject *return_value = NULL;
  50. const char *fileName;
  51. if (!PyUnicode_Check(arg)) {
  52. _PyArg_BadArgument("evalfile", "argument", "str", arg);
  53. goto exit;
  54. }
  55. Py_ssize_t fileName_length;
  56. fileName = PyUnicode_AsUTF8AndSize(arg, &fileName_length);
  57. if (fileName == NULL) {
  58. goto exit;
  59. }
  60. if (strlen(fileName) != (size_t)fileName_length) {
  61. PyErr_SetString(PyExc_ValueError, "embedded null character");
  62. goto exit;
  63. }
  64. return_value = _tkinter_tkapp_evalfile_impl(self, fileName);
  65. exit:
  66. return return_value;
  67. }
  68. PyDoc_STRVAR(_tkinter_tkapp_record__doc__,
  69. "record($self, script, /)\n"
  70. "--\n"
  71. "\n");
  72. #define _TKINTER_TKAPP_RECORD_METHODDEF \
  73. {"record", (PyCFunction)_tkinter_tkapp_record, METH_O, _tkinter_tkapp_record__doc__},
  74. static PyObject *
  75. _tkinter_tkapp_record_impl(TkappObject *self, const char *script);
  76. static PyObject *
  77. _tkinter_tkapp_record(TkappObject *self, PyObject *arg)
  78. {
  79. PyObject *return_value = NULL;
  80. const char *script;
  81. if (!PyUnicode_Check(arg)) {
  82. _PyArg_BadArgument("record", "argument", "str", arg);
  83. goto exit;
  84. }
  85. Py_ssize_t script_length;
  86. script = PyUnicode_AsUTF8AndSize(arg, &script_length);
  87. if (script == NULL) {
  88. goto exit;
  89. }
  90. if (strlen(script) != (size_t)script_length) {
  91. PyErr_SetString(PyExc_ValueError, "embedded null character");
  92. goto exit;
  93. }
  94. return_value = _tkinter_tkapp_record_impl(self, script);
  95. exit:
  96. return return_value;
  97. }
  98. PyDoc_STRVAR(_tkinter_tkapp_adderrorinfo__doc__,
  99. "adderrorinfo($self, msg, /)\n"
  100. "--\n"
  101. "\n");
  102. #define _TKINTER_TKAPP_ADDERRORINFO_METHODDEF \
  103. {"adderrorinfo", (PyCFunction)_tkinter_tkapp_adderrorinfo, METH_O, _tkinter_tkapp_adderrorinfo__doc__},
  104. static PyObject *
  105. _tkinter_tkapp_adderrorinfo_impl(TkappObject *self, const char *msg);
  106. static PyObject *
  107. _tkinter_tkapp_adderrorinfo(TkappObject *self, PyObject *arg)
  108. {
  109. PyObject *return_value = NULL;
  110. const char *msg;
  111. if (!PyUnicode_Check(arg)) {
  112. _PyArg_BadArgument("adderrorinfo", "argument", "str", arg);
  113. goto exit;
  114. }
  115. Py_ssize_t msg_length;
  116. msg = PyUnicode_AsUTF8AndSize(arg, &msg_length);
  117. if (msg == NULL) {
  118. goto exit;
  119. }
  120. if (strlen(msg) != (size_t)msg_length) {
  121. PyErr_SetString(PyExc_ValueError, "embedded null character");
  122. goto exit;
  123. }
  124. return_value = _tkinter_tkapp_adderrorinfo_impl(self, msg);
  125. exit:
  126. return return_value;
  127. }
  128. PyDoc_STRVAR(_tkinter_tkapp_getint__doc__,
  129. "getint($self, arg, /)\n"
  130. "--\n"
  131. "\n");
  132. #define _TKINTER_TKAPP_GETINT_METHODDEF \
  133. {"getint", (PyCFunction)_tkinter_tkapp_getint, METH_O, _tkinter_tkapp_getint__doc__},
  134. PyDoc_STRVAR(_tkinter_tkapp_getdouble__doc__,
  135. "getdouble($self, arg, /)\n"
  136. "--\n"
  137. "\n");
  138. #define _TKINTER_TKAPP_GETDOUBLE_METHODDEF \
  139. {"getdouble", (PyCFunction)_tkinter_tkapp_getdouble, METH_O, _tkinter_tkapp_getdouble__doc__},
  140. PyDoc_STRVAR(_tkinter_tkapp_getboolean__doc__,
  141. "getboolean($self, arg, /)\n"
  142. "--\n"
  143. "\n");
  144. #define _TKINTER_TKAPP_GETBOOLEAN_METHODDEF \
  145. {"getboolean", (PyCFunction)_tkinter_tkapp_getboolean, METH_O, _tkinter_tkapp_getboolean__doc__},
  146. PyDoc_STRVAR(_tkinter_tkapp_exprstring__doc__,
  147. "exprstring($self, s, /)\n"
  148. "--\n"
  149. "\n");
  150. #define _TKINTER_TKAPP_EXPRSTRING_METHODDEF \
  151. {"exprstring", (PyCFunction)_tkinter_tkapp_exprstring, METH_O, _tkinter_tkapp_exprstring__doc__},
  152. static PyObject *
  153. _tkinter_tkapp_exprstring_impl(TkappObject *self, const char *s);
  154. static PyObject *
  155. _tkinter_tkapp_exprstring(TkappObject *self, PyObject *arg)
  156. {
  157. PyObject *return_value = NULL;
  158. const char *s;
  159. if (!PyUnicode_Check(arg)) {
  160. _PyArg_BadArgument("exprstring", "argument", "str", arg);
  161. goto exit;
  162. }
  163. Py_ssize_t s_length;
  164. s = PyUnicode_AsUTF8AndSize(arg, &s_length);
  165. if (s == NULL) {
  166. goto exit;
  167. }
  168. if (strlen(s) != (size_t)s_length) {
  169. PyErr_SetString(PyExc_ValueError, "embedded null character");
  170. goto exit;
  171. }
  172. return_value = _tkinter_tkapp_exprstring_impl(self, s);
  173. exit:
  174. return return_value;
  175. }
  176. PyDoc_STRVAR(_tkinter_tkapp_exprlong__doc__,
  177. "exprlong($self, s, /)\n"
  178. "--\n"
  179. "\n");
  180. #define _TKINTER_TKAPP_EXPRLONG_METHODDEF \
  181. {"exprlong", (PyCFunction)_tkinter_tkapp_exprlong, METH_O, _tkinter_tkapp_exprlong__doc__},
  182. static PyObject *
  183. _tkinter_tkapp_exprlong_impl(TkappObject *self, const char *s);
  184. static PyObject *
  185. _tkinter_tkapp_exprlong(TkappObject *self, PyObject *arg)
  186. {
  187. PyObject *return_value = NULL;
  188. const char *s;
  189. if (!PyUnicode_Check(arg)) {
  190. _PyArg_BadArgument("exprlong", "argument", "str", arg);
  191. goto exit;
  192. }
  193. Py_ssize_t s_length;
  194. s = PyUnicode_AsUTF8AndSize(arg, &s_length);
  195. if (s == NULL) {
  196. goto exit;
  197. }
  198. if (strlen(s) != (size_t)s_length) {
  199. PyErr_SetString(PyExc_ValueError, "embedded null character");
  200. goto exit;
  201. }
  202. return_value = _tkinter_tkapp_exprlong_impl(self, s);
  203. exit:
  204. return return_value;
  205. }
  206. PyDoc_STRVAR(_tkinter_tkapp_exprdouble__doc__,
  207. "exprdouble($self, s, /)\n"
  208. "--\n"
  209. "\n");
  210. #define _TKINTER_TKAPP_EXPRDOUBLE_METHODDEF \
  211. {"exprdouble", (PyCFunction)_tkinter_tkapp_exprdouble, METH_O, _tkinter_tkapp_exprdouble__doc__},
  212. static PyObject *
  213. _tkinter_tkapp_exprdouble_impl(TkappObject *self, const char *s);
  214. static PyObject *
  215. _tkinter_tkapp_exprdouble(TkappObject *self, PyObject *arg)
  216. {
  217. PyObject *return_value = NULL;
  218. const char *s;
  219. if (!PyUnicode_Check(arg)) {
  220. _PyArg_BadArgument("exprdouble", "argument", "str", arg);
  221. goto exit;
  222. }
  223. Py_ssize_t s_length;
  224. s = PyUnicode_AsUTF8AndSize(arg, &s_length);
  225. if (s == NULL) {
  226. goto exit;
  227. }
  228. if (strlen(s) != (size_t)s_length) {
  229. PyErr_SetString(PyExc_ValueError, "embedded null character");
  230. goto exit;
  231. }
  232. return_value = _tkinter_tkapp_exprdouble_impl(self, s);
  233. exit:
  234. return return_value;
  235. }
  236. PyDoc_STRVAR(_tkinter_tkapp_exprboolean__doc__,
  237. "exprboolean($self, s, /)\n"
  238. "--\n"
  239. "\n");
  240. #define _TKINTER_TKAPP_EXPRBOOLEAN_METHODDEF \
  241. {"exprboolean", (PyCFunction)_tkinter_tkapp_exprboolean, METH_O, _tkinter_tkapp_exprboolean__doc__},
  242. static PyObject *
  243. _tkinter_tkapp_exprboolean_impl(TkappObject *self, const char *s);
  244. static PyObject *
  245. _tkinter_tkapp_exprboolean(TkappObject *self, PyObject *arg)
  246. {
  247. PyObject *return_value = NULL;
  248. const char *s;
  249. if (!PyUnicode_Check(arg)) {
  250. _PyArg_BadArgument("exprboolean", "argument", "str", arg);
  251. goto exit;
  252. }
  253. Py_ssize_t s_length;
  254. s = PyUnicode_AsUTF8AndSize(arg, &s_length);
  255. if (s == NULL) {
  256. goto exit;
  257. }
  258. if (strlen(s) != (size_t)s_length) {
  259. PyErr_SetString(PyExc_ValueError, "embedded null character");
  260. goto exit;
  261. }
  262. return_value = _tkinter_tkapp_exprboolean_impl(self, s);
  263. exit:
  264. return return_value;
  265. }
  266. PyDoc_STRVAR(_tkinter_tkapp_splitlist__doc__,
  267. "splitlist($self, arg, /)\n"
  268. "--\n"
  269. "\n");
  270. #define _TKINTER_TKAPP_SPLITLIST_METHODDEF \
  271. {"splitlist", (PyCFunction)_tkinter_tkapp_splitlist, METH_O, _tkinter_tkapp_splitlist__doc__},
  272. PyDoc_STRVAR(_tkinter_tkapp_createcommand__doc__,
  273. "createcommand($self, name, func, /)\n"
  274. "--\n"
  275. "\n");
  276. #define _TKINTER_TKAPP_CREATECOMMAND_METHODDEF \
  277. {"createcommand", _PyCFunction_CAST(_tkinter_tkapp_createcommand), METH_FASTCALL, _tkinter_tkapp_createcommand__doc__},
  278. static PyObject *
  279. _tkinter_tkapp_createcommand_impl(TkappObject *self, const char *name,
  280. PyObject *func);
  281. static PyObject *
  282. _tkinter_tkapp_createcommand(TkappObject *self, PyObject *const *args, Py_ssize_t nargs)
  283. {
  284. PyObject *return_value = NULL;
  285. const char *name;
  286. PyObject *func;
  287. if (!_PyArg_CheckPositional("createcommand", nargs, 2, 2)) {
  288. goto exit;
  289. }
  290. if (!PyUnicode_Check(args[0])) {
  291. _PyArg_BadArgument("createcommand", "argument 1", "str", args[0]);
  292. goto exit;
  293. }
  294. Py_ssize_t name_length;
  295. name = PyUnicode_AsUTF8AndSize(args[0], &name_length);
  296. if (name == NULL) {
  297. goto exit;
  298. }
  299. if (strlen(name) != (size_t)name_length) {
  300. PyErr_SetString(PyExc_ValueError, "embedded null character");
  301. goto exit;
  302. }
  303. func = args[1];
  304. return_value = _tkinter_tkapp_createcommand_impl(self, name, func);
  305. exit:
  306. return return_value;
  307. }
  308. PyDoc_STRVAR(_tkinter_tkapp_deletecommand__doc__,
  309. "deletecommand($self, name, /)\n"
  310. "--\n"
  311. "\n");
  312. #define _TKINTER_TKAPP_DELETECOMMAND_METHODDEF \
  313. {"deletecommand", (PyCFunction)_tkinter_tkapp_deletecommand, METH_O, _tkinter_tkapp_deletecommand__doc__},
  314. static PyObject *
  315. _tkinter_tkapp_deletecommand_impl(TkappObject *self, const char *name);
  316. static PyObject *
  317. _tkinter_tkapp_deletecommand(TkappObject *self, PyObject *arg)
  318. {
  319. PyObject *return_value = NULL;
  320. const char *name;
  321. if (!PyUnicode_Check(arg)) {
  322. _PyArg_BadArgument("deletecommand", "argument", "str", arg);
  323. goto exit;
  324. }
  325. Py_ssize_t name_length;
  326. name = PyUnicode_AsUTF8AndSize(arg, &name_length);
  327. if (name == NULL) {
  328. goto exit;
  329. }
  330. if (strlen(name) != (size_t)name_length) {
  331. PyErr_SetString(PyExc_ValueError, "embedded null character");
  332. goto exit;
  333. }
  334. return_value = _tkinter_tkapp_deletecommand_impl(self, name);
  335. exit:
  336. return return_value;
  337. }
  338. #if defined(HAVE_CREATEFILEHANDLER)
  339. PyDoc_STRVAR(_tkinter_tkapp_createfilehandler__doc__,
  340. "createfilehandler($self, file, mask, func, /)\n"
  341. "--\n"
  342. "\n");
  343. #define _TKINTER_TKAPP_CREATEFILEHANDLER_METHODDEF \
  344. {"createfilehandler", _PyCFunction_CAST(_tkinter_tkapp_createfilehandler), METH_FASTCALL, _tkinter_tkapp_createfilehandler__doc__},
  345. static PyObject *
  346. _tkinter_tkapp_createfilehandler_impl(TkappObject *self, PyObject *file,
  347. int mask, PyObject *func);
  348. static PyObject *
  349. _tkinter_tkapp_createfilehandler(TkappObject *self, PyObject *const *args, Py_ssize_t nargs)
  350. {
  351. PyObject *return_value = NULL;
  352. PyObject *file;
  353. int mask;
  354. PyObject *func;
  355. if (!_PyArg_CheckPositional("createfilehandler", nargs, 3, 3)) {
  356. goto exit;
  357. }
  358. file = args[0];
  359. mask = _PyLong_AsInt(args[1]);
  360. if (mask == -1 && PyErr_Occurred()) {
  361. goto exit;
  362. }
  363. func = args[2];
  364. return_value = _tkinter_tkapp_createfilehandler_impl(self, file, mask, func);
  365. exit:
  366. return return_value;
  367. }
  368. #endif /* defined(HAVE_CREATEFILEHANDLER) */
  369. #if defined(HAVE_CREATEFILEHANDLER)
  370. PyDoc_STRVAR(_tkinter_tkapp_deletefilehandler__doc__,
  371. "deletefilehandler($self, file, /)\n"
  372. "--\n"
  373. "\n");
  374. #define _TKINTER_TKAPP_DELETEFILEHANDLER_METHODDEF \
  375. {"deletefilehandler", (PyCFunction)_tkinter_tkapp_deletefilehandler, METH_O, _tkinter_tkapp_deletefilehandler__doc__},
  376. #endif /* defined(HAVE_CREATEFILEHANDLER) */
  377. PyDoc_STRVAR(_tkinter_tktimertoken_deletetimerhandler__doc__,
  378. "deletetimerhandler($self, /)\n"
  379. "--\n"
  380. "\n");
  381. #define _TKINTER_TKTIMERTOKEN_DELETETIMERHANDLER_METHODDEF \
  382. {"deletetimerhandler", (PyCFunction)_tkinter_tktimertoken_deletetimerhandler, METH_NOARGS, _tkinter_tktimertoken_deletetimerhandler__doc__},
  383. static PyObject *
  384. _tkinter_tktimertoken_deletetimerhandler_impl(TkttObject *self);
  385. static PyObject *
  386. _tkinter_tktimertoken_deletetimerhandler(TkttObject *self, PyObject *Py_UNUSED(ignored))
  387. {
  388. return _tkinter_tktimertoken_deletetimerhandler_impl(self);
  389. }
  390. PyDoc_STRVAR(_tkinter_tkapp_createtimerhandler__doc__,
  391. "createtimerhandler($self, milliseconds, func, /)\n"
  392. "--\n"
  393. "\n");
  394. #define _TKINTER_TKAPP_CREATETIMERHANDLER_METHODDEF \
  395. {"createtimerhandler", _PyCFunction_CAST(_tkinter_tkapp_createtimerhandler), METH_FASTCALL, _tkinter_tkapp_createtimerhandler__doc__},
  396. static PyObject *
  397. _tkinter_tkapp_createtimerhandler_impl(TkappObject *self, int milliseconds,
  398. PyObject *func);
  399. static PyObject *
  400. _tkinter_tkapp_createtimerhandler(TkappObject *self, PyObject *const *args, Py_ssize_t nargs)
  401. {
  402. PyObject *return_value = NULL;
  403. int milliseconds;
  404. PyObject *func;
  405. if (!_PyArg_CheckPositional("createtimerhandler", nargs, 2, 2)) {
  406. goto exit;
  407. }
  408. milliseconds = _PyLong_AsInt(args[0]);
  409. if (milliseconds == -1 && PyErr_Occurred()) {
  410. goto exit;
  411. }
  412. func = args[1];
  413. return_value = _tkinter_tkapp_createtimerhandler_impl(self, milliseconds, func);
  414. exit:
  415. return return_value;
  416. }
  417. PyDoc_STRVAR(_tkinter_tkapp_mainloop__doc__,
  418. "mainloop($self, threshold=0, /)\n"
  419. "--\n"
  420. "\n");
  421. #define _TKINTER_TKAPP_MAINLOOP_METHODDEF \
  422. {"mainloop", _PyCFunction_CAST(_tkinter_tkapp_mainloop), METH_FASTCALL, _tkinter_tkapp_mainloop__doc__},
  423. static PyObject *
  424. _tkinter_tkapp_mainloop_impl(TkappObject *self, int threshold);
  425. static PyObject *
  426. _tkinter_tkapp_mainloop(TkappObject *self, PyObject *const *args, Py_ssize_t nargs)
  427. {
  428. PyObject *return_value = NULL;
  429. int threshold = 0;
  430. if (!_PyArg_CheckPositional("mainloop", nargs, 0, 1)) {
  431. goto exit;
  432. }
  433. if (nargs < 1) {
  434. goto skip_optional;
  435. }
  436. threshold = _PyLong_AsInt(args[0]);
  437. if (threshold == -1 && PyErr_Occurred()) {
  438. goto exit;
  439. }
  440. skip_optional:
  441. return_value = _tkinter_tkapp_mainloop_impl(self, threshold);
  442. exit:
  443. return return_value;
  444. }
  445. PyDoc_STRVAR(_tkinter_tkapp_dooneevent__doc__,
  446. "dooneevent($self, flags=0, /)\n"
  447. "--\n"
  448. "\n");
  449. #define _TKINTER_TKAPP_DOONEEVENT_METHODDEF \
  450. {"dooneevent", _PyCFunction_CAST(_tkinter_tkapp_dooneevent), METH_FASTCALL, _tkinter_tkapp_dooneevent__doc__},
  451. static PyObject *
  452. _tkinter_tkapp_dooneevent_impl(TkappObject *self, int flags);
  453. static PyObject *
  454. _tkinter_tkapp_dooneevent(TkappObject *self, PyObject *const *args, Py_ssize_t nargs)
  455. {
  456. PyObject *return_value = NULL;
  457. int flags = 0;
  458. if (!_PyArg_CheckPositional("dooneevent", nargs, 0, 1)) {
  459. goto exit;
  460. }
  461. if (nargs < 1) {
  462. goto skip_optional;
  463. }
  464. flags = _PyLong_AsInt(args[0]);
  465. if (flags == -1 && PyErr_Occurred()) {
  466. goto exit;
  467. }
  468. skip_optional:
  469. return_value = _tkinter_tkapp_dooneevent_impl(self, flags);
  470. exit:
  471. return return_value;
  472. }
  473. PyDoc_STRVAR(_tkinter_tkapp_quit__doc__,
  474. "quit($self, /)\n"
  475. "--\n"
  476. "\n");
  477. #define _TKINTER_TKAPP_QUIT_METHODDEF \
  478. {"quit", (PyCFunction)_tkinter_tkapp_quit, METH_NOARGS, _tkinter_tkapp_quit__doc__},
  479. static PyObject *
  480. _tkinter_tkapp_quit_impl(TkappObject *self);
  481. static PyObject *
  482. _tkinter_tkapp_quit(TkappObject *self, PyObject *Py_UNUSED(ignored))
  483. {
  484. return _tkinter_tkapp_quit_impl(self);
  485. }
  486. PyDoc_STRVAR(_tkinter_tkapp_interpaddr__doc__,
  487. "interpaddr($self, /)\n"
  488. "--\n"
  489. "\n");
  490. #define _TKINTER_TKAPP_INTERPADDR_METHODDEF \
  491. {"interpaddr", (PyCFunction)_tkinter_tkapp_interpaddr, METH_NOARGS, _tkinter_tkapp_interpaddr__doc__},
  492. static PyObject *
  493. _tkinter_tkapp_interpaddr_impl(TkappObject *self);
  494. static PyObject *
  495. _tkinter_tkapp_interpaddr(TkappObject *self, PyObject *Py_UNUSED(ignored))
  496. {
  497. return _tkinter_tkapp_interpaddr_impl(self);
  498. }
  499. PyDoc_STRVAR(_tkinter_tkapp_loadtk__doc__,
  500. "loadtk($self, /)\n"
  501. "--\n"
  502. "\n");
  503. #define _TKINTER_TKAPP_LOADTK_METHODDEF \
  504. {"loadtk", (PyCFunction)_tkinter_tkapp_loadtk, METH_NOARGS, _tkinter_tkapp_loadtk__doc__},
  505. static PyObject *
  506. _tkinter_tkapp_loadtk_impl(TkappObject *self);
  507. static PyObject *
  508. _tkinter_tkapp_loadtk(TkappObject *self, PyObject *Py_UNUSED(ignored))
  509. {
  510. return _tkinter_tkapp_loadtk_impl(self);
  511. }
  512. PyDoc_STRVAR(_tkinter_tkapp_settrace__doc__,
  513. "settrace($self, func, /)\n"
  514. "--\n"
  515. "\n"
  516. "Set the tracing function.");
  517. #define _TKINTER_TKAPP_SETTRACE_METHODDEF \
  518. {"settrace", (PyCFunction)_tkinter_tkapp_settrace, METH_O, _tkinter_tkapp_settrace__doc__},
  519. PyDoc_STRVAR(_tkinter_tkapp_gettrace__doc__,
  520. "gettrace($self, /)\n"
  521. "--\n"
  522. "\n"
  523. "Get the tracing function.");
  524. #define _TKINTER_TKAPP_GETTRACE_METHODDEF \
  525. {"gettrace", (PyCFunction)_tkinter_tkapp_gettrace, METH_NOARGS, _tkinter_tkapp_gettrace__doc__},
  526. static PyObject *
  527. _tkinter_tkapp_gettrace_impl(TkappObject *self);
  528. static PyObject *
  529. _tkinter_tkapp_gettrace(TkappObject *self, PyObject *Py_UNUSED(ignored))
  530. {
  531. return _tkinter_tkapp_gettrace_impl(self);
  532. }
  533. PyDoc_STRVAR(_tkinter_tkapp_willdispatch__doc__,
  534. "willdispatch($self, /)\n"
  535. "--\n"
  536. "\n");
  537. #define _TKINTER_TKAPP_WILLDISPATCH_METHODDEF \
  538. {"willdispatch", (PyCFunction)_tkinter_tkapp_willdispatch, METH_NOARGS, _tkinter_tkapp_willdispatch__doc__},
  539. static PyObject *
  540. _tkinter_tkapp_willdispatch_impl(TkappObject *self);
  541. static PyObject *
  542. _tkinter_tkapp_willdispatch(TkappObject *self, PyObject *Py_UNUSED(ignored))
  543. {
  544. return _tkinter_tkapp_willdispatch_impl(self);
  545. }
  546. PyDoc_STRVAR(_tkinter__flatten__doc__,
  547. "_flatten($module, item, /)\n"
  548. "--\n"
  549. "\n");
  550. #define _TKINTER__FLATTEN_METHODDEF \
  551. {"_flatten", (PyCFunction)_tkinter__flatten, METH_O, _tkinter__flatten__doc__},
  552. PyDoc_STRVAR(_tkinter_create__doc__,
  553. "create($module, screenName=None, baseName=\'\', className=\'Tk\',\n"
  554. " interactive=False, wantobjects=False, wantTk=True, sync=False,\n"
  555. " use=None, /)\n"
  556. "--\n"
  557. "\n"
  558. "\n"
  559. "\n"
  560. " wantTk\n"
  561. " if false, then Tk_Init() doesn\'t get called\n"
  562. " sync\n"
  563. " if true, then pass -sync to wish\n"
  564. " use\n"
  565. " if not None, then pass -use to wish");
  566. #define _TKINTER_CREATE_METHODDEF \
  567. {"create", _PyCFunction_CAST(_tkinter_create), METH_FASTCALL, _tkinter_create__doc__},
  568. static PyObject *
  569. _tkinter_create_impl(PyObject *module, const char *screenName,
  570. const char *baseName, const char *className,
  571. int interactive, int wantobjects, int wantTk, int sync,
  572. const char *use);
  573. static PyObject *
  574. _tkinter_create(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
  575. {
  576. PyObject *return_value = NULL;
  577. const char *screenName = NULL;
  578. const char *baseName = "";
  579. const char *className = "Tk";
  580. int interactive = 0;
  581. int wantobjects = 0;
  582. int wantTk = 1;
  583. int sync = 0;
  584. const char *use = NULL;
  585. if (!_PyArg_CheckPositional("create", nargs, 0, 8)) {
  586. goto exit;
  587. }
  588. if (nargs < 1) {
  589. goto skip_optional;
  590. }
  591. if (args[0] == Py_None) {
  592. screenName = NULL;
  593. }
  594. else if (PyUnicode_Check(args[0])) {
  595. Py_ssize_t screenName_length;
  596. screenName = PyUnicode_AsUTF8AndSize(args[0], &screenName_length);
  597. if (screenName == NULL) {
  598. goto exit;
  599. }
  600. if (strlen(screenName) != (size_t)screenName_length) {
  601. PyErr_SetString(PyExc_ValueError, "embedded null character");
  602. goto exit;
  603. }
  604. }
  605. else {
  606. _PyArg_BadArgument("create", "argument 1", "str or None", args[0]);
  607. goto exit;
  608. }
  609. if (nargs < 2) {
  610. goto skip_optional;
  611. }
  612. if (!PyUnicode_Check(args[1])) {
  613. _PyArg_BadArgument("create", "argument 2", "str", args[1]);
  614. goto exit;
  615. }
  616. Py_ssize_t baseName_length;
  617. baseName = PyUnicode_AsUTF8AndSize(args[1], &baseName_length);
  618. if (baseName == NULL) {
  619. goto exit;
  620. }
  621. if (strlen(baseName) != (size_t)baseName_length) {
  622. PyErr_SetString(PyExc_ValueError, "embedded null character");
  623. goto exit;
  624. }
  625. if (nargs < 3) {
  626. goto skip_optional;
  627. }
  628. if (!PyUnicode_Check(args[2])) {
  629. _PyArg_BadArgument("create", "argument 3", "str", args[2]);
  630. goto exit;
  631. }
  632. Py_ssize_t className_length;
  633. className = PyUnicode_AsUTF8AndSize(args[2], &className_length);
  634. if (className == NULL) {
  635. goto exit;
  636. }
  637. if (strlen(className) != (size_t)className_length) {
  638. PyErr_SetString(PyExc_ValueError, "embedded null character");
  639. goto exit;
  640. }
  641. if (nargs < 4) {
  642. goto skip_optional;
  643. }
  644. interactive = PyObject_IsTrue(args[3]);
  645. if (interactive < 0) {
  646. goto exit;
  647. }
  648. if (nargs < 5) {
  649. goto skip_optional;
  650. }
  651. wantobjects = PyObject_IsTrue(args[4]);
  652. if (wantobjects < 0) {
  653. goto exit;
  654. }
  655. if (nargs < 6) {
  656. goto skip_optional;
  657. }
  658. wantTk = PyObject_IsTrue(args[5]);
  659. if (wantTk < 0) {
  660. goto exit;
  661. }
  662. if (nargs < 7) {
  663. goto skip_optional;
  664. }
  665. sync = PyObject_IsTrue(args[6]);
  666. if (sync < 0) {
  667. goto exit;
  668. }
  669. if (nargs < 8) {
  670. goto skip_optional;
  671. }
  672. if (args[7] == Py_None) {
  673. use = NULL;
  674. }
  675. else if (PyUnicode_Check(args[7])) {
  676. Py_ssize_t use_length;
  677. use = PyUnicode_AsUTF8AndSize(args[7], &use_length);
  678. if (use == NULL) {
  679. goto exit;
  680. }
  681. if (strlen(use) != (size_t)use_length) {
  682. PyErr_SetString(PyExc_ValueError, "embedded null character");
  683. goto exit;
  684. }
  685. }
  686. else {
  687. _PyArg_BadArgument("create", "argument 8", "str or None", args[7]);
  688. goto exit;
  689. }
  690. skip_optional:
  691. return_value = _tkinter_create_impl(module, screenName, baseName, className, interactive, wantobjects, wantTk, sync, use);
  692. exit:
  693. return return_value;
  694. }
  695. PyDoc_STRVAR(_tkinter_setbusywaitinterval__doc__,
  696. "setbusywaitinterval($module, new_val, /)\n"
  697. "--\n"
  698. "\n"
  699. "Set the busy-wait interval in milliseconds between successive calls to Tcl_DoOneEvent in a threaded Python interpreter.\n"
  700. "\n"
  701. "It should be set to a divisor of the maximum time between frames in an animation.");
  702. #define _TKINTER_SETBUSYWAITINTERVAL_METHODDEF \
  703. {"setbusywaitinterval", (PyCFunction)_tkinter_setbusywaitinterval, METH_O, _tkinter_setbusywaitinterval__doc__},
  704. static PyObject *
  705. _tkinter_setbusywaitinterval_impl(PyObject *module, int new_val);
  706. static PyObject *
  707. _tkinter_setbusywaitinterval(PyObject *module, PyObject *arg)
  708. {
  709. PyObject *return_value = NULL;
  710. int new_val;
  711. new_val = _PyLong_AsInt(arg);
  712. if (new_val == -1 && PyErr_Occurred()) {
  713. goto exit;
  714. }
  715. return_value = _tkinter_setbusywaitinterval_impl(module, new_val);
  716. exit:
  717. return return_value;
  718. }
  719. PyDoc_STRVAR(_tkinter_getbusywaitinterval__doc__,
  720. "getbusywaitinterval($module, /)\n"
  721. "--\n"
  722. "\n"
  723. "Return the current busy-wait interval between successive calls to Tcl_DoOneEvent in a threaded Python interpreter.");
  724. #define _TKINTER_GETBUSYWAITINTERVAL_METHODDEF \
  725. {"getbusywaitinterval", (PyCFunction)_tkinter_getbusywaitinterval, METH_NOARGS, _tkinter_getbusywaitinterval__doc__},
  726. static int
  727. _tkinter_getbusywaitinterval_impl(PyObject *module);
  728. static PyObject *
  729. _tkinter_getbusywaitinterval(PyObject *module, PyObject *Py_UNUSED(ignored))
  730. {
  731. PyObject *return_value = NULL;
  732. int _return_value;
  733. _return_value = _tkinter_getbusywaitinterval_impl(module);
  734. if ((_return_value == -1) && PyErr_Occurred()) {
  735. goto exit;
  736. }
  737. return_value = PyLong_FromLong((long)_return_value);
  738. exit:
  739. return return_value;
  740. }
  741. #ifndef _TKINTER_TKAPP_CREATEFILEHANDLER_METHODDEF
  742. #define _TKINTER_TKAPP_CREATEFILEHANDLER_METHODDEF
  743. #endif /* !defined(_TKINTER_TKAPP_CREATEFILEHANDLER_METHODDEF) */
  744. #ifndef _TKINTER_TKAPP_DELETEFILEHANDLER_METHODDEF
  745. #define _TKINTER_TKAPP_DELETEFILEHANDLER_METHODDEF
  746. #endif /* !defined(_TKINTER_TKAPP_DELETEFILEHANDLER_METHODDEF) */
  747. /*[clinic end generated code: output=61ba8eef2e489a1b input=a9049054013a1b77]*/