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