70 setattr(self, "%sButton" % name, button) |
70 setattr(self, "%sButton" % name, button) |
71 if button is not None: |
71 if button is not None: |
72 button.Bind(wx.EVT_BUTTON, getattr(self, "On%sButton" % name)) |
72 button.Bind(wx.EVT_BUTTON, getattr(self, "On%sButton" % name)) |
73 |
73 |
74 def RefreshButtons(self): |
74 def RefreshButtons(self): |
75 rows = self.Table.GetNumberRows() |
75 if self: |
76 row = self.GetGridCursorRow() |
76 rows = self.Table.GetNumberRows() |
77 if self.AddButton is not None: |
77 row = self.GetGridCursorRow() |
78 self.AddButton.Enable(self.Editable) |
78 if self.AddButton is not None: |
79 if self.DeleteButton is not None: |
79 self.AddButton.Enable(self.Editable) |
80 self.DeleteButton.Enable(self.Editable and rows > 0) |
80 if self.DeleteButton is not None: |
81 if self.UpButton is not None: |
81 self.DeleteButton.Enable(self.Editable and rows > 0) |
82 self.UpButton.Enable(self.Editable and row > 0) |
82 if self.UpButton is not None: |
83 if self.DownButton is not None: |
83 self.UpButton.Enable(self.Editable and row > 0) |
84 self.DownButton.Enable(self.Editable and 0 <= row < rows - 1) |
84 if self.DownButton is not None: |
|
85 self.DownButton.Enable(self.Editable and 0 <= row < rows - 1) |
85 |
86 |
86 def CloseEditControl(self): |
87 def CloseEditControl(self): |
87 row, col = self.GetGridCursorRow(), self.GetGridCursorCol() |
88 row, col = self.GetGridCursorRow(), self.GetGridCursorCol() |
88 if row != -1 and col != -1: |
89 if row != -1 and col != -1: |
89 self.SetGridCursor(row, col) |
90 self.SetGridCursor(row, col) |