This is OutputViewBox.m in view mode; [Download] [Up]
// OutputViewBox.m // By Judy D. Halchin, Educational Computing Services, Allegheny College. // Copyright 1993 Allegheny College. // You may freely copy, distribute and reuse this code. // Allegheny College and the author disclaim any warranty of any kind, // expressed or implied, as to its fitness for any particular use. // This work was partially supported by a Teacher Preparation grant from the // National Science Foundation. #import "OutputViewBox.h" #import "DefaultView.h" @implementation OutputViewBox - initFrame:(const NXRect *)frameRect { NXRect viewBounds; [super initFrame:frameRect]; [contentView setAutoresizeSubviews:YES]; [self setOffsets:0 :0]; [self setTitlePosition:NX_NOTITLE]; [self setBorderType:NX_LINE]; [contentView getBounds:&viewBounds]; defaultView = [[DefaultView allocFromZone:[self zone]] initFrame:&viewBounds]; [defaultView setAutosizing:NX_WIDTHSIZABLE | NX_HEIGHTSIZABLE]; [self addSubview:defaultView]; return self; } - insertView:view { int viewIndex, subviewCount; id subviewList, subview; NXRect viewBounds; // remove the old subview and free it if it was the default view subviewList = [contentView subviews]; subviewCount = [subviewList count]; for (viewIndex = subviewCount-1; viewIndex >= 0; viewIndex--) { subview = [subviewList objectAt:viewIndex]; [subview removeFromSuperview]; if (subview == defaultView) [defaultView free]; } // insert the new subview [view setAutosizing:NX_WIDTHSIZABLE | NX_HEIGHTSIZABLE]; [contentView getBounds:&viewBounds]; [view setFrame:&viewBounds]; [self addSubview:view]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.