This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author taleinat
Recipients taleinat, terry.reedy
Date 2018-06-19.05:59:37
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1529387979.09.0.56676864532.issue33839@psf.upfronthosting.co.za>
In-reply-to
Content
> What do you think of changing 'ToolTip' to 'Tooltip'?

+1, I'll change it.

> TclError from widget.destroy suggests that we *might* be able to cleanup better.

The try/except clauses which are hard to test are used since the order in which widgets are destroyed can vary, and I don't know how to properly check whether a widget still exists (so that e.g. unbinding events won't throw an exception).

For the on-hover tooltip, events are registered on the "anchor" widget.  ISTM these events should be unregistered when the tooltip is destroyed, hence I added that to __del__.  Any suggestions for a better cleanup mechanism?

>> The TclError exceptions are reproduced by the htest in tooltip.py.
> With the code as is?  Or if the try-except is removed?
Without the try/except.

> I [...] would like the popups to respond keyboard (Tab) focus changes as well as mouse movement focus changes.

Looking at the Tk docs, it seems this will require binding properly to the FocusIn and oFocusOut events.  This is indeed a separate mechanism.  It should be straightforward when bound to a simple widget such as a button.  The Calltip class will need to override this since it already implements an appropriate alternative.
History
Date User Action Args
2018-06-19 05:59:39taleinatsetrecipients: + taleinat, terry.reedy
2018-06-19 05:59:39taleinatsetmessageid: <1529387979.09.0.56676864532.issue33839@psf.upfronthosting.co.za>
2018-06-19 05:59:39taleinatlinkissue33839 messages
2018-06-19 05:59:37taleinatcreate