[PD] <<Loaded>> event

Jonathan Wilkes jancsika at yahoo.com
Fri Nov 18 00:51:14 CET 2011


----- Original Message -----

> From: Hans-Christoph Steiner <hans at at.or.at>
> To: Jonathan Wilkes <jancsika at yahoo.com>
> Cc: "pd-list at iem.at" <pd-list at 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 at 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
> 



More information about the Pd-list mailing list