X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/add6e9193dfbeec8ad88d4e341bc46165b97e3dd..12bb29f5432174ecbd65549bda832d70d34a98ae:/src/generic/grideditors.cpp diff --git a/src/generic/grideditors.cpp b/src/generic/grideditors.cpp index 93095852e8..2963e77821 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, @@ -416,6 +416,11 @@ void wxGridCellTextEditor::DoCreate(wxWindow* parent, { Text()->SetMaxLength(m_maxChars); } + // validate text in textctrl, if validator is set + if ( m_validator ) + { + Text()->SetValidator(*m_validator); + } wxGridCellEditor::Create(parent, id, evtHandler); } @@ -634,6 +639,21 @@ void wxGridCellTextEditor::SetParameters(const wxString& params) } } +void wxGridCellTextEditor::SetValidator(const wxValidator& validator) +{ + m_validator.reset(static_cast(validator.Clone())); +} + +wxGridCellEditor *wxGridCellTextEditor::Clone() const +{ + wxGridCellTextEditor* editor = new wxGridCellTextEditor(m_maxChars); + if ( m_validator ) + { + editor->SetValidator(*m_validator); + } + return editor; +} + // return the value in the text control wxString wxGridCellTextEditor::GetValue() const {