----- Original Message -----
From: Hans-Christoph Steiner hans@at.or.at To: Jonathan Wilkes jancsika@yahoo.com Cc: "pd-list@iem.at" pd-list@iem.at Sent: Thursday, November 17, 2011 6:20 PM Subject: Re: [PD] <<Loaded>> event
That's a tricky one. I think that <<Loaded>> should be sent when the patch is all done, so the current situation is a bug.
Ah, ok.
Since the drawing commands come from 'pd', 'pd' would have to trigger the <<Loaded>> event. I forget how its triggered now.
It's triggered in the last line of ::pdtk_canvas::finished_loading_file in pdtk_canvas.tcl. That proc is called by ::pd_bindings::map in pd_bindings.tcl, where it is preceded by: pdsend "$mytoplevel map 1"
Maybe that line above needs to be the last line of the proc, and when pd is done mapping it should make a call to ::pdtk_canvas::finished_loading_file? I'm still not solid on the back and forth between gui and pd, so I'm not sure if that would help or not.
Definitely avoid 'update', I recently refactored my pdwindow.tcl code to switch from 'update' to 'after idle'.
I think 'after idle' can also be problematic.
.hc
On Nov 17, 2011, at 4:01 PM, Jonathan Wilkes wrote:
Hi Hans, I'm close to finishing a revision of my tooltips patch. To
properly loadbang a canvas tip
I need something like a <<Loaded>> event, but one that tells me
when the a pd patch window has
finally finished being drawn by Tk. <<Loaded>> seems to
trigger once the procedure for creating
a new canvas has finished (technically right before, I guess), but it
doesn't tell me when Tk has
actually finished drawing the window and setting all the window dimensions
that are query-able
through winfo.
I think I could use <Configure>, but it will trigger multiple times--
I just want one event that tells me
"Ok, everything that needed to get drawn as a result of creating this
patch window is done drawing."
(tcl/tk wiki warns against "update idletasks" which can cause
subtle bugs.)
-Jonathan
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list
"[W]e have invented the technology to eliminate scarcity, but we are deliberately throwing it away to benefit those who profit from scarcity." -John Gilmore