From e195a54c313772c474170818f74fe50c322e568c Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 17 Feb 2000 20:03:01 +0000 Subject: [PATCH 1/1] added wxGridCellEditor::StartingClick(), used by BoolEditor git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/generic/grid.h | 6 +++++- src/generic/grid.cpp | 17 +++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/include/wx/generic/grid.h b/include/wx/generic/grid.h index 45c4400ae3..9932513d4d 100644 --- a/include/wx/generic/grid.h +++ b/include/wx/generic/grid.h @@ -167,6 +167,10 @@ public: // that first key if desired. virtual void StartingKey(wxKeyEvent& event); + // if the editor is enabled by clicking on the cell, this method will be + // called + virtual void StartingClick(); + // Some types of controls on some platforms may need some help // with the Return key. virtual void HandleReturn(wxKeyEvent& event); @@ -227,7 +231,7 @@ public: virtual bool EndEdit(int row, int col, bool saveValue, wxGrid* grid); virtual void Reset(); - virtual void StartingKey(wxKeyEvent& event); + virtual void StartingClick(); protected: wxCheckBox *CBox() const { return (wxCheckBox *)m_control; } diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp index f4aefc8ac3..e99d25cea7 100644 --- a/src/generic/grid.cpp +++ b/src/generic/grid.cpp @@ -392,11 +392,11 @@ void wxGridCellEditor::HandleReturn(wxKeyEvent& event) void wxGridCellEditor::StartingKey(wxKeyEvent& event) { - wxASSERT_MSG(m_control, - wxT("The wxGridCellEditor must be Created first!")); + event.Skip(); +} - // pass the event to the control - m_control->GetEventHandler()->ProcessEvent(event); +void wxGridCellEditor::StartingClick() +{ } // ---------------------------------------------------------------------------- @@ -590,9 +590,9 @@ void wxGridCellBoolEditor::Reset() CBox()->SetValue(m_startValue); } -void wxGridCellBoolEditor::StartingKey(wxKeyEvent& event) +void wxGridCellBoolEditor::StartingClick() { - event.Skip(); + CBox()->SetValue(!CBox()->GetValue()); } // ---------------------------------------------------------------------------- @@ -3179,6 +3179,11 @@ void wxGrid::ProcessGridCellMouseEvent( wxMouseEvent& event ) CanEnableCellControl()) { EnableCellEditControl(); + + wxGridCellAttr* attr = GetCellAttr(m_currentCellCoords); + attr->GetEditor()->StartingClick(); + attr->DecRef(); + m_waitForSlowClick = FALSE; } else -- 2.45.2