Re: Naming question (was: [Pyobjc-dev] Cocoa Sheets)
Brought to you by:
ronaldoussoren
From: Ronald O. <ous...@ci...> - 2003-06-13 06:05:00
|
On Thursday, Jun 12, 2003, at 22:15 Europe/Amsterdam, Jack Jansen wrote: > > On woensdag, jun 11, 2003, at 21:34 Europe/Amsterdam, Bill Bumgarner > wrote: > >> On Wednesday, Jun 11, 2003, at 15:31 US/Eastern, Ronald Oussoren >> wrote: >>> We could warn about the signatures when one of the beginSheet >>> methods is called (better yet, make it an error when the signature >>> is not correct). How many of such callback API's are there, is it >>> just sheets or are there other API's that do callbacks to aritrary >>> methods with a 'difficult' signature? >> >> There aren't many, but that set may change over time... and, >> certainly, third parties can (and have) modeled their class design >> after Apple's. > > All the potential problem cases would be where a selector is passed > from Python to ObjC, right? Could we implement a mechanism (in the C > code) where all selectors can optionally be checked for correct > signature if a Python method is passed, and then expose a call to > Python where you can turn this check on? > > We then use this call to tell pyobjc "By the way, the selector passed > as the Nth parameter to beginSheet_bla_bla_bla should have signature > bla bla bla". Third parties could add this call too. > > The only problem (and a big problem, at least I don't see a simple > solution, but maybe someone else does) is how to refer to "the > selector passed as the Nth parameter to beginSheet_bla_bla_bla". There's one problem with this: Selectors are basicly strings, you can also use method references in Python but that is only sugar. The method that you use to pass the selector to the object that will perform the callback need not be the same as the method that you use to pass the target. An example of this are the setTarget: and setAction: methods of controls. Ronald |