]> git.saurik.com Git - wxWidgets.git/blame - include/wx/valtext.h
Added interface for getting/setting text converter of wxDataInputStream and wxDataOut...
[wxWidgets.git] / include / wx / valtext.h
CommitLineData
c801d85f
KB
1/////////////////////////////////////////////////////////////////////////////
2// Name: valtext.h
3// Purpose: wxTextValidator class
4// Author: Julian Smart
5// Modified by:
6// Created: 29/01/98
7// RCS-ID: $Id$
8// Copyright: (c) 1998 Julian Smart
cab1a605 9// Licence: wxWindows licence
c801d85f
KB
10/////////////////////////////////////////////////////////////////////////////
11
92646f5a
PC
12#ifndef _WX_VALTEXT_H_
13#define _WX_VALTEXT_H_
c801d85f 14
ce4169a4
RR
15#include "wx/defs.h"
16
472eec8a 17#if wxUSE_VALIDATORS && (wxUSE_TEXTCTRL || wxUSE_COMBOBOX)
88ac883a 18
92646f5a
PC
19class WXDLLIMPEXP_FWD_CORE wxTextEntry;
20
c801d85f
KB
21#include "wx/validate.h"
22
40ae9600
FM
23enum wxTextValidatorStyle
24{
25 wxFILTER_NONE,
26 wxFILTER_ASCII,
27 wxFILTER_ALPHA,
28 wxFILTER_ALPHANUMERIC,
29 wxFILTER_NUMERIC,
30 wxFILTER_INCLUDE_LIST,
31 wxFILTER_EXCLUDE_LIST,
32 wxFILTER_INCLUDE_CHAR_LIST,
33 wxFILTER_EXCLUDE_CHAR_LIST
34};
c801d85f 35
53a2db12 36class WXDLLIMPEXP_CORE wxTextValidator: public wxValidator
c801d85f 37{
c801d85f 38public:
40ae9600
FM
39 wxTextValidator(wxTextValidatorStyle style = wxFILTER_NONE, wxString *val = NULL);
40#if WXWIN_COMPATIBILITY_2_8
41 wxDEPRECATED_CONSTRUCTOR( wxTextValidator(long style, wxString *val) );
42#endif
33c5b54b 43 wxTextValidator(const wxTextValidator& val);
c801d85f 44
d3c7fc99 45 virtual ~wxTextValidator(){}
c801d85f 46
33c5b54b
RL
47 // Make a clone of this validator (or return NULL) - currently necessary
48 // if you're passing a reference to a validator.
49 // Another possibility is to always pass a pointer to a new validator
50 // (so the calling code can use a copy constructor of the relevant class).
51 virtual wxObject *Clone() const { return new wxTextValidator(*this); }
52 bool Copy(const wxTextValidator& val);
c801d85f 53
33c5b54b
RL
54 // Called when the value in the window must be validated.
55 // This function can pop up an error message.
56 virtual bool Validate(wxWindow *parent);
c801d85f 57
33c5b54b
RL
58 // Called to transfer data to the window
59 virtual bool TransferToWindow();
c801d85f 60
4deaa8db 61 // Called to transfer data from the window
33c5b54b 62 virtual bool TransferFromWindow();
c801d85f 63
33c5b54b 64 // ACCESSORS
40ae9600
FM
65 inline wxTextValidatorStyle GetStyle() const { return m_validatorStyle; }
66 inline void SetStyle(wxTextValidatorStyle style) { m_validatorStyle = style; }
67#if WXWIN_COMPATIBILITY_2_8
68 wxDEPRECATED( void SetStyle(long style) );
69#endif
c801d85f 70
472eec8a 71 wxTextEntry *GetTextEntry();
f94a790d
RN
72
73 void SetIncludes(const wxArrayString& includes) { m_includes = includes; }
74 inline wxArrayString& GetIncludes() { return m_includes; }
75
76 void SetExcludes(const wxArrayString& excludes) { m_excludes = excludes; }
77 inline wxArrayString& GetExcludes() { return m_excludes; }
78
79 bool IsInCharIncludes(const wxString& val);
80 bool IsNotInCharExcludes(const wxString& val);
33c5b54b
RL
81
82 // Filter keystrokes
83 void OnChar(wxKeyEvent& event);
c801d85f 84
c801d85f 85protected:
40ae9600
FM
86 wxTextValidatorStyle m_validatorStyle;
87 wxString * m_stringValue;
88 wxArrayString m_includes;
89 wxArrayString m_excludes;
33c5b54b 90
22f3361e
VZ
91private:
92// Cannot use
93// DECLARE_NO_COPY_CLASS(wxTextValidator)
94// because copy constructor is explicitly declared above;
95// but no copy assignment operator is defined, so declare
96// it private to prevent the compiler from defining it:
97 wxTextValidator& operator=(const wxTextValidator&);
755369be
FM
98
99 DECLARE_DYNAMIC_CLASS(wxTextValidator)
100 DECLARE_EVENT_TABLE()
c801d85f
KB
101};
102
103#endif
472eec8a 104 // wxUSE_VALIDATORS && (wxUSE_TEXTCTRL || wxUSE_COMBOBOX)
ce4169a4 105
92646f5a 106#endif // _WX_VALTEXT_H_