This is BBPreferencesManager.m in view mode; [Download] [Up]
/* BBPreferencesManager.m
*
* This class controls the Preferences' modules and Panel.
*
* For more interface-info see the header file. More in depth information
* can be found here in the source-code.
*
* Written by: Thomas Engel
* Created: 04.11.1993 (Copyleft)
* Last modified: 14.05.1994
*/
#import "BBPreferencesManager.h"
#import "BBDefaultApp.h"
#import "BBDefaultCamera.h"
#import <misckit/MiscSwapView.h>
@implementation BBPreferencesManager
- init
{
self = [super init];
if( !self ) return self;
// OK. We really are an object...load the NIB and let's get the defaults.
// Every controller will get the chance to fethc the defaults.
// They might implement lazy defaults too. We don't really care.
if( [NXApp loadNibSection:"Preferences.nib" owner:self] == nil )
NXRunAlertPanel( NULL, "Couldn't load Preferences.nib",
"OK", NULL, NULL);
[swapView setUseBuffering:YES];
// Let's get all the defaults. The order is significant if there are two
// providers for the same class or when the speed is concerned for how
// fast it is to find a provider.
defaultsProviders = [List new];
[defaultsProviders addObject:defaultCamera];
[defaultsProviders addObject:defaultApp];
return self;
}
- free
{
[defaultsProviders free];
return [super free];
}
- makeKeyAndOrderFront:sender
{
// This include triggering a swap to set the first selected popup item
[swapView swapContentView:self];
[window makeKeyAndOrderFront:self];
return self;
}
- findDefaultFor:anObject
{
// Let' search for the provider that wants to serve this class.
int i;
id provider;
id someProvider;
provider = nil;
for( i=0; i<[defaultsProviders count]; i++ )
{
someProvider = [defaultsProviders objectAt:i];
if( [someProvider hasDefaultsFor:anObject] )
{
provider = someProvider;
break;
}
}
return provider;
}
@end
/*
* History: 14.05.94 New name (BB..) and new approach to serving the data.
*
* 08.03.94 Added topic searching.
*
* 25.01.94 Made it compatible with the new MiscSwap stuff.
*
* 08.01.94 Some code cleaning done.
*
*
* Bugs: - ?
*/These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.