\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
-\twocolitem{\windowstyle{wxTE\_PROCESS\_ENTER}}{The callback function will
-receive the message wxEVENT\_TYPE\_TEXT\_ENTER\_COMMAND. Note
-that this will break tab traversal for this panel item under
-Windows.}
+\twocolitem{\windowstyle{wxTE\_PROCESS\_ENTER}}{The control will generate
+the message wxEVENT\_TYPE\_TEXT\_ENTER\_COMMAND (otherwise pressing <Enter> is
+either processed internally by the control or used for navigation between
+dialog controls).}
+\twocolitem{\windowstyle{wxTE\_PROCESS\_TAB}}{The control will receieve
+EVT\_CHAR messages for TAB pressed - normally, TAB is used for passing to the
+next control in a dialog instead. For the control created with this style,
+you can still use Ctrl-Enter to pass to the next control from the keyboard.}
\twocolitem{\windowstyle{wxTE\_MULTILINE}}{The text control allows multiple lines.}
\twocolitem{\windowstyle{wxTE\_PASSWORD}}{The text will be echoed as asterisks.}
\twocolitem{\windowstyle{wxTE\_READONLY}}{The text will not be user-editable.}
-\twocolitem{\windowstyle{wxHSCROLL}}{A horizontal scrollbar will be created.}
+\twocolitem{\windowstyle{wxHSCROLL}}{A horizontal scrollbar will be created. No effect under GTK+.}
\end{twocollist}
-See also \helpref{window styles overview}{windowstyles} and
+See also \helpref{window styles overview}{windowstyles} and
\helpref{wxTextCtrl::wxTextCtrl}{wxtextctrlconstr}.
\wxheading{Remarks}
-This class multiply-inherits from {\bf streambuf} where compilers allow, allowing code such as the following:
+This class multiply-inherits from {\bf streambuf} where compilers allow, allowing code such as
+the following:
{\small%
\begin{verbatim}
\end{verbatim}
}%
-If your compiler does not support derivation from {\bf streambuf} and gives a compile error, define the symbol {\bf NO\_TEXT\_WINDOW\_STREAM} in the
-wxTextCtrl header file.
+If your compiler does not support derivation from {\bf streambuf} and gives a compile error, define the symbol
+{\bf NO\_TEXT\_WINDOW\_STREAM} in the wxTextCtrl header file.
+
+Note that any use of C++ iostreams (including this one) deprecated and might get completely removed
+in the future.
\wxheading{Event handling}
\twocolwidtha{7cm}%
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Respond to a wxEVT\_COMMAND\_TEXT\_UPDATED event,
-generated when the text changes.}
+generated when the text changes. Notice that this event will always be sent
+when the text controls contents changes - whether this is due to user input or
+comes from the program itself (for example, if SetValue() is called)}
\twocolitem{{\bf EVT\_TEXT\_ENTER(id, func)}}{Respond to a wxEVT\_COMMAND\_TEXT\_ENTER event,
generated when enter is pressed in a single-line text control.}
\end{twocollist}%
\pythonnote{The wxPython version of this method returns a tuple
consisting of the from and to values.}
+\perlnote{In wxPerl this method takes no parameter and returns a
+2-element list {\tt ( from, to )}.}
+
\membersection{wxTextCtrl::GetValue}\label{wxtextctrlgetvalue}
\constfunc{wxString}{GetValue}{\void}
-Gets the contents of the control.
+Gets the contents of the control. Notice that for a multiline text control,
+the lines will be separated by (Unix-style) $\backslash$n characters, even under
+Windows where they are separated by a $\backslash$r$\backslash$n sequence in the native control.
\membersection{wxTextCtrl::IsModified}\label{wxtextctrlismodified}
\wxheading{Remarks}
-This is not yet implemented for the GTK.
+This is not implemented on non-Windows platforms.
\wxheading{See also}
\membersection{wxTextCtrl::PositionToXY}\label{wxtextctrlpositiontoxy}
-\constfunc{long}{PositionToXY}{\param{long }{pos}, \param{long *}{x}, \param{long *}{y}}
+\constfunc{bool}{PositionToXY}{\param{long }{pos}, \param{long *}{x}, \param{long *}{y}}
Converts given position to a zero-based column, line number pair.
\wxheading{Return value}
-Non-zero on success, zero on failure (most likely due to a too large position
+TRUE on success, FALSE on failure (most likely due to a too large position
parameter).
\wxheading{See also}
y values, so (x,y) = PositionToXY() is equivalent to the call described
above.}
+\perlnote{In wxPerl this method only takes the {\tt pos} parameter, and
+returns a 2-element list {\tt ( x, y )}.}
+
\membersection{wxTextCtrl::Redo}\label{wxtextctrlredo}
\func{virtual void}{Redo}{\void}
\func{virtual void}{SetEditable}{\param{const bool}{ editable}}
-Makes the text item editable or read-only, overriding the {\bf wxTE\_READONLY}
-flag.
+Makes the text item editable or read-only, overriding the {\bf wxTE\_READONLY} flag.
\wxheading{Parameters}
\func{virtual void}{SetValue}{\param{const wxString\& }{ value}}
-Sets the text value.
+Sets the text value and marks the control as not-modified.
\wxheading{Parameters}