Created
December 29, 2009 20:28
-
-
Save BlairDuncan/265571 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
upArrow = [[CPImage alloc] initWithContentsOfFile:@"Resources/upArrow.png" size:CGSizeMake(8.0, 7.0)]; | |
downArrow = [[CPImage alloc] initWithContentsOfFile:@"Resources/downArrow.png" size:CGSizeMake(8.0, 7.0)]; | |
@implementation CPTableHeaderView (myAdditions) | |
- (void)mouseDown:(CPEvent)anEvent | |
{ | |
var selectedColumnNumber = [self columnAtPoint:[self convertPoint:[anEvent locationInWindow] fromView:nil]]; | |
if(selectedColumnNumber == CPNotFound) return; | |
var column = [[_tableView tableColumns] objectAtIndex:selectedColumnNumber]; | |
var headerContentView = Nil; | |
// hide arrow in all columns | |
for (var i in [_tableView tableColumns]) | |
{ | |
if([_tableView tableColumns][i].isa.name == @"CPArray") continue; | |
else | |
{ | |
column = [[_tableView tableColumns] objectAtIndex:i]; | |
headerContentView = [column headerView]._ephemeralSubviewsForNames["content-view"]; | |
[headerContentView setImagePosition:CPNoImage]; | |
} | |
} | |
// display arrow in selected column | |
column = [[_tableView tableColumns] objectAtIndex:selectedColumnNumber]; | |
headerContentView = [column headerView]._ephemeralSubviewsForNames["content-view"]; | |
if([headerContentView image]) | |
{ | |
if([headerContentView image] == downArrow) [headerContentView setImage:upArrow]; | |
else [headerContentView setImage:downArrow]; | |
} | |
else [headerContentView setImage:downArrow]; | |
[headerContentView setImagePosition:CPImageLeft]; | |
//sort the dataSource and reload | |
// - (void) sortDataInColumnIdentifiedBy:(CPString)anIdentifier descending:(BOOL)isDescending | |
[[_tableView dataSource] sortDataInColumnIdentifiedBy:[column identifier] descending:([headerContentView image] == downArrow)]; | |
[[_tableView selectedRowIndexes] removeAllIndexes]; | |
[_tableView reloadData]; | |
} | |
@end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment