-
Notifications
You must be signed in to change notification settings - Fork 51
Expand file tree
/
Copy pathTKRemoteControlWindowController.m
More file actions
92 lines (71 loc) · 2.75 KB
/
TKRemoteControlWindowController.m
File metadata and controls
92 lines (71 loc) · 2.75 KB
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
92
//
// TKRemoteControlWindowController.m
// WeChatPlugin
//
// Created by TK on 2017/8/8.
// Copyright © 2017年 tk. All rights reserved.
//
#import "TKRemoteControlWindowController.h"
#import "TKRemoteControlModel.h"
#import "TKWeChatPluginConfig.h"
#import "TKRemoteControlCell.h"
@interface TKRemoteControlWindowController () <NSWindowDelegate, NSTabViewDelegate, NSTableViewDelegate, NSTableViewDataSource>
@property (nonatomic, weak) IBOutlet NSTabView *tabView;
@property (nonatomic, strong) NSTableView *tableView;
@property (nonatomic, strong) NSArray *remoteControlModels;
@end
@implementation TKRemoteControlWindowController
- (void)windowDidLoad {
[super windowDidLoad];
[self setup];
[self initSubviews];
}
- (void)initSubviews {
CGFloat tabViewWidth = self.tabView.frame.size.width;
CGFloat tabViewHeight = self.tabView.frame.size.height;
self.tableView = ({
NSTableView *tableView = [[NSTableView alloc] init];
tableView.frame = NSMakeRect(50, 50, tabViewWidth, tabViewHeight);
tableView.delegate = self;
tableView.dataSource = self;
NSTableColumn *column = [[NSTableColumn alloc] init];
column.width = tabViewWidth - 100;
[tableView addTableColumn:column];
tableView.selectionHighlightStyle = NSTableViewSelectionHighlightStyleNone;
tableView.backgroundColor = [NSColor clearColor];
tableView;
});
[self.tabView addSubview:self.tableView];
}
- (void)setup {
self.window.contentView.layer.backgroundColor = [NSColor whiteColor].CGColor;
[self.window.contentView.layer setNeedsDisplay];
self.remoteControlModels = [[TKWeChatPluginConfig sharedConfig] remoteControlModels][0];
}
/**
关闭窗口事件
*/
- (BOOL)windowShouldClose:(id)sender {
[[TKWeChatPluginConfig sharedConfig] saveRemoteControlModels];
return YES;
}
#pragma mark - NSTableViewDataSource && NSTableViewDelegate
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView{
return self.remoteControlModels.count;
}
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{
TKRemoteControlCell *cell = [[TKRemoteControlCell alloc] init];
cell.frame = NSMakeRect(0, 0, self.tabView.frame.size.width, 40);
[cell setupWithData:self.remoteControlModels[row]];
return cell;
}
- (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row{
return 50;
}
#pragma mark - NSTabViewDelegate
- (void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem {
NSInteger selectTabIndex = [tabViewItem.identifier integerValue];
self.remoteControlModels = [[TKWeChatPluginConfig sharedConfig] remoteControlModels][selectTabIndex];
[self.tableView reloadData];
}
@end