From 1d5fda5dc6f875a20210cd6d7f6b5b794519bd52 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 1 Jun 2007 22:05:12 +0000 Subject: [PATCH] extract setting max length in wxGridCellTextEditor::DoCreate() and call it from wxGridCellAutoWrapStringEditor::Create() to ensure that it honours the base editor parameters git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/generic/grid.h | 2 ++ src/generic/grid.cpp | 28 ++++++++++++++++++---------- src/generic/gridctrl.cpp | 8 ++------ 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/include/wx/generic/grid.h b/include/wx/generic/grid.h index bb8a5b3d0f..293b11ff84 100644 --- a/include/wx/generic/grid.h +++ b/include/wx/generic/grid.h @@ -423,6 +423,8 @@ protected: wxTextCtrl *Text() const { return (wxTextCtrl *)m_control; } // parts of our virtual functions reused by the derived classes + void DoCreate(wxWindow* parent, wxWindowID id, wxEvtHandler* evtHandler, + long style = 0); void DoBeginEdit(const wxString& startValue); void DoReset(const wxString& startValue); diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp index d700d5b2a7..945a7914bc 100644 --- a/src/generic/grid.cpp +++ b/src/generic/grid.cpp @@ -642,21 +642,29 @@ void wxGridCellTextEditor::Create(wxWindow* parent, wxWindowID id, wxEvtHandler* evtHandler) { - m_control = new wxTextCtrl(parent, id, wxEmptyString, - wxDefaultPosition, wxDefaultSize + DoCreate(parent, id, evtHandler); +} + +void wxGridCellTextEditor::DoCreate(wxWindow* parent, + wxWindowID id, + wxEvtHandler* evtHandler, + long style) +{ #if defined(__WXMSW__) - , - wxTE_PROCESS_ENTER | - wxTE_PROCESS_TAB | - wxTE_AUTO_SCROLL | - wxNO_BORDER + style |= wxTE_PROCESS_ENTER | + wxTE_PROCESS_TAB | + wxTE_AUTO_SCROLL | + wxNO_BORDER; #endif - ); + + m_control = new wxTextCtrl(parent, id, wxEmptyString, + wxDefaultPosition, wxDefaultSize, + style); // set max length allowed in the textctrl, if the parameter was set - if (m_maxChars != 0) + if ( m_maxChars != 0 ) { - ((wxTextCtrl*)m_control)->SetMaxLength(m_maxChars); + Text()->SetMaxLength(m_maxChars); } wxGridCellEditor::Create(parent, id, evtHandler); diff --git a/src/generic/gridctrl.cpp b/src/generic/gridctrl.cpp index 27c709e3ab..1dd5e68813 100644 --- a/src/generic/gridctrl.cpp +++ b/src/generic/gridctrl.cpp @@ -292,12 +292,8 @@ wxGridCellAutoWrapStringEditor::Create(wxWindow* parent, wxWindowID id, wxEvtHandler* evtHandler) { - m_control = new wxTextCtrl(parent, id, wxEmptyString, - wxDefaultPosition, wxDefaultSize, - wxTE_MULTILINE | wxTE_RICH); - - - wxGridCellEditor::Create(parent, id, evtHandler); + wxGridCellTextEditor::DoCreate(parent, id, evtHandler, + wxTE_MULTILINE | wxTE_RICH); } void -- 2.45.2