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.