On Feb 20, 2012, at 7:10 PM, Jonathan Wilkes wrote:
----- Original Message -----
From: Mathieu Bouchard matju@artengine.ca To: Jonathan Wilkes jancsika@yahoo.com Cc: Roman Haefeli reduzent@gmail.com; "pd-list@iem.at" pd-list@iem.at Sent: Monday, February 20, 2012 6:34 PM Subject: <<Loaded>> virtual event
Le 2012-02-20 à 13:54:00, Jonathan Wilkes a écrit :
And it doesn't quite work. The <<Loaded>> virtual event
will trigger before Tk is actually finished drawing the patch window.
Well, there are four possible distinct meanings of « finished loading » that could be helpful :
- the patch has finished loading in the «server»... the t_canvas objects have
been created, their subobjects have been loaded if they're stored in files, the .x76543210 receive symbols exist, so Tk can send to them. [initbang] has been run (some dynamic patching depends on it).
- [loadbang] has also finished running. This means that all the rest of the
load-time dynamic patching is done, and the patch's own init has all been run, so that you can start using the patch for real.
- all the sys_queuegui() calls related to this toplevel canvas have been done,
and all sys_gui() calls have already gone through the sendbuf, the TCP connection, and have been eval'd. This means that all the Tk Canvas Items have been created, so that you can send to them, make stats about them, query their info, etc.
Hm... I could ameliorate the problem by setting a minimum value for the -wraplength of the tk label for the tooltip. If I set it to be at least 150 pixels then it would at least be guaranteed to be legible for loadbanged tooltips (if unnecessarily scrunched for longer tips). This means that part of the tip could potentially be hidden in patches narrower than 150 pixels, but if your patch is narrower than 150 pixels chances are other things are hidden, too. Not great but I can't think of another workaround.
Setting a minimum width makes sense to me as a workaround. Its easy and there shouldn't be serious downsides.
.hc
"[T]he greatest purveyor of violence in the world today [is] my own government." - Martin Luther King, Jr.