* Framework/PCProjectBuilderOptions.m:

(initWithProject:): Listen to PCProjectDictDidChangeNotification notification.
(awakeFromNib): Move loading of project properties from here...
(loadProjectProperties): ...to here. This is a notification action.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@28115 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Sergii Stoian 2009-03-21 22:59:46 +00:00
parent 0f3a1e0ba4
commit a6359c679d
3 changed files with 48 additions and 24 deletions

View file

@ -58,42 +58,36 @@
{
project = aProject;
delegate = aDelegate;
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(loadProjectProperties:)
name:PCProjectDictDidChangeNotification
object:nil];
}
return self;
}
- (void)dealloc
{
#ifdef DEBUG
NSLog (@"PCProjectBuilderOptions: dealloc");
#endif
[[NSNotificationCenter defaultCenter] removeObserver:self];
[super dealloc];
}
- (void)awakeFromNib
{
NSArray *args;
// Setup target popup
[targetPopup removeAllItems];
[targetPopup addItemsWithTitles:[project buildTargets]];
[targetPopup selectItemAtIndex:0];
// Setup build arguments field
args = [[project projectDict] objectForKey:PCBuilderArguments];
[buildArgsField setStringValue:[args componentsJoinedByString:@" "]];
// Setup option buttons
[verboseButton setRefusesFirstResponder:YES];
[debugButton setRefusesFirstResponder:YES];
[stripButton setRefusesFirstResponder:YES];
[sharedLibsButton setRefusesFirstResponder:YES];
[self _setStateForButton:verboseButton
key:PCBuilderVerbose
defaultState:NSOffState];
[self _setStateForButton:debugButton
key:PCBuilderDebug
defaultState:NSOnState];
[self _setStateForButton:stripButton
key:PCBuilderStrip
defaultState:NSOffState];
[self _setStateForButton:sharedLibsButton
key:PCBuilderSharedLibs
defaultState:NSOnState];
[self loadProjectProperties:nil];
}
- (void)show:(NSRect)builderRect
@ -171,4 +165,32 @@
[project setProjectDictObject:value forKey:key notify:YES];
}
- (void)loadProjectProperties:(NSNotification *)aNotif
{
NSArray *args;
// Setup target popup
[targetPopup removeAllItems];
[targetPopup addItemsWithTitles:[project buildTargets]];
[targetPopup selectItemAtIndex:0];
// Setup build arguments field
args = [[project projectDict] objectForKey:PCBuilderArguments];
[buildArgsField setStringValue:[args componentsJoinedByString:@" "]];
// Setup option buttons
[self _setStateForButton:verboseButton
key:PCBuilderVerbose
defaultState:NSOffState];
[self _setStateForButton:debugButton
key:PCBuilderDebug
defaultState:NSOnState];
[self _setStateForButton:stripButton
key:PCBuilderStrip
defaultState:NSOffState];
[self _setStateForButton:sharedLibsButton
key:PCBuilderSharedLibs
defaultState:NSOnState];
}
@end

View file

@ -45,6 +45,8 @@
- (void)show:(NSRect)builderRect;
- (NSString *)buildTarget;
- (void)loadProjectProperties:(NSNotification *)aNotif;
@end
@interface PCProjectBuilderOptions (Delegate)