[Pythonmac-SIG] AE/PyObjC: how to use event loops to process AE

Daniel Lord daniellord at mac.com
Tue May 9 18:06:39 CEST 2006


A PyObjC application using Appkit starts and event loop in AppHelper  
thus:

	AppHelper.runEventLoop()

But, the examples I have seen using Apple Events in Python (not  
PyObjC) install their own handlers and then call the event loop:

	CarbonEvt.RunApplicationEventLoop()

Unfortunately and unsurprisingly, trying to inject the handlers from  
different methods in my PyObjC class inheriting from  
NibClassBuilder.AutoBaseClass and then expecting them to be called  
doesn't seem to work. I assume it is because: 1) the Carbon Event   
Loop does not get called by the AppHelper event loop PyObjC uses but  
one cannot easily mix event loops and 2) the more complex  
instantiation chain required for nib objects obfuscates the call  
chain so I am not sure where to put things or how to extend AppHelper  
it without breaking it.

I am sure most of this is due to my lack of detailed working  
knowledge of AppKit and PyObjC and I'll hammer away at this over  
time. But sometimes an example is faster than trial-and-error  
learning. Anyone know of an example of how this is done? I haven't  
seen an example of a PyObjC AE application. Is that because it is  
complex to "pull off"? I assume I have to do some clever chaining of  
the super class init coupled with looking for Apple Events in the  
AppHelper event loop and dispatching them correctly to the handlers  
or maybe there is another way I am too "green" to know. I will keep  
digging on my own, but sometimes a direct reference is better than a  
search in terms of time to an objective. I just don't want to 'bark  
up the wrong tree for a long time"


Daniel

"Ever tried. Ever failed. No matter. Try again. Fail again. Fail  
better."
–Samuel Beckett






More information about the Pythonmac-SIG mailing list