/**
NSUserDefaultsController
Controller class for user defaults
Copyright (C) 2006 Free Software Foundation, Inc.
Author: Fred Kiefer
Date: September 2006
This file is part of the GNUstep GUI Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; see the file COPYING.LIB.
If not, see or write to the
Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include
#include
#include
static id shared = nil;
@implementation NSUserDefaultsController
+ (id) sharedUserDefaultsController
{
if (shared == nil)
{
shared = [[NSUserDefaultsController alloc]
initWithDefaults: nil
initialValues: nil];
}
return shared;
}
- (id) initWithDefaults: (NSUserDefaults*)defaults
initialValues: (NSDictionary*)initialValues
{
if ((self = [super init]) != nil)
{
if (defaults == nil)
{
defaults = [NSUserDefaults standardUserDefaults];
}
ASSIGN(_defaults, defaults);
[self setInitialValues: initialValues];
}
return self;
}
- (NSUserDefaults*) defaults
{
return _defaults;
}
- (id) values
{
// TODO
return nil;
}
- (NSDictionary*) initialValues
{
return _initial_values;
}
- (void) setInitialValues: (NSDictionary*)values
{
ASSIGN(_initial_values, values);
}
- (BOOL) appliesImmediately
{
return _applies_immediately;
}
- (void) setAppliesImmediately: (BOOL)flag
{
_applies_immediately = flag;
}
- (void) revert: (id)sender
{
[self discardEditing];
if (![self appliesImmediately])
{
// TODO
}
}
- (void) revertToInitialValues: (id)sender
{
// TODO
}
- (void) save: (id)sender
{
// TODO
}
@end