diff --git a/Model/PBGitSubmodule.h b/Model/PBGitSubmodule.h index 3d99fcb..5d1db18 100644 --- a/Model/PBGitSubmodule.h +++ b/Model/PBGitSubmodule.h @@ -21,7 +21,10 @@ typedef enum { NSString *checkedOutCommit; PBGitSubmoduleState submoduleState; + + NSMutableArray *submodules; } +@property (nonatomic, retain, readonly) NSMutableArray *submodules; @property (nonatomic, assign, readonly) PBGitSubmoduleState submoduleState; @property (nonatomic, retain, readonly) NSString *name; @property (nonatomic, retain, readonly) NSString *path; @@ -31,4 +34,6 @@ typedef enum { + (NSImage *) imageForSubmoduleState:(PBGitSubmoduleState) state; + (PBGitSubmoduleState) submoduleStateFromCharacter:(unichar) character; + +- (void) addSubmodule:(PBGitSubmodule *) submodule; @end diff --git a/Model/PBGitSubmodule.m b/Model/PBGitSubmodule.m index 0d71bb3..cea00d0 100644 --- a/Model/PBGitSubmodule.m +++ b/Model/PBGitSubmodule.m @@ -20,6 +20,14 @@ @synthesize path; @synthesize checkedOutCommit; @synthesize submoduleState; +@synthesize submodules; + +- (NSMutableArray *) submodules { + if (!submodules) { + submodules = [[NSMutableArray alloc] init]; + } + return submodules; +} - (id) initWithRawSubmoduleStatusString:(NSString *) submoduleStatusString { NSParameterAssert([submoduleStatusString length] > 0); @@ -51,12 +59,17 @@ } - (void) dealloc { + [submodules release]; [name release]; [path release]; [checkedOutCommit release]; [super dealloc]; } +- (void) addSubmodule:(PBGitSubmodule *) submodule { + [self.submodules addObject:submodule]; +} + #pragma mark - #pragma mark Presentable