mirror of
https://github.com/gnustep/apps-projectcenter.git
synced 2025-03-19 09:02:02 +00:00
* 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:
parent
0f3a1e0ba4
commit
a6359c679d
3 changed files with 48 additions and 24 deletions
Binary file not shown.
|
@ -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
|
||||
|
|
|
@ -45,6 +45,8 @@
|
|||
- (void)show:(NSRect)builderRect;
|
||||
- (NSString *)buildTarget;
|
||||
|
||||
- (void)loadProjectProperties:(NSNotification *)aNotif;
|
||||
|
||||
@end
|
||||
|
||||
@interface PCProjectBuilderOptions (Delegate)
|
||||
|
|
Loading…
Reference in a new issue