ftp.nice.ch/pub/next/developer/objc/appkit/ClassBuilder.1.0.s.tar.gz#/CB/NObject.m

This is NObject.m in view mode; [Download] [Up]

#pragma .h #import <objc/Object.h> 
#pragma .h #import <appkit/Application.h> 
#import "NObject.h"
#import <appkit/Panel.h>
/**
 ** NObjects are just like Objects, 
 ** except that they do not kill off
 ** the application when they receive
 ** a message they can't understand.
 ** Instead, they pop up an alert panel.
 **/

@implementation NObject: Object
{
}

+ doesNotRecognize: (SEL)aSelector ;
{ int rval ;
  rval = NXRunAlertPanel("CB",
     "Error\n%s doesNotRecognize: %s","Continue","Abort CB",NULL,
     [self name], sel_getName(aSelector)) ;
  if(rval == 1) // i.e. continue
    return self ;
  else // i.e. abort
   [self error: "CB aborted by user\n"] ;
  return self ;
}

- doesNotRecognize: (SEL)aSelector ;
{ int rval ;
  rval = NXRunAlertPanel("CB",
     "Error\n%s doesNotRecognize: %s","Continue","Abort CB",NULL,
     [self name], sel_getName(aSelector)) ;
  if(rval == 1) // i.e. continue
    return self ;
  else // i.e. abort
   [self error: "CB aborted by user\n"] ;
  return self ;
}


@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.