Re: NSButtonCell Ignores Button Type
Re: NSButtonCell Ignores Button Type
- Subject: Re: NSButtonCell Ignores Button Type
- From: Ricky Sharp <email@hidden>
- Date: Tue, 29 Mar 2005 14:02:55 -0600
On Mar 29, 2005, at 1:44 PM, Seth Willits wrote:
I have a bunch of NSButtonCells in an NSMatrix and no matter what I
do, the cells toggle their states when clicked on, despite their
button types being set to NSMomentaryPushInButton. I have looked at
this for an hour and tried a million things, but I can't figure out
why this is happening. I can setup a small test matrix and they work
just fine, but mine refuses to.
Another problem I'm having is figuring out which button is actually
clicked. Not selected (since there is no selection when in
NSHighlightModeMatrix), but actually clicked. I thought something like
- (void)mouseUp:(NSEvent *)event
{
BOOL cellWasHit;
NSPoint point;
point = [self convertPoint:[event locationInWindow] fromView:nil];
cellWasHit = [self getRow:&lastRow column:&lastColumn forPoint:point];
if (!cellWasHit) {
lastRow = lastColumn = -1;
}
[super mouseUp:event];
}
... would work, but mouseUp is never called.
This is probably due to a local (local to the matrix) code to handle
mouse tracking.
Anyhow, how about setting the tag on each of your button cells (Tag
field in the cell's inspector in IB or programatically with setTag:)
Then, assign a common action to all your cells (e.g. matrixCellClicked:)
It would be implemented like:
- (IBAction)matrixCellClicked:(id)sender
{
NSLog (@"You clicked on cell %d", [sender tag]);
}
___________________________________________________________
Ricky A. Sharp mailto:email@hidden
Instant Interactive(tm) http://www.instantinteractive.com
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden