-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathQuickDoubanCardWindow.m
91 lines (65 loc) · 1.98 KB
/
QuickDoubanCardWindow.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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
//
// QuickDoubanCardWindowController.m
// QuickDouban
//
// Created by liangjie on 2011-03-02.
// Copyright 2011 Feed Our Cats. All rights reserved.
//
#import "QuickDoubanCardWindow.h"
#import "QuickDoubanBase.h"
@implementation QuickDoubanCardWindow
@synthesize cardViewController;
@synthesize entryData;
@synthesize active;
@synthesize adjacentWindows;
- (QuickDoubanCardWindow *) initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag {
NSLog(@"\n\nNew Window: %@\n", self);
[QuickDoubanBase timer_start];
self = [super initWithContentRect:contentRect styleMask:aStyle backing:bufferingType defer:flag];
if (self)
{
[self setReleasedWhenClosed:YES];
[self setDelegate:self];
[self makeFirstResponder:self];
cardViewController = [[QuickDoubanCardViewController alloc] initWithNibName:@"QuickDoubanCardView" bundle: nil];
[cardViewController setNextResponder:[self nextResponder]];
[self makeFirstResponder:cardViewController];
[self setContentView:[cardViewController view]];
}
NSLog(@"QuickDoubanCardWindow initiated in %10.4lf seconds\n",[QuickDoubanBase timer_milePost]);
return self;
}
- (void) setData:(NSDictionary *)data {
[self setEntryData:data];
}
- (void) render {
if (entryData) {
[cardViewController setData:entryData];
}
}
- (BOOL) canBecomeMainWindow {
return YES;
}
- (BOOL) canBecomeKeyWindow {
return YES;
}
- (void) makeActive:(BOOL) isActive {
[self setActive:isActive];
[cardViewController makeActive:isActive];
}
- (void) windowDidBecomeKey:(NSNotification *)notification {
[self makeActive:YES];
}
- (void) windowDidResignKey:(NSNotification *)notification {
[self makeActive:NO];
}
- (void) detachAdjacentWindows {
[adjacentWindows release]; adjacentWindows = nil;
}
- (void) dealloc {
NSLog(@"dealloc window %@",self);
[cardViewController release]; cardViewController = nil;
//[entryData release]; entryData = nil;
[super dealloc];
}
@end