Hallo,
Habe einen NSOutlineView, dessen delegate outlineView:dataCellForTableColumn:item: implementiert. Diese Funktion gibt eine von 2 möglichen NSCells zurück, abhängig von item.
Eins ist eine ImageAndTextCell, das andere LPNumberedTextCell (eine Subclass von NSTextFieldCell).
Das Problem ist, dass nach dem Editieren einer LPNumberedTextCell der neue Wert aus dem field editor nicht übernommen wird. Woran kann das liegen? Hier noch die Cell-Implementierung:
Alles anzeigen
Habe einen NSOutlineView, dessen delegate outlineView:dataCellForTableColumn:item: implementiert. Diese Funktion gibt eine von 2 möglichen NSCells zurück, abhängig von item.
Eins ist eine ImageAndTextCell, das andere LPNumberedTextCell (eine Subclass von NSTextFieldCell).
Das Problem ist, dass nach dem Editieren einer LPNumberedTextCell der neue Wert aus dem field editor nicht übernommen wird. Woran kann das liegen? Hier noch die Cell-Implementierung:
Quellcode
- @implementation LPNumberedTextCell
- @synthesize number;
- - (id)init
- {
- if (self = [super init])
- {
- number = @"";
- [self setSelectable:YES];
- [self setEditable:YES];
- }
- return self;
- }
- - (id)copyWithZone:(NSZone *)zone
- {
- LPNumberedTextCell *cell = (LPNumberedTextCell *)[super copyWithZone:zone];
- cell.number = self.number;
- return cell;
- }
- - (void)editWithFrame:(NSRect)aRect inView:(NSView *)controlView editor:(NSText *)textObj delegate:(id)anObject event:(NSEvent *)theEvent
- {
- ...
- [super editWithFrame: aRect inView: controlView editor:textObj delegate:anObject event: theEvent];
- }
- - (void)selectWithFrame:(NSRect)aRect inView:(NSView *)controlView editor:(NSText *)textObj delegate:(id)anObject start:(NSInteger)selStart length:(NSInteger)selLength
- {
- ...
- [super selectWithFrame: aRect inView: controlView editor:textObj delegate:anObject start:selStart length:selLength];
- }
- - (void)drawWithFrame:(NSRect)rect inView:(NSView *)controlView
- {
- ...
- [super drawWithFrame:rect inView:controlView];
- }
- @end
[url]http://www.martinhoeller.net[/url]