Among the modules I am currently using, the methods to get/set their contents, or be notified when they change, vary wildly. Eg:
- CheckButton -> set a -command callback, and call ->{Value} on it.
- Entry -> set -validate and -vcmd, do a cget -textvariable and set/retrieve from that
- BrowseEntry -> -browsecmd, fetch the entry subwidget then as above
- Button -> -command and cget/configure -text
- Text -> bind to something (focusout/modified), call -get('0.0', 'end') or somesuch to fetch, Contents() to set
... I'm sure I've missed some
This to me is inconsistent. Why isn't there a 'get()' and 'set()' for all of these, together with a standard callback option to be called when they change? They could still have all their
idiocyncraciesspecialities additionally if needed.
Anyway, this is one of the major arguments that people keep giving me to try and persuade me to switch to some other GUI system, as Tks worst side.. And I keep coming across things that make me agree.
BTW, I'd prefer Tk::Text be configured more like Tk::Entry and the rest, ie a -command or something on create, instead of the extra bind command, but thats probably just because all the widgets Im currently using also work that way.
C.