| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #import "SkOptionsTableView.h" | 9 #import "SkOptionsTableView.h" |
| 10 #import "SkTextFieldCell.h" | 10 #import "SkTextFieldCell.h" |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 // the first menu is always assumed to be the static, the second is | 59 // the first menu is always assumed to be the static, the second is |
| 60 // repopulated every time over and over again | 60 // repopulated every time over and over again |
| 61 | 61 |
| 62 // seems pretty weird that we have to get rid of the const'ness here, | 62 // seems pretty weird that we have to get rid of the const'ness here, |
| 63 // but trying to propagate the const'ness through all the way to the fMenus | 63 // but trying to propagate the const'ness through all the way to the fMenus |
| 64 // vector was a non-starter. | 64 // vector was a non-starter. |
| 65 | 65 |
| 66 int menuIndex = fMenus->find(const_cast<SkOSMenu *>(menu)); | 66 int menuIndex = fMenus->find(const_cast<SkOSMenu *>(menu)); |
| 67 if (menuIndex >= 0 && menuIndex < fMenus->count()) { | 67 if (menuIndex >= 0 && menuIndex < fMenus->count()) { |
| 68 NSUInteger first = 0; | 68 NSUInteger first = 0; |
| 69 for (NSInteger i = 0; i < menuIndex; ++i) { | 69 for (int i = 0; i < menuIndex; ++i) { |
| 70 first += (*fMenus)[i]->getCount(); | 70 first += (*fMenus)[i]->getCount(); |
| 71 } | 71 } |
| 72 [fItems removeObjectsInRange:NSMakeRange(first, [fItems count] - first)]
; | 72 [fItems removeObjectsInRange:NSMakeRange(first, [fItems count] - first)]
; |
| 73 [self loadMenu:menu]; | 73 [self loadMenu:menu]; |
| 74 } | 74 } |
| 75 [self reloadData]; | 75 [self reloadData]; |
| 76 } | 76 } |
| 77 | 77 |
| 78 - (NSCellStateValue)triStateToNSState:(SkOSMenu::TriState)state { | 78 - (NSCellStateValue)triStateToNSState:(SkOSMenu::TriState)state { |
| 79 if (SkOSMenu::kOnState == state) | 79 if (SkOSMenu::kOnState == state) |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 [fItems addObject:option]; | 141 [fItems addObject:option]; |
| 142 [option release]; | 142 [option release]; |
| 143 } | 143 } |
| 144 } | 144 } |
| 145 | 145 |
| 146 - (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { | 146 - (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { |
| 147 return [self.fItems count]; | 147 return [self.fItems count]; |
| 148 } | 148 } |
| 149 | 149 |
| 150 - (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColum
n *)tableColumn row:(NSInteger)row { | 150 - (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColum
n *)tableColumn row:(NSInteger)row { |
| 151 int columnIndex = [tableView columnWithIdentifier:[tableColumn identifier]]; | 151 NSInteger columnIndex = [tableView columnWithIdentifier:[tableColumn identif
ier]]; |
| 152 if (columnIndex == 0) { | 152 if (columnIndex == 0) { |
| 153 const SkOSMenu::Item* item = ((SkOptionItem*)[fItems objectAtIndex:row])
.fItem; | 153 const SkOSMenu::Item* item = ((SkOptionItem*)[fItems objectAtIndex:row])
.fItem; |
| 154 NSString* label = [NSString stringWithUTF8String:item->getLabel()]; | 154 NSString* label = [NSString stringWithUTF8String:item->getLabel()]; |
| 155 if (fShowKeys) | 155 if (fShowKeys) |
| 156 return [NSString stringWithFormat:@"%@ (%c)", label, item->getKeyEqu
ivalent()]; | 156 return [NSString stringWithFormat:@"%@ (%c)", label, item->getKeyEqu
ivalent()]; |
| 157 else | 157 else |
| 158 return label; | 158 return label; |
| 159 } | 159 } |
| 160 else | 160 else |
| 161 return nil; | 161 return nil; |
| 162 } | 162 } |
| 163 | 163 |
| 164 - (NSCell *)tableView:(NSTableView *)tableView dataCellForTableColumn:(NSTableCo
lumn *)tableColumn row:(NSInteger)row { | 164 - (NSCell *)tableView:(NSTableView *)tableView dataCellForTableColumn:(NSTableCo
lumn *)tableColumn row:(NSInteger)row { |
| 165 if (tableColumn) { | 165 if (tableColumn) { |
| 166 int columnIndex = [tableView columnWithIdentifier:[tableColumn identifie
r]]; | 166 NSInteger columnIndex = [tableView columnWithIdentifier:[tableColumn ide
ntifier]]; |
| 167 if (columnIndex == 1) | 167 if (columnIndex == 1) |
| 168 return [((SkOptionItem*)[fItems objectAtIndex:row]).fCell copy]; | 168 return [((SkOptionItem*)[fItems objectAtIndex:row]).fCell copy]; |
| 169 else | 169 else |
| 170 return [[[SkTextFieldCell alloc] init] autorelease]; | 170 return [[[SkTextFieldCell alloc] init] autorelease]; |
| 171 } | 171 } |
| 172 return nil; | 172 return nil; |
| 173 } | 173 } |
| 174 | 174 |
| 175 - (void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColu
mn:(NSTableColumn *)tableColumn row:(NSInteger)row { | 175 - (void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColu
mn:(NSTableColumn *)tableColumn row:(NSInteger)row { |
| 176 int columnIndex = [tableView columnWithIdentifier:[tableColumn identifier]]; | 176 NSInteger columnIndex = [tableView columnWithIdentifier:[tableColumn identif
ier]]; |
| 177 if (columnIndex == 1) { | 177 if (columnIndex == 1) { |
| 178 SkOptionItem* option = (SkOptionItem*)[self.fItems objectAtIndex:row]; | 178 SkOptionItem* option = (SkOptionItem*)[self.fItems objectAtIndex:row]; |
| 179 NSCell* storedCell = option.fCell; | 179 NSCell* storedCell = option.fCell; |
| 180 const SkOSMenu::Item* item = option.fItem; | 180 const SkOSMenu::Item* item = option.fItem; |
| 181 switch (item->getType()) { | 181 switch (item->getType()) { |
| 182 case SkOSMenu::kAction_Type: | 182 case SkOSMenu::kAction_Type: |
| 183 break; | 183 break; |
| 184 case SkOSMenu::kList_Type: | 184 case SkOSMenu::kList_Type: |
| 185 [cell selectItemAtIndex:[(NSPopUpButtonCell*)storedCell indexOfS
electedItem]]; | 185 [cell selectItemAtIndex:[(NSPopUpButtonCell*)storedCell indexOfS
electedItem]]; |
| 186 break; | 186 break; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 200 default: | 200 default: |
| 201 break; | 201 break; |
| 202 } | 202 } |
| 203 } | 203 } |
| 204 else { | 204 else { |
| 205 [(SkTextFieldCell*)cell setEditable:NO]; | 205 [(SkTextFieldCell*)cell setEditable:NO]; |
| 206 } | 206 } |
| 207 } | 207 } |
| 208 | 208 |
| 209 - (void)tableView:(NSTableView *)tableView setObjectValue:(id)anObject forTableC
olumn:(NSTableColumn *)tableColumn row:(NSInteger)row { | 209 - (void)tableView:(NSTableView *)tableView setObjectValue:(id)anObject forTableC
olumn:(NSTableColumn *)tableColumn row:(NSInteger)row { |
| 210 int columnIndex = [tableView columnWithIdentifier:[tableColumn identifier]]; | 210 NSInteger columnIndex = [tableView columnWithIdentifier:[tableColumn identif
ier]]; |
| 211 if (columnIndex == 1) { | 211 if (columnIndex == 1) { |
| 212 SkOptionItem* option = (SkOptionItem*)[self.fItems objectAtIndex:row]; | 212 SkOptionItem* option = (SkOptionItem*)[self.fItems objectAtIndex:row]; |
| 213 NSCell* cell = option.fCell; | 213 NSCell* cell = option.fCell; |
| 214 const SkOSMenu::Item* item = option.fItem; | 214 const SkOSMenu::Item* item = option.fItem; |
| 215 switch (item->getType()) { | 215 switch (item->getType()) { |
| 216 case SkOSMenu::kAction_Type: | 216 case SkOSMenu::kAction_Type: |
| 217 item->postEvent(); | 217 item->postEvent(); |
| 218 break; | 218 break; |
| 219 case SkOSMenu::kList_Type: | 219 case SkOSMenu::kList_Type: |
| 220 [(NSPopUpButtonCell*)cell selectItemAtIndex:[anObject intValue]]
; | 220 [(NSPopUpButtonCell*)cell selectItemAtIndex:[anObject intValue]]
; |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 | 288 |
| 289 - (NSCell*)createTriState:(NSCellStateValue)state { | 289 - (NSCell*)createTriState:(NSCellStateValue)state { |
| 290 NSButtonCell* cell = [[[NSButtonCell alloc] init] autorelease]; | 290 NSButtonCell* cell = [[[NSButtonCell alloc] init] autorelease]; |
| 291 [cell setAllowsMixedState:TRUE]; | 291 [cell setAllowsMixedState:TRUE]; |
| 292 [cell setTitle:@""]; | 292 [cell setTitle:@""]; |
| 293 [cell setState:(NSInteger)state]; | 293 [cell setState:(NSInteger)state]; |
| 294 [cell setButtonType:NSSwitchButton]; | 294 [cell setButtonType:NSSwitchButton]; |
| 295 return cell; | 295 return cell; |
| 296 } | 296 } |
| 297 @end | 297 @end |
| OLD | NEW |