Re: Dynamically Updating Column Titles in NSTableView with Mouse Events
Re: Dynamically Updating Column Titles in NSTableView with Mouse Events
- Subject: Re: Dynamically Updating Column Titles in NSTableView with Mouse Events
- From: Peter Zegelin <email@hidden>
- Date: Tue, 20 Jul 2010 12:33:43 +1000
Wow that was quick!
[[table headerView] setNeedsDisplay:YES];
works great. Thanks to Jeff and Graham for replying.
On 20/07/2010, at 12:20 PM, Jeff Gilbert wrote:
> Hi Peter,
>
> On Jul 19, 2010, at 8:54 PM, Peter Zegelin wrote:
>
>> I am trying to dynamically update the titles of my table columns to show the current row that the mouse is over. I am using an NSTrackingArea to get the mouseEnter, mouseMove and mouseExit events and then calling the following method ( in my delegate ) to update the column titles. Unfortunately the column titles never change, though the printf statement shows that the method is being called correctly:
>>
>> - (void)setColumnTitlesForMouseAt:(int)row{
>>
>> if(row == rowForColumnTitles) // just to prevent unnecessary updating
>> return;
>>
>> rowForColumnTitles = row;
>>
>> printf("\n x: ",row);
>>
>> NSTableColumn* column;
>> int i;
>>
>> for(i = 1; i <= 16; ++i){
>> column = [[itsTableView tableColumns] objectAtIndex:i];
>> [[column headerCell] setStringValue:[NSString stringWithFormat:@"X",rowForColumnTitles]];
>> }
>>
>> //[itsTableView displayIfNeeded];
>> //[itsTableView setNeedsDisplay: YES];
>> }
>
>
> I do something similar and found the following works for me:
>
> // update column headers
> ...
>
> // force the table to redraw the headers
> [[table headerView] setNeedsDisplay:YES];
>
> Good luck,
> Jeff Gilbert
kind regards,
Peter Zegelin
www.fracturedsoftware.com
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden