Categories of widgets
Focusable vs non-focusable
Non-focusable widgets are essentially a decoration. Examples are WLabel and WFrame. Focusable are widgets which can be tabbed and which can accept user input, and the rest of standard widgets are such.
Widgets can be tested for focusability using w.focusable property.
Editable vs non-editable
Focusable widgets are subdivided into editable vs non-editable. Editable widgets contain state which a user can change. Non-editable widgets are intended to execute actions on user interaction. Examples of non-editable widgets are WButton, WMenuBar, WMenuBox.
Choice widgets
A subset of editable widgets are choice widgets. They deal with selecting one of the items among a number of choices. WRadioButton, WListBox and WDropDown are choice widgets. For consistency, it makes sense to treat WCheckbox as a choice widget too, with choices being False and True.
Widget hierarchy:
BaseWidget
Non-focusable
WLabel
WFrame
Focusable
Non-editable
WButton
WMenuBar
WMenuBox
Editable
Choice widget
WCheckbox
WRadioButton
WListBox
WDropDown
WCompletionList
Non-choice widget
WTextEntry
WMultiLine
WAutoComplete