# HG changeset patch # User Laurent Bessard # Date 1362502459 -3600 # Node ID 069466072e9db8229f04b4487cd3df600ebfc1d5 # Parent 7ef2f485c28f2f85b27112e2ef1f2a3efaf98826 Fix row selection in CustomGrid diff -r 7ef2f485c28f -r 069466072e9d controls/CustomGrid.py --- a/controls/CustomGrid.py Mon Mar 04 17:49:38 2013 +0900 +++ b/controls/CustomGrid.py Tue Mar 05 17:54:19 2013 +0100 @@ -92,9 +92,8 @@ else: self.Table.InsertRow(new_row, self.DefaultValue.copy()) self.Table.ResetView(self) - self.SetGridCursor(new_row, col) - self.MakeCellVisible(new_row, col) - self.RefreshButtons() + if new_row is not None: + self.SetSelectedRow(new_row) def DeleteRow(self): self.CloseEditControl() @@ -106,10 +105,7 @@ else: self.Table.RemoveRow(row) self.Table.ResetView(self) - new_row = min(row, self.Table.GetNumberRows() - 1) - self.SetGridCursor(new_row, col) - self.MakeCellVisible(new_row, col) - self.RefreshButtons() + self.SetSelectedRow(min(row, self.Table.GetNumberRows() - 1)) def MoveRow(self, row, move): self.CloseEditControl() @@ -121,10 +117,14 @@ if new_row != row: self.Table.ResetView(self) if new_row != row: - self.SetGridCursor(new_row, col) - self.MakeCellVisible(new_row, col) - self.RefreshButtons() - + self.SetSelectedRow(new_row) + + def SetSelectedRow(self, row): + col = self.GetGridCursorCol() + self.SetGridCursor(row, col) + self.MakeCellVisible(row, col) + self.RefreshButtons() + def OnAddButton(self, event): self.AddRow() self.SetFocus()