For example when I click on the red dot below:

I want the following deselection to occur:

I set up the view-based NSOutlineView using bindings for both the data source and the selection indexes. So far i’ve tried to override the TableCellView becomeFirstResponder and also override NSOutlineView’s becomeFirstResponder however it seems NSOutlineView never actually gives up first responder status?
Some advice would be very much appreciated!
I found this post on the topic. The solution appears to be in creating a subclass of
NSOutlineViewand overridingmouseDown:so that you can determine whether the click was on a row or not. When the click is on a row you just dispatch to super. If it’s not you senddeselectAll:to yourNSOutlineView.I haven’t tried it myself but there are various posts around which come up with comparable code.