
/* 
    MiscControllerManager_Protected.m
*/

// RCS identification information
static char *rcsID = "Id:";
static void __AvoidCompilerWarning(void) {if(!rcsID)__AvoidCompilerWarning();}

// NeXTSTEP Headers
#import <AppKit/AppKit.h>

// Other Headers
#import "MiscControllerManager.h"


@implementation MiscControllerManager (Protected)

/*"
    MiscControllerManager is a protected category which 
    means that only this class or subclasses should make use of 
    these methods. They are subject to change without notice.
"*/


//-------------------------------------------------------------------
// 	Protected accessor methods
//-------------------------------------------------------------------

- (NSMutableArray*) mutableControllers
/*"
    Returns our controllers. This is for us and subclasses use only. 
    This just removes the overhead of us going through the public
    #controllerEnumerator method.
"*/
{
    return _controllers;
}

//-------------------------------------------------------------------
// UI initialization
//-------------------------------------------------------------------

- (void) _initializeUI
/*"
   Calls our superclass's #_initializeUI, then sends all the controllers
   in our array a release message. Since by the time we get this message
   (via #awakeFromNib) the only controllers in the array will have
   been from the nib we can safely release them to bring their retain
   count down to one. Then when we release the array they'll be released.
"*/
{
    [super _initializeUI];

    [[self controllers] makeObjectsPerform:@selector(release)];
}

@end
