Citando Fred Kiefer <FredKiefer@gmx.de>:
There are also a lot of problems with setShowsFirstResponder:. I think
from the documentation that this only indicates that the dotted line
will be drawn, when the cells also becomes first responder. But our
current code treats this as unconditional, the value itself determines
if the dots get drawn. This value is screwed up by the current code in
NSButton, whenever the button becomes first responder. And even worse in
NSMatrix. I would like to change this, so that the redraw code of NSCell
takes over the processing of showsFirstResponder (drawing the dotted
frame whenever the control is the first responder and the cell is the
selected cell of the responder) and just selecting the cell everywhere
else. Is this solution fine for everybody?
Well, I don't agree with this change. It would break object encapsulation.
IMHO, it should be the control that makes the decision of which cell should
show first responder status, not the cell. For example, with NSMatrix,
it is keyCell, not selectedCell (the code in NSMatrix is wrong) that
should be dotted. A different control could have another way to choose its
first responder cell.