This is IBMole.m in view mode; [Download] [Up]
#import "IBMole.h"
@interface Object(Superfy)
-becomeSuperclass;
@end
@implementation Object(Superfy)
-becomeSuperclass
{ //this was helpful in turning SmartFields into TextFields..
//in general isa hacking is frowned upon...
//changing yourself to a subclass can really screw things up!
self->isa = [self superclass];
return self;
}
@end
@implementation IBMole
-init
{
docList = [[List alloc] init];
tunnel = [NXConnection registerRoot:self withName:"IBMole"];
[tunnel runFromAppKit];
return self;
}
-ibApp
{
return NXApp;
}
-docList
{
id windowList;
id delegate;
int z;
[docList empty];
windowList = [NXApp windowList];
z = [windowList count];
while (z--)
{
delegate = [[windowList objectAt:z] delegate];
if ([delegate respondsTo:@selector(document)])
{
[docList addObjectIfAbsent:[delegate document]];
}
}
return docList;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.