This is Translator.m in view mode; [Download] [Up]
/* nib translator class Copyright (C) 1993 The Board of Trustees of The Leland Stanford Junior University. All Rights Reserved. Authors: Paul Kunz and Imran Qureshi This file is part of the nib translator for an Objective-C class library for X/Motif Translator.m,v 1.6 1995/04/14 19:36:12 pfkeb Exp */ #include "Translator.h" #include <stdio.h> #include "XmWindow.h" /* * We can't include <appkit/Application.h> because it leads to * conflicts in definition of object structure. So we duplicate * the minimum we need below to gain access to to Application object * and avoid warning messages. */ extern id NXApp; @interface Translator(Application) - loadNibFile:(const char *) filename owner:anObject; @end List *list_of_objects; /* Global List of objects */ List *list_of_connections; /* Global list of connections */ /* Boolean for whether FileOwner's CustomObject has already been added * to the list */ BOOL fileOwnerAdded; @implementation Translator - translate:(const char *)nibfile into:(char *)filename { TypedStream *typedStream; id res; #ifdef DEBUG printf("Starting translation...\n"); #endif fileOwnerAdded = NO; list_of_objects = [[List alloc] init]; list_of_connections = [[List alloc] init]; #ifdef DEBUG printf("\nReading nib file\n"); #endif res = [NXApp loadNibFile:nibfile owner:self]; #ifdef DEBUG printf("result = %p\n", res); [self printList]; #endif if (filename) { typedStream = objc_open_typed_stream_for_file(filename, OBJC_WRITEONLY); } else { return nil; } [list_of_objects addObject:list_of_connections]; #ifdef DEBUG printf("\nStarting to write..."); #endif objc_write_root_object(typedStream, list_of_objects); #ifdef DEBUG printf("\nfinished writing.\n"); #endif objc_flush_typed_stream(typedStream); objc_close_typed_stream(typedStream); fflush(stdout); return self; } -printList { int i, count; printf( "\nList of objects read...\n"); count = [list_of_objects count]; for (i = 0; i < count; i++) { printf("Object #%d is %s\n", i, [[list_of_objects objectAt:i] name]); } return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.