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