From 29c17ffb47dfc8fa688e1357c73eb522e86dd955 Mon Sep 17 00:00:00 2001 From: Spencer Brown Date: Mon, 11 Jul 2022 02:52:16 +1000 Subject: [PATCH] Improve `tkinter.simpledialog` (#8243) --- stdlib/tkinter/simpledialog.pyi | 39 ++++++++++++++++++++---- tests/stubtest_allowlists/py3_common.txt | 4 --- 2 files changed, 33 insertions(+), 10 deletions(-) diff --git a/stdlib/tkinter/simpledialog.pyi b/stdlib/tkinter/simpledialog.pyi index fbe785307..8ae8b6d28 100644 --- a/stdlib/tkinter/simpledialog.pyi +++ b/stdlib/tkinter/simpledialog.pyi @@ -1,10 +1,13 @@ -from tkinter import Event, Misc, Toplevel -from typing import Any +from tkinter import Event, Frame, Misc, Toplevel class Dialog(Toplevel): def __init__(self, parent: Misc | None, title: str | None = ...) -> None: ... - def body(self, master) -> None: ... + def body(self, master: Frame) -> Misc | None: ... def buttonbox(self) -> None: ... + def ok(self, event: Event[Misc] | None = ...) -> None: ... + def cancel(self, event: Event[Misc] | None = ...) -> None: ... + def validate(self) -> bool: ... + def apply(self) -> None: ... class SimpleDialog: def __init__( @@ -22,6 +25,30 @@ class SimpleDialog: def wm_delete_window(self) -> None: ... def done(self, num: int) -> None: ... -def askfloat(title: str | None, prompt: str, **kwargs: Any) -> float | None: ... -def askinteger(title: str | None, prompt: str, **kwargs: Any) -> int | None: ... -def askstring(title: str | None, prompt: str, **kwargs: Any) -> str | None: ... +def askfloat( + title: str | None, + prompt: str, + *, + initialvalue: float | None = ..., + minvalue: float | None = ..., + maxvalue: float | None = ..., + parent: Misc | None = ..., +) -> float | None: ... +def askinteger( + title: str | None, + prompt: str, + *, + initialvalue: int | None = ..., + minvalue: int | None = ..., + maxvalue: int | None = ..., + parent: Misc | None = ..., +) -> int | None: ... +def askstring( + title: str | None, + prompt: str, + *, + initialvalue: str | None = ..., + show: str | None = ..., + # minvalue/maxvalue is accepted but not useful. + parent: Misc | None = ..., +) -> str | None: ... diff --git a/tests/stubtest_allowlists/py3_common.txt b/tests/stubtest_allowlists/py3_common.txt index a45a5e904..a2440fdb9 100644 --- a/tests/stubtest_allowlists/py3_common.txt +++ b/tests/stubtest_allowlists/py3_common.txt @@ -284,10 +284,6 @@ multiprocessing.synchronize.Semaphore.get_value socket.CAPI tkinter.Misc.config tkinter.font.Font.counter -tkinter.simpledialog.Dialog.apply -tkinter.simpledialog.Dialog.cancel -tkinter.simpledialog.Dialog.ok -tkinter.simpledialog.Dialog.validate tkinter.tix.CObjView tkinter.tix.DialogShell tkinter.tix.ExFileSelectDialog