This is XmObject.m in view mode; [Download] [Up]
/* Archiving Category for Object Copyright (C) 1993 The Board of Trustees of The Leland Stanford Junior University. All Rights Reserved. Authors: Imran Qureshi * This file is part of the nib translator for * an Objective-C class library for X/Motif XmObject.m,v 1.16 1995/01/03 21:27:26 pfkeb Exp */ #include"/NextDeveloper/Headers/objc/typedstream.h" #include"/NextDeveloper/Headers/objc/Object.h" #include <stdio.h> #include <stdlib.h> #include <objc/List.h> /* declared in Translator.m */ extern List *list_of_objects; extern List *list_of_connections; @implementation Object (XmArchiving) - write:(NXTypedStream *)stream { #ifdef DEBUG printf("\nWriting Object"); #endif return self; } /* This is only called for the major objects (I think) */ - awakeFromNib { #ifdef DEBUG printf("awakeFromNib: %s\n", [self name]); #endif /* * Add only Window objects and CustomObjects to the list. Everything else is * owned by Window or a subview. */ /* * This should be isKindOfClassNamed: once archiving methods for Panels and * Menus are written */ if ( [self isMemberOfClassNamed:"Window"] ) { [list_of_objects insertObject:self at:0]; } if ( [self isMemberOfClassNamed:"Panel"] ) { [list_of_objects insertObject:self at:0]; } /* make sure CustomObjects come after Windows */ /* SO use AddObject instead of insertObject */ if ( [self isKindOfClassNamed:"CustomObject"] ) { [list_of_objects addObject:self]; } return self; } /* This gets called for every object, every time it is unarchived including objects like IBControlConnector */ -awake { #ifdef DEBUG printf("Awaking %s..\n",[self name]); #endif /* * if this object is IBOutletConnector, add it to the list of objects to be * archived */ if ( [self isMemberOfClassNamed:"IBOutletConnector"] ) { [list_of_connections insertObject:self at:0]; } /* * if this object is IBControlConnector, add it to the list of objects to be * archived */ if ( [self isMemberOfClassNamed: "IBControlConnector"] ) { [list_of_connections insertObject:self at:0]; } return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.