PDA

View Full Version : Setting matrix cell state




Dreamspinner
Feb 19, 2013, 09:59 AM
I have an NSMatrix as 2 radio buttons( 1 col, 2 rows). I need to be able to set one to selected (ON, checked) state. The matrix and both cells have an action which fires when one of the buttons is clicked. The matrix has an outlet, but the cells do not. In the code below, I get the correct tag, but none of the other lines (tried one at a time) have any effect.


- (IBAction)matrixClick:(id)sender
{
id theCell = [sender selectedCell];
int theTag = [theCell tag];

[[matrixRotor cellAtRow:0 column:0] setState:1];
[matrixRotor selectCellWithTag:1];
[matrixRotor setState:1 atRow:0 column:0];
NSLog(@"Setting RB");
}



robbieduncan
Feb 19, 2013, 10:14 AM
Have you checked everything including the obvious? For example have you checked that matrixRotor is not nil? Also don't use 1, use NSOnState

Dreamspinner
Feb 19, 2013, 11:31 AM
I don't have a list of 'everything', so no, I haven't. Wouldn't 'the obvious' be a subset of everything? :)

Seriously, I don't know what else I can check. I put in a test for nil, and it's not.
The use of NSOnState made no difference.

robbieduncan
Feb 19, 2013, 12:12 PM
OK, matrixRotor is not nil. That's a good start. What sort of cell are you using?

Dreamspinner
Feb 19, 2013, 12:18 PM
OK, matrixRotor is not nil. That's a good start. What sort of cell are you using?

As I said in the OP, radio buttons.

Dreamspinner
Feb 20, 2013, 10:16 AM
OK, matrixRotor is not nil. That's a good start. What sort of cell are you using?

As I said in the OP, radio buttons.

Sorted. You can't change state in a method that responds to a click event of a button. Moved it elsewhere.

robbieduncan
Feb 20, 2013, 11:29 AM
Sorted. You can't change state in a method that responds to a click event of a button. Moved it elsewhere.

Cool. I suppose that makes some sense. The click itself should be changing the state anyway