X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d56cebe7a497773d8753ea2ab874c4445bac18dc..a92b0cfd2bd0bef75b43c071df0b0e028f360d8e:/wxPython/demo/GridSimple.py diff --git a/wxPython/demo/GridSimple.py b/wxPython/demo/GridSimple.py index 7a135bd9e3..782f0d8944 100644 --- a/wxPython/demo/GridSimple.py +++ b/wxPython/demo/GridSimple.py @@ -4,16 +4,17 @@ from wxPython.lib.mixins.grid import wxGridAutoEditMixin #--------------------------------------------------------------------------- -class SimpleGrid(wxGrid, wxGridAutoEditMixin): +class SimpleGrid(wxGrid): ##, wxGridAutoEditMixin): def __init__(self, parent, log): wxGrid.__init__(self, parent, -1) - wxGridAutoEditMixin.__init__(self) + ##wxGridAutoEditMixin.__init__(self) self.log = log self.moveTo = None EVT_IDLE(self, self.OnIdle) self.CreateGrid(25, 25) + ##self.EnableEditing(false) # simple cell formatting self.SetColSize(3, 200) @@ -32,6 +33,9 @@ class SimpleGrid(wxGrid, wxGridAutoEditMixin): self.SetCellEditor(6, 0, wxGridCellFloatEditor()) self.SetCellValue(6, 0, "123.34") + self.SetCellValue(6, 3, "You can veto editing this cell") + + # attribute objects let you keep a set of formatting values # in one spot, and reuse them if needed attr = wxGridCellAttr() @@ -71,6 +75,7 @@ class SimpleGrid(wxGrid, wxGridAutoEditMixin): EVT_GRID_EDITOR_CREATED(self, self.OnEditorCreated) + def OnCellLeftClick(self, evt): self.log.write("OnCellLeftClick: (%d,%d) %s\n" % (evt.GetRow(), evt.GetCol(), evt.GetPosition())) @@ -166,15 +171,29 @@ class SimpleGrid(wxGrid, wxGridAutoEditMixin): def OnEditorShown(self, evt): + if evt.GetRow() == 6 and evt.GetCol() == 3 and \ + wxMessageBox("Are you sure you wish to edit this cell?", + "Checking", wxYES_NO) == wxNO: + evt.Veto() + return + self.log.write("OnEditorShown: (%d,%d) %s\n" % (evt.GetRow(), evt.GetCol(), evt.GetPosition())) evt.Skip() + def OnEditorHidden(self, evt): + if evt.GetRow() == 6 and evt.GetCol() == 3 and \ + wxMessageBox("Are you sure you wish to finish editing this cell?", + "Checking", wxYES_NO) == wxNO: + evt.Veto() + return + self.log.write("OnEditorHidden: (%d,%d) %s\n" % (evt.GetRow(), evt.GetCol(), evt.GetPosition())) evt.Skip() + def OnEditorCreated(self, evt): self.log.write("OnEditorCreated: (%d, %d) %s\n" % (evt.GetRow(), evt.GetCol(), evt.GetControl()))