]> git.saurik.com Git - wxWidgets.git/commitdiff
Add test for Validate()
authorRobert Roebling <robert@roebling.de>
Sat, 14 Apr 2007 17:59:56 +0000 (17:59 +0000)
committerRobert Roebling <robert@roebling.de>
Sat, 14 Apr 2007 17:59:56 +0000 (17:59 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45469 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/dataview/dataview.cpp

index 73daada988bc22ab397d26b25f0a5de82280f1f2..c69df0c9ecac2b170934cf0e96649f0287071a8d 100644 (file)
@@ -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 );