This is MiscNibManager_Protected.m in view mode; [Download] [Up]
/*
MiscNibManager_Protected.m
*/
// RCS identification information
static char *rcsID = "$Id:$";
static void __AvoidCompilerWarning(void) {if(!rcsID)__AvoidCompilerWarning();}
// NeXT Headers
#import <AppKit/AppKit.h>
// Other Headers
#import <MiscControllerKit/MiscNibManager.h>
@implementation MiscNibManager (Protected)
/*"
This protected category of MiscNibManager should only be
used by this class or subclasses.
"*/
//-------------------------------------------------------------------
// Protected accessors
//-------------------------------------------------------------------
- (NSMutableArray*) mutableWindowManagers
/*"
Returns our windowManagers instance variable. This is a method
for us and our subclasses. Public classes should use our
#windowManagers method which returns an immutable array.
"*/
{
return _windowManagers;
}
//-------------------------------------------------------------------
// Protected accessors
//-------------------------------------------------------------------
- (void) _initializeUI
/*"
A hook for subclasses to add UI initialization code. It is called from
our #awakeFromNib method. Using this is preferable to extending
#awakeFromNib. The current implementation only sends a release message
to all our current window managers. This is done because all objects
in the nib already have a retain count of 1. Since they are on our
windowManagers list they'll have a retain count of 2. We don't want
to release all the windowManagers twice when we release ourselves
because it is possible that one could have been added programmically
later (and would only have a retainCount of 1). Therefore by the time
we get this message we know the only window managers in our array were
the ones in the nib.
"*/
{
[[self windowManagers] makeObjectsPerform:@selector(release)];
}
@end
@implementation MiscNibManager (NibNotification)
- (void) awakeFromNib
/*"
Currently only calls #_initializeUI.
"*/
{
[self _initializeUI];
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.