View-based NSOutlineView doesn't show disclosure properly
| Originator: | me | ||
| Number: | rdar://12559808 | Date Originated: | 23-Oct-2012 03:04 PM |
| Status: | Open | Resolved: | |
| Product: | Mac OS X | Product Version: | 10.8.2 (12C60) |
| Classification: | UI/Usability | Reproducible: | Always |
I'm using a view-based NSOutlineView, and it seems not to respect the -outlineView:shouldShowOutlineCellForItem: delegate method return value (with source list group rows in particular). The -outlineView:shouldShowOutlineCellForItem: delegate method is used for two purposes (in view-based outline views). When you mouse-over a group row, the return value determines whether to show the disclosure button. But when the row view is created, the value also determines whether to create an outline button. If this returns NO then, the row view will never get a disclosure button, so even if the method returns YES in the future, the Hide/Show button won't be shown (until a new row view is created). This is hard to work around, because calling -reloadItem: does NOT cause the row view to be re-created. Expected behavior: Returning YES from this method would cause the disclosure button to be shown, even if NO was previously returned. Additionally, sending -reloadItem: would create a new row view and cell view.
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!