X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e306597309a120f2ae91385c731a5cb2722c52aa..14619f10b0bdb630206607abd0ce0319d45e095a:/samples/validate/validate.h?ds=inline diff --git a/samples/validate/validate.h b/samples/validate/validate.h index 5b761fd321..beb50de15d 100644 --- a/samples/validate/validate.h +++ b/samples/validate/validate.h @@ -1,54 +1,118 @@ ///////////////////////////////////////////////////////////////////////////// // 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 -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#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 -{ public: - bool OnInit(void); +class MyApp : public wxApp +{ +public: + bool OnInit(); }; // Define a new frame type -class MyFrame: public wxFrame -{ public: - MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h); - - public: +class MyFrame : public wxFrame +{ +public: + MyFrame(wxFrame *frame, const wxString&title, int x, int y, int w, int h); + void OnQuit(wxCommandEvent& event); void OnTestDialog(wxCommandEvent& event); + void OnToggleBell(wxCommandEvent& event); + +private: + wxListBox *m_listbox; + bool m_silent; - DECLARE_EVENT_TABLE() - + DECLARE_EVENT_TABLE() }; -class MyDialog: public wxDialog +class MyDialog : public wxDialog { public: - MyDialog(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size, - const long style = wxDEFAULT_DIALOG_STYLE); + MyDialog(wxWindow *parent, const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + const long style = wxDEFAULT_DIALOG_STYLE); + + bool TransferDataToWindow(); + wxTextCtrl *m_text; + wxComboBox *m_combobox; + + wxTextCtrl *m_numericTextInt; + wxTextCtrl *m_numericTextDouble; }; class MyData { - public: - wxString m_string; +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, m_string2; + + // Listboxes may permit multiple selections, so their state + // is transferred to an integer-array class. + wxArrayInt m_listbox_choices; + + // Comboboxes differ from listboxes--validators transfer + // the string entered in the combobox's text-edit field. + wxString m_combobox_choice; - MyData() { m_string = "My string"; } + // variables handled by wxNumericTextValidator + int m_intValue; + double m_doubleValue; + + bool m_checkbox_state; + int m_radiobox_choice; }; -#define VALIDATE_DIALOG_ID 200 +class MyComboBoxValidator : public wxValidator +{ +public: + MyComboBoxValidator(const MyComboBoxValidator& tocopy) { m_var=tocopy.m_var; } + MyComboBoxValidator(wxString* var) { m_var=var; } + + virtual bool Validate(wxWindow* parent); + virtual wxObject* Clone() const { return new MyComboBoxValidator(*this); } + + // Called to transfer data to the window + virtual bool TransferToWindow(); -#define VALIDATE_TEST_DIALOG 2 -#define VALIDATE_TEXT 101 + // Called to transfer data from the window + virtual bool TransferFromWindow(); +protected: + wxString* m_var; +}; + +enum +{ + VALIDATE_DIALOG_ID = wxID_HIGHEST, + + VALIDATE_TEST_DIALOG, + VALIDATE_TOGGLE_BELL, + + VALIDATE_TEXT, + VALIDATE_TEXT2, + VALIDATE_LIST, + VALIDATE_CHECK, + VALIDATE_COMBO, + VALIDATE_RADIO +};