1///////////////////////////////////////////////////////////////////////////// 2// Name: validate.h 3// Purpose: wxWidgets validation sample 4// Author: Julian Smart 5// Modified by: 6// Created: 04/01/98 7// RCS-ID: $Id: validate.h 40198 2006-07-20 11:57:15Z ABX $ 8// Copyright: (c) Julian Smart 9// Licence: wxWindows license 10///////////////////////////////////////////////////////////////////////////// 11 12#include "wx/app.h" 13#include "wx/combobox.h" 14#include "wx/dialog.h" 15#include "wx/dynarray.h" 16#include "wx/frame.h" 17#include "wx/listbox.h" 18#include "wx/string.h" 19 20// Define a new application type 21class MyApp : public wxApp 22{ 23public: 24 bool OnInit(); 25}; 26 27// Define a new frame type 28class MyFrame : public wxFrame 29{ 30public: 31 MyFrame(wxFrame *frame, const wxString&title, int x, int y, int w, int h); 32 33 void OnQuit(wxCommandEvent& event); 34 void OnTestDialog(wxCommandEvent& event); 35 void OnToggleBell(wxCommandEvent& event); 36 37private: 38 wxListBox *m_listbox; 39 bool m_silent; 40 41 DECLARE_EVENT_TABLE() 42}; 43 44class MyDialog : public wxDialog 45{ 46public: 47 MyDialog(wxWindow *parent, const wxString& title, 48 const wxPoint& pos = wxDefaultPosition, 49 const wxSize& size = wxDefaultSize, 50 const long style = wxDEFAULT_DIALOG_STYLE); 51 bool TransferDataToWindow(); 52 wxTextCtrl *text; 53 wxComboBox *combobox; 54}; 55 56class MyData 57{ 58public: 59 MyData(); 60 // These data members are designed for transfer to and from 61 // controls, via validators. For instance, a text control's 62 // transferred value is a string: 63 wxString m_string; 64 // Listboxes may permit multiple selections, so their state 65 // is transferred to an integer-array class. 66 wxArrayInt m_listbox_choices; 67 bool m_checkbox_state; 68 // Comboboxes differ from listboxes--validators transfer 69 // the string entered in the combobox's text-edit field. 70 wxString m_combobox_choice; 71 int m_radiobox_choice; 72}; 73 74enum { 75 VALIDATE_DIALOG_ID = wxID_HIGHEST, 76 77 VALIDATE_TEST_DIALOG, 78 VALIDATE_TOGGLE_BELL, 79 80 VALIDATE_TEXT, 81 VALIDATE_LIST, 82 VALIDATE_CHECK, 83 VALIDATE_COMBO, 84 VALIDATE_RADIO 85}; 86