Re: [Pyobjc-dev] Re: interface builder queries
Brought to you by:
ronaldoussoren
From: Ronald O. <ous...@ci...> - 2003-08-29 10:22:30
|
On vrijdag, 29 augustus 2003, at 11:51AM, Michael Hudson wrote: > Michael Hudson <mw...@py...> writes: > >> Michael Hudson <mw...@py...> writes: >> >>>> Python should also work, as long as IB is single threaded, see the >>>> EnvironmentPrefs example for a python based plugin. That's a plugin >>>> for System Preferences, but the mechanics should be simular for IB >>>> pallettes. >>> >>> Right, I'll see if I can blend an IBPalette example with the PyObjC >>> screensaver example. I'll try to package it up for the Examples/ >>> directory if I come up with anything useful. >> >> Well, after fixing what I think to be a couple of bugs in PyObjC, I've >> run into another problem. I think. >> >> It seems interface builder uses [NSBundle classNamed:] to find the >> palette class, and my Python classes aren't showing up to this >> function (it shows up as the result to [NSBundle principalClass], >> though). > > This would seem to be because the objc runtime thinks that Python > classes are not dynamically loaded (fair enough, but it makes the task > at hand fairly tricky). > > It is odd that you have > > NSBundle.bundleForClass(aBundle.principalClass()) != aBundle > > though. > > Still way over my depth, Welcome to the club :-) Thanks for reminding me of this issue. I had noticed this when building the preference panes, but didn't think this was very important at the time. I'll see what I can do about this, this may be a hard problem. BTW. I added some code to make it safe to call from Objective-C to python from any thread, including those without a Python threadstate, using the API defined in PEP311. The bad news is that I did this in a tree that contains Panther specific code ;-(. Ronald |