Changeset 102 for trunk/Cocoa/Pester/Source/PSAlarmsController.m
- Timestamp:
- 02/23/03 04:55:07 (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cocoa/Pester/Source/PSAlarmsController.m
r53 r102 10 10 #import "PSAlarm.h" 11 11 #import "PSAlerts.h" 12 #import "NSString-NJRExtensions.h" 12 13 #import "NSTableView-NJRExtensions.h" 13 14 #import "NJRTableView.h" … … 18 19 - (void)alarmsChanged; 19 20 { 20 reorderedAlarms = [[ tableViewdelegate] reorderedDataForData: [alarms alarms]];21 reorderedAlarms = [[alarmList delegate] reorderedDataForData: [alarms alarms]]; 21 22 } 22 23 … … 34 35 } 35 36 [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(alarmsChanged) name: PSAlarmsDidChangeNotification object: alarms]; 36 [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(tableViewSelectionDidChange:) name: NSTableViewSelectionDidChangeNotification object: tableView]; 37 [tableView setAutosaveName: @"Alarm list"]; 38 [tableView setAutosaveTableColumns: YES]; 37 [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(tableViewSelectionDidChange:) name: NSTableViewSelectionDidChangeNotification object: alarmList]; 38 messageAttributes = [[NSDictionary alloc] initWithObjectsAndKeys: [[[alarmList tableColumnWithIdentifier: @"message"] dataCell] font], NSFontAttributeName, nil]; 39 [alarmList setAutosaveName: @"Alarm list"]; 40 [alarmList setAutosaveTableColumns: YES]; 39 41 [self alarmsChanged]; 40 [[self window] makeFirstResponder: tableView];41 [[self window] setResizeIncrements: NSMakeSize(1, [ tableViewcellHeight])];42 [[self window] makeFirstResponder: alarmList]; 43 [[self window] setResizeIncrements: NSMakeSize(1, [alarmList cellHeight])]; 42 44 } 43 45 return self; 44 46 } 45 47 48 - (void)dealloc; 49 { 50 [reorderedAlarms release]; 51 [messageAttributes release]; 52 [super dealloc]; 53 } 46 54 47 55 - (IBAction)remove:(id)sender; 48 56 { 49 [alarms removeAlarms: [[ tableViewdelegate] selectedItems]];57 [alarms removeAlarms: [[alarmList delegate] selectedItems]]; 50 58 } 51 59 … … 63 71 PSAlarm *alarm = [reorderedAlarms objectAtIndex: row]; 64 72 65 if ([[tableColumn identifier] isEqualToString: @"message"]) return [alarm message]; 66 else { 73 if ([[tableColumn identifier] isEqualToString: @"message"]) { 74 NSMutableString *message = [[alarm message] mutableCopy]; 75 [message truncateToWidth: [tableView frameOfCellAtColumn: 0 row: row].size.width by: NSLineBreakByTruncatingTail withAttributes: messageAttributes]; 76 return [message autorelease]; 77 } else { 67 78 NSCalendarDate *date = [alarm date]; 68 79 if ([[tableColumn identifier] isEqualToString: @"date"]) return [alarm shortDateString]; … … 96 107 - (void)tableViewSelectionDidChange:(NSNotification *)aNotification; 97 108 { 98 [removeButton setEnabled: ([ tableViewnumberOfSelectedRows] != 0)];109 [removeButton setEnabled: ([alarmList numberOfSelectedRows] != 0)]; 99 110 } 100 111 … … 115 126 - (NSRect)windowWillUseStandardFrame:(NSWindow *)sender defaultFrame:(NSRect)defaultFrame; 116 127 { 117 NSWindow *window = [ tableViewwindow];128 NSWindow *window = [alarmList window]; 118 129 NSRect frame = [window frame]; 119 NSScrollView *scrollView = [ tableViewenclosingScrollView];130 NSScrollView *scrollView = [alarmList enclosingScrollView]; 120 131 float displayedHeight = [[scrollView contentView] bounds].size.height; 121 132 float heightChange = [[scrollView documentView] bounds].size.height - displayedHeight; … … 124 135 if (heightChange >= 0 && heightChange <= 1) { 125 136 // either the window is already optimal size, or it's too big 126 float rowHeight = [ tableViewcellHeight];127 heightChange = (rowHeight * [ tableViewnumberOfRows]) - displayedHeight;137 float rowHeight = [alarmList cellHeight]; 138 heightChange = (rowHeight * [alarmList numberOfRows]) - displayedHeight; 128 139 } 129 140
Note:
See TracChangeset
for help on using the changeset viewer.