This is CECellMatrix.m in view mode; [Download] [Up]
/*
* CECellMatrix
*
*/
#import "CECellMatrix.h"
#import "CEBrowserCell.h"
@implementation CECellMatrix
- mouseDown:(NXEvent *)theEvent
{
id theCell;
int row;
int col;
NXPoint theSpot;
theSpot.x = (theEvent->location).x;
theSpot.y = (theEvent->location).y;
[self convertPoint:&theSpot fromView:nil];
// It is IMPORTANT that we really use row and col here.
// The matrix method has a BUG which would return a wrong
// cell if we use only one int for both values.
// It seams to use them internally to store the row/col infos!!
theCell = [self getRow:&row andCol:&col forPoint:&theSpot];
if( theCell != nil &&
[theCell respondsTo:@selector(mouseDown:forView:)] )
{
if( [theCell mouseDown:theEvent forView:self] == nil )
return self;
}
return [super mouseDown:theEvent];
}
- (BOOL)acceptsFirstResponder
{
return YES;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.