Make NSFormatter validate NSTextFieldCell continuously

Posted by harms on Stack Overflow See other posts from Stack Overflow or by harms
Published on 2010-05-19T12:11:58Z Indexed on 2010/05/19 15:00 UTC
Read the original article Hit count: 360

In Cocoa, I have an NSOutlineView where the cells are NSTextFieldCell. The cell displays values which are strings that are formatted according to certain rules (such as floats or pairs of floats with a space in between). I have made a custom NSFormatter to validate the text, and this seems to work with no problem.

However, the cell (or the outline view, I'm unsure what is causing this) only seems to use the formatter at the moment my editing would end. If I type some alphabetic characters into the text field (which violates the formatting rules), these characters show up -- the only way I notice the formatter doing its job is that I'm now prevented from moving keyboard focus away from this cell. If I return the contents of the cell to a valid form, then I can move focus away.

I have set both the cell and the outline view to be "continuous".

It would be better if I was unable to enter text into the cell in the first place. Is it possible to make it like that, and if so, how?

© Stack Overflow or respective owner

Related posts about cocoa

Related posts about nsformatter