From: Robert Roebling Date: Sat, 14 Apr 2007 17:59:56 +0000 (+0000) Subject: Add test for Validate() X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/47c94466146df9d988acf21248c38544d8abf6d6?ds=inline Add test for Validate() git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45469 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/samples/dataview/dataview.cpp b/samples/dataview/dataview.cpp index 73daada988..c69df0c9ec 100644 --- a/samples/dataview/dataview.cpp +++ b/samples/dataview/dataview.cpp @@ -141,6 +141,33 @@ public: wxArrayDate m_dates; }; +// ------------------------------------- +// MyTextRenderer +// ------------------------------------- + +class MyTextRenderer: public wxDataViewTextRenderer +{ +public: + MyTextRenderer( const wxString varianttype = wxT("string"), + wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT ) + : wxDataViewTextRenderer( varianttype, mode ) { } + + virtual bool Validate( wxVariant &value ) + { + wxString str = value; + if (str.Length() > 10) + { + wxMessageDialog dlg( NULL, wxT("string too long") , wxT("Error") ); + dlg.ShowModal(); + // Activate(); + return false; + } + + return true; + } +}; + + // ------------------------------------- // MyCustomRenderer // ------------------------------------- @@ -899,7 +926,7 @@ MySortingFrame::MySortingFrame(wxFrame *frame, wxChar *title, int x, int y, int dataview_left->AssociateModel( m_unsorted_model.get() ); wxDataViewTextRenderer *text_renderer = - new wxDataViewTextRenderer( wxT("string"), wxDATAVIEW_CELL_EDITABLE ); + new MyTextRenderer( wxT("string"), wxDATAVIEW_CELL_EDITABLE ); wxDataViewColumn *column = new wxDataViewColumn( wxT("editable"), text_renderer, 0 ); dataview_left->AppendColumn( column ); dataview_left->AppendTextColumn( wxT("second"), 1 );