Hallo,
ich versuche momentan das Editierverhalten von NSTableView zu verbessern, in dem beim "durchtabben" die jeweils nächste Row selektiert und die entsprechende Cell zum Editieren aufgefordert wird. Tabbt man über die letzte Row hinweg wird automatisch eine neue Row erzeugt und ebenfalls die entsprechende Cell zum Editieren aufgefordert. Das klappt ganz gut.
Hier mal ein Video: tinyurl.com/2xphth
Das gesehene Verhalten erreiche ich durch eine entsprechende Implementierung von:
Diese Delegatemethode, wird allerdings nur aufgerufen, falls die Cell, die zum Editieren genutzt wurde auch wirklich etwas editiert hat. Tabbt man einfach (so wie gegen Ende des Videos gezeigt wird) durch die Tabelle (also ohne etwas zu editieren) wird diese Methode nicht aufgerufen und die Tabelle ist wieder so dumm wie zuvor.
Wieso dem so kann ich nur vermuten: Eventuell werden nach diese Methode noch die Observer informiert, dass sich etwas geändert hat - obwohl sich nichts geändert hat. Aber ist ja auch egal.
Lösungsansätze? Key Events abfangen hat wohl wenig Sinn, da der firstResponder beim Editieren nicht die TableView sondern der Editor ist.
Humpf.
ich versuche momentan das Editierverhalten von NSTableView zu verbessern, in dem beim "durchtabben" die jeweils nächste Row selektiert und die entsprechende Cell zum Editieren aufgefordert wird. Tabbt man über die letzte Row hinweg wird automatisch eine neue Row erzeugt und ebenfalls die entsprechende Cell zum Editieren aufgefordert. Das klappt ganz gut.
Hier mal ein Video: tinyurl.com/2xphth
Das gesehene Verhalten erreiche ich durch eine entsprechende Implementierung von:
Diese Delegatemethode, wird allerdings nur aufgerufen, falls die Cell, die zum Editieren genutzt wurde auch wirklich etwas editiert hat. Tabbt man einfach (so wie gegen Ende des Videos gezeigt wird) durch die Tabelle (also ohne etwas zu editieren) wird diese Methode nicht aufgerufen und die Tabelle ist wieder so dumm wie zuvor.
Wieso dem so kann ich nur vermuten: Eventuell werden nach diese Methode noch die Observer informiert, dass sich etwas geändert hat - obwohl sich nichts geändert hat. Aber ist ja auch egal.
Lösungsansätze? Key Events abfangen hat wohl wenig Sinn, da der firstResponder beim Editieren nicht die TableView sondern der Editor ist.
Humpf.
Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].
