From 4322906f97b2f6994b33182cb6a889fd899f3012 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 1 May 2013 20:53:26 +0000 Subject: [PATCH] Copy max width of wxGridCellTextEditor when cloning it. Previously the max number of characters that could be entered into the editor was lost when it was cloned, making it impossible to really limit the user entry. Closes #15175. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 1 + include/wx/generic/grideditors.h | 4 ++-- interface/wx/grid.h | 8 ++++++-- src/generic/grideditors.cpp | 4 ++-- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index f070c13..193a1fb 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -639,6 +639,7 @@ All (GUI): - Add wxEVT_GRID_COL_AUTO_SIZE event (Igor Korot). - Add chainable wxWizardPageSimple::Chain() overload. - Add wxTextEntryDialog::SetMaxLength() (derEine). +- Fix maximum width support in wxGridCellTextEditor (derEine). - Add more convenient wxFont(wxFontInfo) ctor. wxGTK: diff --git a/include/wx/generic/grideditors.h b/include/wx/generic/grideditors.h index aa0fd7a..7fc563b 100644 --- a/include/wx/generic/grideditors.h +++ b/include/wx/generic/grideditors.h @@ -52,7 +52,7 @@ private: class WXDLLIMPEXP_ADV wxGridCellTextEditor : public wxGridCellEditor { public: - wxGridCellTextEditor(); + wxEXPLICIT wxGridCellTextEditor(size_t maxChars = 0); virtual void Create(wxWindow* parent, wxWindowID id, @@ -77,7 +77,7 @@ public: virtual void SetParameters(const wxString& params); virtual wxGridCellEditor *Clone() const - { return new wxGridCellTextEditor; } + { return new wxGridCellTextEditor(m_maxChars); } // added GetValue so we can get the value which is in the control virtual wxString GetValue() const; diff --git a/interface/wx/grid.h b/interface/wx/grid.h index 8f4c93c..e55affd 100644 --- a/interface/wx/grid.h +++ b/interface/wx/grid.h @@ -625,9 +625,13 @@ class wxGridCellTextEditor : public wxGridCellEditor { public: /** - Default constructor. + Text cell editor constructor. + + @param maxChars + Maximum width of text (this parameter is supported starting since + wxWidgets 2.9.5). */ - wxGridCellTextEditor(); + explicit wxGridCellTextEditor(size_t maxChars = 0); /** The parameters string format is "n" where n is a number representing diff --git a/src/generic/grideditors.cpp b/src/generic/grideditors.cpp index 9309585..aee78e2 100644 --- a/src/generic/grideditors.cpp +++ b/src/generic/grideditors.cpp @@ -382,9 +382,9 @@ void wxGridCellEditor::StartingClick() // wxGridCellTextEditor // ---------------------------------------------------------------------------- -wxGridCellTextEditor::wxGridCellTextEditor() +wxGridCellTextEditor::wxGridCellTextEditor(size_t maxChars) { - m_maxChars = 0; + m_maxChars = maxChars; } void wxGridCellTextEditor::Create(wxWindow* parent, -- 2.7.4