+#if wxUSE_TEXTCTRL
+ if (wxDynamicCast(m_validatorWindow, wxTextCtrl))
+ {
+ wxTextCtrl* pControl = (wxTextCtrl*) m_validatorWindow;
+ if (m_pString)
+ {
+ pControl->SetValue(*m_pString) ;
+ return true;
+ }
+ else if (m_pInt)
+ {
+ wxString str;
+ str.Printf(wxT("%d"), *m_pInt);
+ pControl->SetValue(str);
+ return true;
+ }
+ else if (m_pFileName)
+ {
+ pControl->SetValue(m_pFileName->GetFullPath());
+ return true;
+ }
+ else if (m_pFloat)
+ {
+ pControl->SetValue(wxString::Format(wxT("%g"), *m_pFloat));
+ return true;
+ }
+ else if (m_pDouble)
+ {
+ pControl->SetValue(wxString::Format(wxT("%g"), *m_pDouble));
+ return true;
+ }
+ } else
+#endif
+
+ // array controls
+#if wxUSE_CHECKLISTBOX
+ // NOTE: wxCheckListBox is a wxListBox, so wxCheckListBox MUST come first:
+ if (wxDynamicCast(m_validatorWindow, wxCheckListBox))
+ {
+ wxCheckListBox* pControl = (wxCheckListBox*) m_validatorWindow;
+ if (m_pArrayInt)
+ {
+ // clear all selections
+ size_t i,
+ count = pControl->GetCount();
+ for ( i = 0 ; i < count; i++ )
+ pControl->Check(i, false);
+
+ // select each item in our array
+ count = m_pArrayInt->GetCount();
+ for ( i = 0 ; i < count; i++ )
+ pControl->Check(m_pArrayInt->Item(i));
+
+ return true;
+ }
+ else
+ return false;
+ } else