This is AssocTableCell.m in view mode; [Download] [Up]
// AssocTableCell.m // // Free software created 1 Feb 1992 // by Paul Burchard <burchard@math.utah.edu>. #import "AssocTableCell.h" #import <appkit/appkit.h> @implementation AssocTableCell - initTextCell:(const char *)aString { [super initTextCell:aString]; assocField = [[TextFieldCell alloc] initTextCell:""]; assocSize = 0.20; assocGray = NX_DKGRAY; [assocField setTextGray:assocGray]; return self; } - free { [assocField free]; return [super free]; } - drawInside:(const NXRect *)cellFrame inView:controlView { NXRect assocFrame, textFrame; float x, y, h, w; id rtn; // Compute subcell rects. x = NX_X(cellFrame); y = NX_Y(cellFrame); w = NX_WIDTH(cellFrame); h = NX_HEIGHT(cellFrame); NX_X(&assocFrame) = x; NX_Y(&assocFrame) = y; NX_WIDTH(&assocFrame) = assocSize*w; NX_HEIGHT(&assocFrame) = h; NX_X(&textFrame) = x + assocSize*w; NX_Y(&textFrame) = y; NX_WIDTH(&textFrame) = (1-assocSize)*w; NX_HEIGHT(&textFrame) = h; // Draw subcells. rtn = [super drawInside:&textFrame inView:controlView]; [assocField drawSelf:&assocFrame inView:controlView]; [assocField highlight:&assocFrame inView:controlView lit:[self isHighlighted]]; return rtn; } - setBackgroundColor:(NXColor)Colorvalue { [assocField setBackgroundColor:Colorvalue]; return [super setBackgroundColor:Colorvalue]; } - setBackgroundGray:(float)value { [assocField setBackgroundGray:value]; return [super setBackgroundGray:value]; } - setBackgroundTransparent:(BOOL)flag { [assocField setBackgroundTransparent:flag]; return [super setBackgroundTransparent:flag]; } - setTextAttributes:textObj { [assocField setTextAttributes:textObj]; [assocField setTextGray:assocGray]; return [super setTextAttributes:textObj]; } - setAssocStringValue:(const char *)aValue { [assocField setStringValue:aValue]; [[self controlView] updateCellInside:self]; return self; } - (const char *)assocStringValue { return [assocField stringValue]; } - setAssocSize:(float)aValue { assocSize = aValue; if(assocSize > 1.0) assocSize = 1.0; if(assocSize < 0.0) assocSize = 0.0; [[self controlView] updateCellInside:self]; return self; } - (float)assocSize { return assocSize; } - setAssocGray:(float)aValue { assocGray = aValue; if(assocGray > 1.0) assocGray = 1.0; if(assocGray < 0.0) assocGray = 0.0; [assocField setTextGray:assocGray]; [[self controlView] updateCellInside:self]; return self; } - (float)assocGray { return assocGray; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.