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