/////////////////////////////////////////////////////////////////////////////
// Name: validate.h
-// Purpose: wxWindows validation sample
+// Purpose: wxWidgets validation sample
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
-// Copyright: (c) Julian Smart and Markus Holzem
+// Copyright: (c) Julian Smart
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
-// #pragma interface
-#endif
+#include "wx/app.h"
+#include "wx/combobox.h"
+#include "wx/dialog.h"
+#include "wx/dynarray.h"
+#include "wx/frame.h"
+#include "wx/listbox.h"
+#include "wx/string.h"
// Define a new application type
class MyApp : public wxApp
class MyFrame : public wxFrame
{
public:
- MyFrame(wxFrame *frame, const char *title, int x, int y, int w, int h);
+ MyFrame(wxFrame *frame, const wxString&title, int x, int y, int w, int h);
void OnQuit(wxCommandEvent& event);
void OnTestDialog(wxCommandEvent& event);
- void OnSilent(wxCommandEvent& event);
+ void OnToggleBell(wxCommandEvent& event);
+
+private:
+ wxListBox *m_listbox;
+ bool m_silent;
DECLARE_EVENT_TABLE()
};
class MyDialog : public wxDialog
{
public:
- MyDialog(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size,
+ MyDialog(wxWindow *parent, const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
const long style = wxDEFAULT_DIALOG_STYLE);
+ bool TransferDataToWindow();
+ wxTextCtrl *text;
+ wxComboBox *combobox;
};
class MyData
{
public:
+ MyData();
+ // These data members are designed for transfer to and from
+ // controls, via validators. For instance, a text control's
+ // transferred value is a string:
wxString m_string;
-
- MyData() { m_string = "My string"; }
+ // Listboxes may permit multiple selections, so their state
+ // is transferred to an integer-array class.
+ wxArrayInt m_listbox_choices;
+ bool m_checkbox_state;
+ // Comboboxes differ from listboxes--validators transfer
+ // the string entered in the combobox's text-edit field.
+ wxString m_combobox_choice;
+ int m_radiobox_choice;
};
-#define VALIDATE_DIALOG_ID 200
+enum {
+ VALIDATE_DIALOG_ID = wxID_HIGHEST,
-#define VALIDATE_TEST_DIALOG 2
-#define VALIDATE_SILENT 3
-#define VALIDATE_TEXT 101
+ VALIDATE_TEST_DIALOG,
+ VALIDATE_TOGGLE_BELL,
+ VALIDATE_TEXT,
+ VALIDATE_LIST,
+ VALIDATE_CHECK,
+ VALIDATE_COMBO,
+ VALIDATE_RADIO
+};