New submission from Terry J. Reedy: The custom popup entry dialogs in config_sec and config_help have a common structure and overlapping code. When one hits OK and the entry is not valid, both display a specific message and let the user edit the entry (or Cancel).
File => Load Module, on the other hand, uses tkSimpleDialog.askstring. No error checking is done before the box disappears. If there is an error, even a simple misspelling, one must start over. It is really annoying to use. I want to replace this with a custom popup that would be the same as the one in config_sec, except for title, prompt, and validation function. If the name given has multiple conponents, such as idlelib.idelhelp.help_xyz, I would like to report which is the first invalid component (going from left to right). I am therefore adding a new module, query.py, with a new Query class that will be the baseclass for three derived classes. The partial patch renames config_sec.py (formerly configSectionNameDialog.py) to query.py. The corresponding test_config_sec) becomes test_query. It splits class GetCfgSectionNameDialog into a base class Query and a subclass SectionName. Query is responsible for the popup, and used ttk widgets as appropriate. SectionName overrides the entry validation function entry_ok (formerly name_ok). The test functions have been similarly split. What remains are ModuleName and HelpSource subclasses, corresponding tests, and integration with the software that would use them. ---------- assignee: terry.reedy files: query.diff keywords: patch messages: 269154 nosy: terry.reedy priority: normal severity: normal stage: patch review status: open title: IDLE: add base Query dialog with ttk widgets type: enhancement versions: Python 3.6 Added file: http://bugs.python.org/file43526/query.diff _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue27380> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com