From a6359c679da294dd0f64c7e5f1e58c9a72d7b44d Mon Sep 17 00:00:00 2001 From: Sergii Stoian Date: Sat, 21 Mar 2009 22:59:46 +0000 Subject: [PATCH] * 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 --- .../BuilderOptions.gorm/objects.gorm | Bin 4848 -> 4909 bytes Framework/PCProjectBuilderOptions.m | 70 ++++++++++++------ .../ProjectCenter/PCProjectBuilderOptions.h | 2 + 3 files changed, 48 insertions(+), 24 deletions(-) diff --git a/Framework/English.lproj/BuilderOptions.gorm/objects.gorm b/Framework/English.lproj/BuilderOptions.gorm/objects.gorm index a3acff633155d7342c67bfa38b54a175948e5a49..5f414397ce1ab68a04b58dd61c178c5a216afed2 100644 GIT binary patch delta 371 zcmW-c%TB^j5Qbai))?)@*k~|ZB;0~A)15nA_y#}%1x!?`sa6q01w^fh4?vu!aA7=+ zFW}ClK7uRP?p*4evzdI~O!CjnPwqKCErd3#pj4D&BT1UwUV3}2%e}d%&t(fg=KJ`q zE<~Zk@=(J+btOy~!?EgNL`%pveyK@JYh^MMeJvulsk0omN(}Hp%SFvaNs>%_(X#6` zwljsjAj29Q_6eFCIs{b?4ndp40fGIfmqXy#Gh5`QSS@{AJMrOu^OWZUH%2kl1tu73)YZPHbR;3+7 z7!y?lT@%@YCUjVfUw9(|TX2i-MrQ4ftVI!ikj&G!@f?*1|2rP)IG%I3J8I;NB&E8$29icMOHPcIv!gbzwq zibe%Nh~m4FS=uFgV`%w0sWBW-)EU|oCWB4UU^t|xKB+~CSfm0+xTPlH*iX|`hZ8@M zqZ1=p`UKhRNWk46bZmFK=XegB^0o$?;ftDrE>9-({(oxQEw5AZT({Q+hqslXkKbw{ zJm9Gc=cs5I(Zy9wpR&Niik1&w_!+vQ1w(w)3UEo2Nw*rp6;+w*nySimL$7GEb8h*- QCfwmf(`WAeBs)O(16#m=a{vGU diff --git a/Framework/PCProjectBuilderOptions.m b/Framework/PCProjectBuilderOptions.m index 6e8eb95..642ce65 100644 --- a/Framework/PCProjectBuilderOptions.m +++ b/Framework/PCProjectBuilderOptions.m @@ -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 diff --git a/Headers/ProjectCenter/PCProjectBuilderOptions.h b/Headers/ProjectCenter/PCProjectBuilderOptions.h index 237611a..1b346b1 100644 --- a/Headers/ProjectCenter/PCProjectBuilderOptions.h +++ b/Headers/ProjectCenter/PCProjectBuilderOptions.h @@ -45,6 +45,8 @@ - (void)show:(NSRect)builderRect; - (NSString *)buildTarget; +- (void)loadProjectProperties:(NSNotification *)aNotif; + @end @interface PCProjectBuilderOptions (Delegate)