Re: NSOutlineView multi cell type binding query
Re: NSOutlineView multi cell type binding query
- Subject: Re: NSOutlineView multi cell type binding query
- From: "email@hidden" <email@hidden>
- Date: Wed, 6 Oct 2010 10:58:06 +0100
>
> I think it is your misunderstanding of what is going on.
>
> When the user interacts with a cell (editing, or tracking - in this case, tracking is happening), the cell is copied. This is required, if you think about it, since you don't want to have any other cells in the table be redrawn with that cell that is in the middle of being edited/tracked. After editing, the regular cell is used again to do drawing for that row/column. The edited cell needs to be redrawn; you can use - (void)reloadDataForRowIndexes:(NSIndexSet *)rowIndexes columnIndexes:(NSIndexSet *)columnIndexes, which in 10.6 basically just does a setNeedsDisplayInRect:.
>
> corbin
>
Thanks for the reply Corbin.
I had not deduced the need for the cell to be copied.
I am still somewhat uncertain about the exact logic here.
I thought that perhaps the dataSource would be queried for cells that don't support the designated NSTableColumn value binding but that doesn't seem to be the case.
Calling -reloadData after I have updated the model in the NSButtonCell action doesn't cause the cell to be redrawn correctly for what ever configuration I have adopted.
What does work is:
1. in - outlineView:dataCellForTableColumn:item: construct my popup cell when required.
2.in - outlineView:willDisplayCell:forTableColumn:item: select item in popup cell according to model.
In step 1 I construct my cell and select the item that corresponds to my model.
This selection is not respected when the cell is drawn unless I implement step 2.
I don't quite understand this as the cell is being configured on a per item basis.
Anyhow, it seems best to leave all configuration of the cells state to step 2.
Regards
Jonathan Mitchell
Developer
Mugginsoft LLP
http://www.mugginsoft.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