]> git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/textctrl.h
fixed typo in wxString::swap() which was completely broken
[wxWidgets.git] / include / wx / os2 / textctrl.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: textctrl.h
3 // Purpose: wxTextCtrl class
4 // Author: David Webster
5 // Modified by:
6 // Created: 10/17/99
7 // RCS-ID: $Id$
8 // Copyright: (c) David Webster
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_TEXTCTRL_H_
13 #define _WX_TEXTCTRL_H_
14
15 class WXDLLEXPORT wxTextCtrl : public wxTextCtrlBase
16 {
17 public:
18 wxTextCtrl();
19 wxTextCtrl( wxWindow* pParent
20 ,wxWindowID vId
21 ,const wxString& rsValue = wxEmptyString
22 ,const wxPoint& rPos = wxDefaultPosition
23 ,const wxSize& rSize = wxDefaultSize
24 ,long lStyle = 0
25 #if wxUSE_VALIDATORS
26 ,const wxValidator& rValidator = wxDefaultValidator
27 #endif
28 ,const wxString& rsName = wxTextCtrlNameStr
29 )
30 {
31 Create(pParent, vId, rsValue, rPos, rSize, lStyle, rValidator, rsName);
32 }
33
34 bool Create( wxWindow* pParent
35 ,wxWindowID vId
36 ,const wxString& rsValue = wxEmptyString
37 ,const wxPoint& rPos = wxDefaultPosition
38 ,const wxSize& rSize = wxDefaultSize
39 ,long lStyle = 0
40 #if wxUSE_VALIDATORS
41 ,const wxValidator& rValidator = wxDefaultValidator
42 #endif
43 ,const wxString& rsName = wxTextCtrlNameStr
44 );
45
46 //
47 // Implement base class pure virtuals
48 // ----------------------------------
49 //
50 virtual wxString GetValue(void) const;
51 virtual void SetValue(const wxString& rsValue);
52
53 virtual int GetLineLength(long nLineNo) const;
54 virtual wxString GetLineText(long nLineNo) const;
55 virtual int GetNumberOfLines(void) const;
56
57 virtual bool IsModified(void) const;
58 virtual bool IsEditable(void) const;
59
60 virtual void GetSelection( long* pFrom
61 ,long* pTo
62 ) const;
63 //
64 // Operations
65 // ----------
66 //
67 virtual void Clear(void);
68 virtual void Replace( long lFrom
69 ,long lTo
70 ,const wxString& rsValue
71 );
72 virtual void Remove( long lFrom
73 ,long lTo
74 );
75
76 virtual bool LoadFile(const wxString& rsFile);
77
78 virtual void DiscardEdits(void);
79
80 virtual void WriteText(const wxString& rsText);
81 virtual void AppendText(const wxString& rsText);
82 virtual bool EmulateKeyPress(const wxKeyEvent& rEvent);
83
84 virtual bool SetStyle( long lStart
85 ,long lEnd
86 ,const wxTextAttr& rStyle
87 );
88 virtual long XYToPosition( long lX
89 ,long lY
90 ) const;
91 virtual bool PositionToXY( long lPos
92 ,long* plX
93 ,long* plY
94 ) const;
95
96 virtual void ShowPosition(long lPos);
97
98 virtual void Copy(void);
99 virtual void Cut(void);
100 virtual void Paste(void);
101
102 virtual bool CanCopy(void) const;
103 virtual bool CanCut(void) const;
104 virtual bool CanPaste(void) const;
105
106 virtual void Undo(void);
107 virtual void Redo(void);
108
109 virtual bool CanUndo(void) const;
110 virtual bool CanRedo(void) const;
111
112 virtual void SetInsertionPoint(long lPos);
113 virtual void SetInsertionPointEnd(void);
114 virtual long GetInsertionPoint(void) const;
115 virtual long GetLastPosition(void) const;
116
117 virtual void SetSelection( long lFrom
118 ,long lTo
119 );
120 virtual void SetEditable(bool bEditable);
121 virtual void SetFocus(void);
122 virtual void SetWindowStyleFlag(long lStyle);
123
124 //
125 // Implementation from now on
126 // --------------------------
127 //
128 virtual void Command(wxCommandEvent& rEvent);
129 virtual bool OS2Command( WXUINT uParam
130 ,WXWORD wId
131 );
132
133 virtual WXHBRUSH OnCtlColor( WXHDC hDC
134 ,WXHWND pWnd
135 ,WXUINT nCtlColor
136 ,WXUINT message
137 ,WXWPARAM wParam
138 ,WXLPARAM lParam
139 );
140
141 virtual bool SetBackgroundColour(const wxColour& colour);
142 virtual bool SetForegroundColour(const wxColour& colour);
143
144 virtual void AdoptAttributesFromHWND(void);
145 virtual void SetupColours(void);
146
147 virtual bool AcceptsFocus(void) const;
148
149 // callbacks
150 void OnDropFiles(wxDropFilesEvent& rEvent);
151 void OnChar(wxKeyEvent& rEvent); // Process 'enter' if required
152
153 void OnCut(wxCommandEvent& rEvent);
154 void OnCopy(wxCommandEvent& rEvent);
155 void OnPaste(wxCommandEvent& rEvent);
156 void OnUndo(wxCommandEvent& rEvent);
157 void OnRedo(wxCommandEvent& rEvent);
158
159 void OnUpdateCut(wxUpdateUIEvent& rEvent);
160 void OnUpdateCopy(wxUpdateUIEvent& rEvent);
161 void OnUpdatePaste(wxUpdateUIEvent& rEvent);
162 void OnUpdateUndo(wxUpdateUIEvent& rEvent);
163 void OnUpdateRedo(wxUpdateUIEvent& rEvent);
164
165 inline bool IsMLE(void) {return m_bIsMLE;}
166 inline void SetMLE(bool bIsMLE) {m_bIsMLE = bIsMLE;}
167
168 protected:
169 //
170 // call this to increase the size limit (will do nothing if the current
171 // limit is big enough)
172 //
173 void AdjustSpaceLimit(void);
174 virtual wxSize DoGetBestSize(void) const;
175 virtual bool OS2ShouldPreProcessMessage(WXMSG* pMsg);
176
177 virtual WXDWORD OS2GetStyle( long lStyle
178 ,WXDWORD* dwExstyle
179 ) const;
180 private:
181 bool m_bIsMLE;
182 DECLARE_EVENT_TABLE()
183 DECLARE_DYNAMIC_CLASS(wxTextCtrl)
184 }; // end of CLASS wxTextCtrl
185
186 #endif
187 // _WX_TEXTCTRL_H_