This is MyBrowserCell.m in view mode; [Download] [Up]
// Copyright H. Giesen, University of Koblenz-Landau 1996
#import "MyBrowserCell.h"
@implementation MyBrowserCell
- init
{
[super init];
[self setEnabled:YES];
return self;
}
- initTextCell:(const char *)aString
{
[super initTextCell:aString];
[self setEnabled:YES];
return self;
}
- setObject:obj inFile:fileObj
{
myObj = obj;
myFile = fileObj;
[self setEditable:NO];
return self;
}
- object
{
return myObj;
}
- fileObject
{
return myFile;
}
// adopted from ScrollDoodScroll
- drawInside:(const NXRect *)cellFrame inView:controlView
{
PSsetgray(NX_LTGRAY);
NXRectFill( cellFrame );
[super drawInside:cellFrame inView:controlView];
/* all drawing from now on will be in dark gray */
PSsetgray(NX_DKGRAY);
/* draw the two dark gray lines above and below the cell */
if (cFlags1.state || cFlags1.highlighted) {
NXRect rectArray[2];
/*
* draw 1-pixel tall rectangles instead of lines (this is faster than
* PSmoveto(); PSlineto()).
*/
NXSetRect(&(rectArray[0]), NX_X(cellFrame), NX_Y(cellFrame),
NX_WIDTH(cellFrame), 1.0);
NXSetRect(&(rectArray[1]), NX_X(cellFrame), NX_MAXY(cellFrame) - 1.0,
NX_WIDTH(cellFrame), 1.0);
/* using NXRectFillList is faster than separate calls to NXRectFill */
NXRectFillList(rectArray, 2);
}
return self;
}
- highlight:(const NXRect *)cellFrame inView:controlView lit:(BOOL)flag
{
if (cFlags1.highlighted != flag) {
cFlags1.highlighted = flag;
[self drawInside:cellFrame inView:controlView];
}
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.