[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DotGNU]Cocoa#

From: Oscar Papel
Subject: Re: [DotGNU]Cocoa#
Date: Sun, 12 Oct 2003 10:50:53 -0400

> I had a look through Apple's Objective-C documentation, and I think this
> doable.  The <objc/objc-api.h> interface contains a number of functions
> can be used to walk the class hierarchy at runtime, enumerate all of the
> methods, create objects, send messages, etc.

I thought about this.  Mac-folk call it "introspection"  The problem I came
to is one of message interception.

Let's take NSWindow.  it has a close message.  I would want to take this
message and generate a Closing and Closed Event for c# whenever it is
called.  It also needs to be able to cancel the closing.  I currently do
this by subclassing NSWindow and overriding it like this:

BOOL cancel=false;
if (pOnClosingFunc!=nil)  cancel=((*pOnClosingFunc)((void *)self)==false);
if (!cancel) {
    [super close];
    if  (pOnClosedFunc!=nil) (*pOnClosedFunc) ((void *)self);

So my Subclassed window needs two function pointers and an additional "set
function pointers" method.

Until I figure out a way to do this in general, I'll need to write a lot of
I can still use introspection to generate the wrappers but only after I'm
done subclassing

Thanks for all your effort,

Oscar Papel

reply via email to

[Prev in Thread] Current Thread [Next in Thread]