Add test for Validate()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45469 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -141,6 +141,33 @@ public:
|
|||||||
wxArrayDate m_dates;
|
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
|
// MyCustomRenderer
|
||||||
// -------------------------------------
|
// -------------------------------------
|
||||||
@@ -899,7 +926,7 @@ MySortingFrame::MySortingFrame(wxFrame *frame, wxChar *title, int x, int y, int
|
|||||||
dataview_left->AssociateModel( m_unsorted_model.get() );
|
dataview_left->AssociateModel( m_unsorted_model.get() );
|
||||||
|
|
||||||
wxDataViewTextRenderer *text_renderer =
|
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 );
|
wxDataViewColumn *column = new wxDataViewColumn( wxT("editable"), text_renderer, 0 );
|
||||||
dataview_left->AppendColumn( column );
|
dataview_left->AppendColumn( column );
|
||||||
dataview_left->AppendTextColumn( wxT("second"), 1 );
|
dataview_left->AppendTextColumn( wxT("second"), 1 );
|
||||||
|
Reference in New Issue
Block a user