home *** CD-ROM | disk | FTP | other *** search
- #import "KAYEditableFormatter.h"
- #import "LedgerController.h"
-
- @implementation KAYEditableFormatter
- - textDidEnd:textObject endChar:(unsigned short)whyEnd
- {
- if ((whyEnd == 16)||((whyEnd == 17) && (_theColumn == _lastColumn))) {
- if (NXRunAlertPanel("Confirm?",
- "Do you want to commit this transaction?",
- "Yes", "No", NULL) == NX_ALERTDEFAULT) {
- [super textDidEnd:textObject endChar:0];
- [_theCtlr commit:self];
- [_theCtlr perform:@selector(ping:) with :self afterDelay:1 cancelPrevious:NO];
- } else
- [super textDidEnd:textObject endChar:0];
- } else {
- [super textDidEnd:textObject endChar:whyEnd];
- }
- return self;
- }
-
- - setController:anObject
- {
- _theCtlr = anObject;
- return self;
- }
-
- - setColumnLimit:(unsigned int)column
- {
- _lastColumn = column;
- return self;
- }
-
- - (BOOL)editFieldAt:(unsigned int)row :(unsigned int)column inside:(NXRect *)frame inView:view
- withAttributes:(id <DBTableVectors >)rowAttributes
- :(id <DBTableVectors >)columnAttributes
- usePositions:(BOOL)rp :(BOOL)rc
- onEvent:(NXEvent *)theEvent
- {
- _theColumn = column;
- return[super editFieldAt:row :column inside:frame inView:view
- withAttributes:rowAttributes
- :columnAttributes
- usePositions:rp :rc
- onEvent:theEvent];
- }
-
- - drawFieldAt:(unsigned int) row :(unsigned int) column
- inside:(NXRect *) frame inView:view
- withAttributes:(id <DBTableVectors>) ra
- :(id <DBTableVectors>) ca
- usePositions:(BOOL) rp :(BOOL) rc;
- {
- /* this is a hack to set every other row to the slightly different gray. */
- #ifdef NEVEREVER
- if ((row % 2) == 0) {
- [drawCell setBackgroundGray:0.5];
- }
- #endif
- return[super drawFieldAt:row :column
- inside:frame inView:view
- withAttributes:ra
- :ca
- usePositions:rp :rc];
- }
-
- @end
-
-