-
Notifications
You must be signed in to change notification settings - Fork 1
/
DisplayInfoController.m
78 lines (53 loc) · 1.95 KB
/
DisplayInfoController.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
//
// DisplayInfoController.m
// DisplayInfo
//
// Created by Tobias Preuss on 22.06.11.
// Copyright 2011 Tobias Preuss. All rights reserved.
//
#import "DisplayInfoController.h"
#import "DisplayInfo.h"
/**
The DisplayInfoController class acts as the data source and the delegate
for the table view. It initializes the selection for the table view and
stores any changes to the selection.
*/
@implementation DisplayInfoController
- (id)init {
self = [super init];
if (self != nil) {
m_displayInfoTableView = nil; // Assigned in Interface Builder.
// Preselect the main screen.
m_selectedScreenIndex = [DisplayInfo indexOfScreen:[NSScreen mainScreen]];
NSLog(@"%@ %@ --- %@, %d", self.className, NSStringFromSelector(_cmd),
[DisplayInfo screenNameForScreen:[NSScreen mainScreen]], m_selectedScreenIndex); /* DEBUG LOG */
}
return self;
}
- (void)awakeFromNib {
if (m_displayInfoTableView) {
[m_displayInfoTableView selectRowIndexes:[NSIndexSet indexSetWithIndex:m_selectedScreenIndex] byExtendingSelection:NO];
}
}
@synthesize displayInfoTableView = m_displayInfoTableView;
#pragma mark -
#pragma mark NSTableViewDataSource
- (NSInteger)numberOfRowsInTableView:(NSTableView*)tableView {
return [[DisplayInfo screenNames] count];
}
- (id)tableView:(NSTableView*)tableView objectValueForTableColumn:(NSTableColumn*)tableColumn row:(NSInteger)rowIndex {
return [[DisplayInfo screenNames] objectAtIndex:rowIndex];
}
#pragma mark -
#pragma mark NSTableViewDelegate
- (NSIndexSet*)tableView:(NSTableView*)tableView selectionIndexesForProposedSelection:(NSIndexSet*)proposedSelectionIndexes {
m_selectedScreenIndex = [proposedSelectionIndexes lastIndex];
NSLog(@"%@ %@ --- %@", self.className, NSStringFromSelector(_cmd), self); /* DEBUG LOG */
return proposedSelectionIndexes;
}
#pragma mark -
#pragma mark NSObject
- (NSString*)description {
return [NSString stringWithFormat:@"selectedScreenIndex = %d", m_selectedScreenIndex];
}
@end