-
Notifications
You must be signed in to change notification settings - Fork 6
/
ChimeView.m
73 lines (51 loc) · 2.14 KB
/
ChimeView.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
//
// ChimeView.m
// Shion
//
// Created by Chris Karr on 4/15/10.
// Copyright 2010 CASIS LLC. All rights reserved.
//
#import "ChimeView.h"
#import "Chime.h"
#import "EventManager.h"
@implementation ChimeView
- (void)drawRect:(NSRect)dirtyRect
{
[super drawRect:dirtyRect];
Chime * chime = [objectController content];
if ([chime isKindOfClass:[Chime class]])
{
NSRect bounds = [self bounds];
NSArray * events = [[EventManager sharedInstance] eventsForIdentifier:[chime identifier]];
NSString * name = [chime name];
[self drawChartForEvents:events];
NSManagedObject * lastEvent = nil;
if ([events count] > 0)
lastEvent = [events lastObject];
NSString * desc = @"Never Rang";
NSColor * color = [NSColor whiteColor];
NSDate * date = [lastEvent valueForKey:@"date"];
if (date != nil)
{
[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4];
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setTimeStyle:kCFDateFormatterMediumStyle];
[formatter setDateStyle:kCFDateFormatterMediumStyle];
desc = [NSString stringWithFormat:@"Last rang at %@", [formatter stringFromDate:date]];
color = [self primaryColorForObject:chime];
[formatter release];
}
NSMutableDictionary * attributes = [NSMutableDictionary dictionary];
[attributes setValue:[NSFont fontWithName:@"Lucida Grande" size:18] forKey:NSFontAttributeName];
[attributes setValue:[NSColor whiteColor] forKey:NSForegroundColorAttributeName];
NSSize titleSize = [name sizeWithAttributes:attributes];
NSPoint point = NSMakePoint(bounds.size.width - titleSize.width - 10, bounds.size.height - titleSize.height - 5);
[name drawAtPoint:point withAttributes:attributes];
[attributes setValue:[NSFont fontWithName:@"Lucida Grande" size:12] forKey:NSFontAttributeName];
[attributes setValue:color forKey:NSForegroundColorAttributeName];
NSSize descSize = [desc sizeWithAttributes:attributes];
point = NSMakePoint(bounds.size.width - descSize.width - 10, bounds.size.height - descSize.height - titleSize.height - 5);
[desc drawAtPoint:point withAttributes:attributes];
}
}
@end