|
|
1.1 root 1: #import "KAYEditableFormatter.h"
2: #import "LedgerController.h"
3:
4: @implementation KAYEditableFormatter
5: - textDidEnd:textObject endChar:(unsigned short)whyEnd
6: {
7: if ((whyEnd == 16)||((whyEnd == 17) && (_theColumn == _lastColumn))) {
8: if (NXRunAlertPanel("Confirm?",
9: "Do you want to commit this transaction?",
10: "Yes", "No", NULL) == NX_ALERTDEFAULT) {
11: [super textDidEnd:textObject endChar:0];
12: [_theCtlr commit:self];
13: [_theCtlr perform:@selector(ping:) with :self afterDelay:1 cancelPrevious:NO];
14: } else
15: [super textDidEnd:textObject endChar:0];
16: } else {
17: [super textDidEnd:textObject endChar:whyEnd];
18: }
19: return self;
20: }
21:
22: - setController:anObject
23: {
24: _theCtlr = anObject;
25: return self;
26: }
27:
28: - setColumnLimit:(unsigned int)column
29: {
30: _lastColumn = column;
31: return self;
32: }
33:
34: - (BOOL)editFieldAt:(unsigned int)row :(unsigned int)column inside:(NXRect *)frame inView:view
35: withAttributes:(id <DBTableVectors >)rowAttributes
36: :(id <DBTableVectors >)columnAttributes
37: usePositions:(BOOL)rp :(BOOL)rc
38: onEvent:(NXEvent *)theEvent
39: {
40: _theColumn = column;
41: return[super editFieldAt:row :column inside:frame inView:view
42: withAttributes:rowAttributes
43: :columnAttributes
44: usePositions:rp :rc
45: onEvent:theEvent];
46: }
47:
48: - drawFieldAt:(unsigned int) row :(unsigned int) column
49: inside:(NXRect *) frame inView:view
50: withAttributes:(id <DBTableVectors>) ra
51: :(id <DBTableVectors>) ca
52: usePositions:(BOOL) rp :(BOOL) rc;
53: {
54: /* this is a hack to set every other row to the slightly different gray. */
55: #ifdef NEVEREVER
56: if ((row % 2) == 0) {
57: [drawCell setBackgroundGray:0.5];
58: }
59: #endif
60: return[super drawFieldAt:row :column
61: inside:frame inView:view
62: withAttributes:ra
63: :ca
64: usePositions:rp :rc];
65: }
66:
67: @end
68:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.