// Author: Michael Bedward (based on code by Julian Smart, Robin Dunn)
// Modified by: Robin Dunn, Vadim Zeitlin, Santiago Palacios
// Created: 1/08/1999
-// RCS-ID: $Id$
// Copyright: (c) Michael Bedward (mbedward@ozemail.com.au)
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// wxGridCellTextEditor
// ----------------------------------------------------------------------------
-wxGridCellTextEditor::wxGridCellTextEditor()
+wxGridCellTextEditor::wxGridCellTextEditor(size_t maxChars)
{
- m_maxChars = 0;
+ m_maxChars = maxChars;
}
void wxGridCellTextEditor::Create(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);
}
}
}
+void wxGridCellTextEditor::SetValidator(const wxValidator& validator)
+{
+ m_validator.reset(static_cast<wxValidator*>(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
{