classification
Title: Tkinter __init__ documentations sometimes missing valid keyword values
Type: behavior Stage: patch review
Components: Documentation, Tkinter Versions: Python 3.10
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: docs@python Nosy List: Creation Elemental, ZackerySpytz, docs@python, noah.haasis, serhiy.storchaka, terry.reedy
Priority: normal Keywords: patch

Created on 2018-07-19 03:08 by Creation Elemental, last changed 2020-07-06 07:45 by terry.reedy.

Pull Requests
URL Status Linked Edit
PR 8379 closed noah.haasis, 2018-07-21 17:08
PR 21118 open ZackerySpytz, 2020-06-24 14:47
Messages (8)
msg321921 - (view) Author: Creation Elemental (Creation Elemental) Date: 2018-07-19 03:08
Priority: Low
Type: Documentation issue

Some of the Tkinter documentation is incomplete. I've only checked it on the Listbox so far, but some of the valid keyword arguments are missing. The one I noticed was "disabledforeground" which changes how the foreground color of text when the Listbox is in the disabled state or has a selection mode of none. I've noticed this across multiple versions of python, including Python 2.7 and Python 3.6, both of which accepted "disabledforeground" as a valid keyword without it being in the list shown in the help for Listbox.__init__

I found the disabledforeground keyword argument when looking at the Listbox documentation here: https://www.tcl.tk/man/tcl8.4/TkCmd/listbox.htm
msg322008 - (view) Author: Noah Haasis (noah.haasis) * Date: 2018-07-20 13:41
I'd like to work on this, if it's ok for everybody.
msg322063 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2018-07-21 02:33
By documentation, you mean the doc string for each widget, which is the basis for the help(widget) response.  I checked that there do not seem to be any other issues open for the docstrings.  Go ahead.  Use https://www.tcl.tk/man/tcl8.6/TkCmd/contents.htm as the reference.

C.E.: if you have a list of missing thing, can you post?  This is normal priority.
msg322064 - (view) Author: Creation Elemental (Creation Elemental) Date: 2018-07-21 02:39
Ah, yes. That is what I meant to say. The doc string printed by help(widget)
msg322065 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2018-07-21 02:41
The official Tk documentation is not always correct. OPTIONS attributes in tests should contain full lists of supported options, and running tests produces warnings for missed options, like: ListboxTest.OPTIONS doesn't contain "justify".
msg322102 - (view) Author: Noah Haasis (noah.haasis) * Date: 2018-07-21 15:40
This is a list of all valid keywordarguments of Listbox.__init__() listed in the test file: 
'activestyle', 'background', 'borderwidth', 'cursor',
'disabledforeground', 'exportselection',
'font', 'foreground', 'height',
'highlightbackground', 'highlightcolor', 'highlightthickness',
'listvariable', 'relief',
'selectbackground', 'selectborderwidth', 'selectforeground',
'selectmode', 'setgrid', 'state',
'takefocus', 'width', 'xscrollcommand', 'yscrollcommand'

The ones that are missing in the doc string:
'activestyle', 'disabledforeground', 
'listvariable','state'
msg322132 - (view) Author: Noah Haasis (noah.haasis) * Date: 2018-07-22 05:19
This are all the classes where the keywords are missing in the docs and their missing keywords:
TopLevel
['padx', 'pady']

Checkbutton
['compound', 'offrelief', 'overrelief', 'tristateimage', 'tristatevalue']

Entry
['disabledbackground', 'disabledforeground', 'readonlybackground']

Frame
['padx', 'pady']

Label
['compound']

Radiobutton
['compound', 'offrelief', 'overrelief', 'tristateimage', 'tristatevalue']

Text
['blockcursor', 'endline', 'inactiveselectbackground', 'insertunfocussed', 'startline', 'tabstyle']

Spinbox
['validatecommand', 'values']

Menubutton
['activebackground', 'activeforeground', 'anchor', 'background', 'bitmap', 'borderwidth', 'compound', 'cursor', 'direction', 'disabledforeground', 'font', 'foreground', 'height', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'image', 'indicatoron', 'justify', 'menu', 'padx', 'pady', 'relief', 'state', 'takefocus', 'text', 'textvariable', 'underline', 'width', 'wraplength']

Message
['anchor', 'aspect', 'background', 'borderwidth', 'cursor', 'font', 'foreground', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'justify', 'padx', 'pady', 'relief', 'takefocus', 'text', 'textvariable', 'width']

The missing keywords appear in the OPTIONS list in the test but not in the docstring.
msg322152 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2018-07-22 16:49
Few new options were added: see issue34189.
History
Date User Action Args
2020-07-06 07:45:49terry.reedysetversions: + Python 3.10, - Python 2.7, Python 3.6, Python 3.7, Python 3.8
2020-06-24 14:47:25ZackerySpytzsetnosy: + ZackerySpytz
pull_requests: + pull_request20281
2018-07-22 16:49:19serhiy.storchakasetmessages: + msg322152
2018-07-22 05:19:37noah.haasissetmessages: + msg322132
2018-07-21 17:08:32noah.haasissetkeywords: + patch
stage: needs patch -> patch review
pull_requests: + pull_request7909
2018-07-21 15:40:54noah.haasissetmessages: + msg322102
2018-07-21 02:41:14serhiy.storchakasetmessages: + msg322065
2018-07-21 02:39:25Creation Elementalsetmessages: + msg322064
2018-07-21 02:33:43terry.reedysetassignee: docs@python
type: behavior
components: + Documentation
versions: + Python 3.7, Python 3.8
nosy: + terry.reedy, docs@python, serhiy.storchaka

messages: + msg322063
stage: needs patch
2018-07-20 13:41:45noah.haasissetnosy: + noah.haasis
messages: + msg322008
2018-07-19 03:08:30Creation Elementalcreate