This is EditFormatter.m in view mode; [Download] [Up]
// -------------------------------------------------------------------------------------
// EditFormatter.h
// This software is without warranty of any kind. Use at your own risk.
// -------------------------------------------------------------------------------------
#import <objc/objc.h>
#import <appkit/appkit.h>
#import <mach/mach.h>
#import <dbkit/dbkit.h>
#import "DataTable.h"
#import "EditFormatter.h"
// -------------------------------------------------------------------------------------
// NXRect abbreviations
#define X origin.x
#define Y origin.y
#define W size.width
#define H size.height
// -------------------------------------------------------------------------------------
// MyTextFieldCell
@interface _MyTextFieldCell : TextFieldCell
{
float cellTextGray;
}
@end
@implementation _MyTextFieldCell
- setEditable:(BOOL)flag
{
return [super setEditable:flag];
}
- setTextAttributes:textObj
{
[super setTextAttributes:textObj];
[textObj setTextGray:cellTextGray];
// [textObj setBackgroundGray:cFlags1.bezeled ? NX_WHITE : NX_LTGRAY];
// [textObj setTextColor:NXConvertGrayToColor([self isEnabled] ? NX_BLACK : NX_DKGRAY)];
// [textObj setBackgroundColor:NXConvertGrayToColor(cFlags1.bezeled ? NX_WHITE : NX_LTGRAY)];
return textObj;
}
- setTextGray:(float)aGray
{
cellTextGray = aGray;
return self;
}
@end
// -------------------------------------------------------------------------------------
// -------------------------------------------------------------------------------------
@implementation EditFormatter
// -------------------------------------------------------------------------------------
// -------------------------------------------------------------------------------------
// initialization
/* init */
- init
{
[super init];
[drawCell free]; // free old drawCell
drawCell = [[_MyTextFieldCell allocFromZone:[self zone]] initTextCell:NULL];
[drawCell setTextGray:NX_BLACK];
[drawCell setBezeled:NO];
[drawCell setBordered:NO];
[drawCell setBackgroundTransparent:YES];
[drawCell setEditable:NO];
return self;
}
// -------------------------------------------------------------------------------------
// get value
- getValueAt:(unsigned int)row :(unsigned int)col
withAttributes:(id <DBTableVectors>)ra :(id <DBTableVectors>)ca
usePositions:(BOOL)ur :(BOOL)uc;
{
u_int r = ur? row : (u_int)[ra identifier];
u_int c = uc? col : (u_int)[ca identifier];
[super getValueAt:row:col withAttributes:ra:ca usePositions:ur:uc];
[drawCell setTextGray:([dataSource verifyValueAt:r:c]?NX_BLACK:NX_DKGRAY)];
return value;
}
// -------------------------------------------------------------------------------------
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.