Skip to content

Commit

Permalink
Show category eta during builds.
Browse files Browse the repository at this point in the history
  • Loading branch information
dustin committed Jul 8, 2009
1 parent 8127bc3 commit 8846c0d
Showing 1 changed file with 24 additions and 3 deletions.
27 changes: 24 additions & 3 deletions Category.m
Expand Up @@ -31,7 +31,19 @@ -(NSString *)step {
}

-(NSString *)eta {
return nil;
NSDate *rv = nil;

NSEnumerator *enumerator = [builderDict objectEnumerator];
id b;
while ((b = [enumerator nextObject]) != nil) {
NSDate *builderDate = [b eta];
if (rv == nil) {
rv = builderDate;
} else if (builderDate != nil) {
rv = [rv laterDate: builderDate];
}
}
return rv;
}

-(NSArray*)items {
Expand Down Expand Up @@ -72,6 +84,11 @@ -(void)addBuilder:(Builder*)builder {
options:(NSKeyValueObservingOptionNew |
NSKeyValueObservingOptionOld)
context:NULL];
[builder addObserver:self
forKeyPath:@"eta"
options:(NSKeyValueObservingOptionNew |
NSKeyValueObservingOptionOld)
context:NULL];
}

-(void)removeBuilder:(Builder*)builder {
Expand All @@ -81,8 +98,8 @@ -(void)removeBuilder:(Builder*)builder {
[self didChangeValueForKey:@"numChildren"];
[self didChangeValueForKey:@"items"];

[builder removeObserver:self
forKeyPath:@"color"];
[builder removeObserver:self forKeyPath:@"color"];
[builder removeObserver:self forKeyPath:@"eta"];
}

- (BOOL)isBuilding
Expand Down Expand Up @@ -140,6 +157,10 @@ - (void)observeValueForKeyPath:(NSString *)keyPath
{
if ([keyPath isEqual:@"color"]) {
[self computeColor];
} else if ([keyPath isEqual:@"eta"]) {
// This is always derived, so just declare it changed.
[self willChangeValueForKey:@"eta"];
[self didChangeValueForKey:@"eta"];
}
}

Expand Down

0 comments on commit 8846c0d

Please sign in to comment.