@@ -34,6 +34,7 @@ def initWithTableView_(self, tableView):
3434 self ._cellToValueConverters = {} # { identifier : function }
3535 self ._groupRowCellClass = None
3636 self ._groupRowCellClassKwargs = {}
37+ self ._editedRowIndex = None
3738 self ._cellWrappers = {} # { nsView : vanilla wrapper } for view + wrapper reuse purposes
3839 self ._valueGetters = {} # { identifier : options (see below) }
3940 self ._valueSetters = {} # { identifier : options (see below) }
@@ -246,8 +247,14 @@ def cellEditCallback(self, sender):
246247 value = sender .get ()
247248 self .setItemValueForColumnAndRow (value , identifier , row )
248249 wrapper = self .vanillaWrapper ()
250+ self ._editedRowIndex = row
249251 if wrapper ._editCallback is not None :
250252 wrapper ._editCallback (wrapper )
253+ self ._editedRowIndex = None
254+
255+ @python_method
256+ def getEditedRowIndex (self ):
257+ return self ._editedRowIndex
251258
252259 # Drag
253260
@@ -876,6 +883,18 @@ def setSelectedIndexes(self, indexes):
876883 rowIndexes = makeIndexSet (rowIndexes )
877884 self ._tableView .selectRowIndexes_byExtendingSelection_ (rowIndexes , False )
878885
886+ def getEditedIndex (self ):
887+ """
888+ Return the index of the edited row.
889+ """
890+ return self ._dataSourceAndDelegate .getEditedRowIndex ()
891+
892+ def getEditedItem (self ):
893+ """
894+ Return the item of the edited row.
895+ """
896+ return self .get ()[self .getEditedIndex ()]
897+
879898 def scrollToSelection (self ):
880899 """
881900 Scroll the selected rows to visible.
0 commit comments