control. \texttt{wxTextCoord} contains the index of a column or a row in the
control.
-Note that alghough both of these types should probably have been unsigned, due
+Note that although both of these types should probably have been unsigned, due
to backwards compatibility reasons, are defined as \texttt{long} currently.
Their use (instead of plain \texttt{long}) is still encouraged as it makes the
code more readable.
\end{verbatim}
}
-The values below are the possible return codes of the
+The values below are the possible return codes of the
\helpref{HitTest}{wxtextctrlhittest} method:
{\small
\begin{verbatim}
Returns the left indent in tenths of a millimetre.
+\membersection{wxTextAttr::GetLeftSubIndent}\label{wxtextattrgetleftsubindent}
+
+\constfunc{int}{GetLeftSubIndent}{\void}
+
+Returns the left sub indent for all lines but the first line in a paragraph in
+tenths of a millimetre.
+
+
\membersection{wxTextAttr::GetRightIndent}\label{wxtextattrgetrightindent}
\constfunc{int}{GetRightIndent}{\void}
\membersection{wxTextAttr::SetLeftIndent}\label{wxtextattrsetleftindent}
-\func{void}{SetLeftIndent}{\param{int }{indent}}
+\func{void}{SetLeftIndent}{\param{int }{indent}, \param{int }{subIndent = 0}}
Sets the left indent in tenths of a millimetre.
+subIndent sets the indent for all lines but the first line in a paragraph
+relative to the first line.
\membersection{wxTextAttr::SetRightIndent}\label{wxtextattrsetrightindent}
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxTE\_PROCESS\_ENTER}}{The control will generate
-the message wxEVENT\_TYPE\_TEXT\_ENTER\_COMMAND (otherwise pressing Enter key
+the event wxEVT\_COMMAND\_TEXT\_ENTER (otherwise pressing Enter key
is either processed internally by the control or used for navigation between
dialog controls).}
\twocolitem{\windowstyle{wxTE\_PROCESS\_TAB}}{The control will receive
-EVT\_CHAR messages for TAB pressed - normally, TAB is used for passing to the
+wxEVT\_CHAR events 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{wxTE\_RICH}}{Use rich text control under Win32, this
-allows to have more than 64Kb of text in the control even under Win9x. This
+allows to have more than 64KB of text in the control even under Win9x. This
style is ignored under other platforms.}
\twocolitem{\windowstyle{wxTE\_RICH2}}{Use rich text control version 2.0 or 3.0
under Win32, this style is ignored under other platforms}
doesn't show the selection when it doesn't have focus - use this style to force
it to always show it. It doesn't do anything under other platforms.}
\twocolitem{\windowstyle{wxHSCROLL}}{A horizontal scrollbar will be created and
-used, so that text won't be wrapped. No effect under GTK+.}
+used, so that text won't be wrapped. No effect under wxGTK1.}
\twocolitem{\windowstyle{wxTE\_LEFT}}{The text in the control will be left-justified (default).}
-\twocolitem{\windowstyle{wxTE\_CENTRE}}{The text in the control will be centered.}
-\twocolitem{\windowstyle{wxTE\_RIGHT}}{The text in the control will be right-justified.}
+\twocolitem{\windowstyle{wxTE\_CENTRE}}{The text in the control will be centered (currently wxMSW and wxGTK2 only).}
+\twocolitem{\windowstyle{wxTE\_RIGHT}}{The text in the control will be right-justified (currently wxMSW and wxGTK2 only).}
\twocolitem{\windowstyle{wxTE\_DONTWRAP}}{Same as {\tt wxHSCROLL} style.}
\twocolitem{\windowstyle{wxTE\_LINEWRAP}}{Wrap the lines too long to be shown entirely at any position (wxUniv only currently).}
\twocolitem{\windowstyle{wxTE\_WORDWRAP}}{Wrap the lines too long to be shown entirely at word boundaries only (wxUniv only currently).}
\end{twocollist}
See also \helpref{window styles overview}{windowstyles} and
-\helpref{wxTextCtrl::wxTextCtrl}{wxtextctrlconstr}.
+\helpref{wxTextCtrl::wxTextCtrl}{wxtextctrlctor}.
\wxheading{wxTextCtrl text format}
separated by {\tt $\backslash$n} characters, i.e. in the Unix text format even
on non-Unix platforms. This allows the user code to ignore the differences
between the platforms but at a price: the indices in the control such as those
-returned by \helpref{GetInsertionPoint}{wxtextctrlgetinsertionpoint} or
+returned by \helpref{GetInsertionPoint}{wxtextctrlgetinsertionpoint} or
\helpref{GetSelection}{wxtextctrlgetselection} can {\bf not} be used as
indices into the string returned by \helpref{GetValue}{wxtextctrlgetvalue} as
-they're going to be slightly off for platforms using
+they're going to be slightly off for platforms using
{\tt $\backslash$r$\backslash$n} as separator (as Windows does), for example.
Instead, if you need to obtain a substring between the $2$ indices obtained
from the control with the help of the functions mentioned above, you should
use \helpref{GetRange}{wxtextctrlgetrange}. And the indices themselves can
-only be passed to other methods, for example
-\helpref{SetInsertionPoint}{wxtextctrlsetinsertionpoint} or
+only be passed to other methods, for example
+\helpref{SetInsertionPoint}{wxtextctrlsetinsertionpoint} or
\helpref{SetSelection}{wxtextctrlsetselection}.
To summarize: never use the indices returned by (multiline) wxTextCtrl as
\end{verbatim}
}%
-But wxWindows provides a convenient class to make it even simpler so instead
+But wxWidgets provides a convenient class to make it even simpler so instead
you may just do
{\small%
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxTextCtrl::wxTextCtrl}\label{wxtextctrlconstr}
+\membersection{wxTextCtrl::wxTextCtrl}\label{wxtextctrlctor}
\func{}{wxTextCtrl}{\void}
\helpref{wxTextCtrl::Create}{wxtextctrlcreate}, \helpref{wxValidator}{wxvalidator}
-\membersection{wxTextCtrl::\destruct{wxTextCtrl}}
+\membersection{wxTextCtrl::\destruct{wxTextCtrl}}\label{wxtextctrldtor}
\func{}{\destruct{wxTextCtrl}}{\void}
\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = wxTextCtrlNameStr}}
Creates the text control for two-step construction. Derived classes
-should call or replace this function. See \helpref{wxTextCtrl::wxTextCtrl}{wxtextctrlconstr}\rtfsp
+should call or replace this function. See \helpref{wxTextCtrl::wxTextCtrl}{wxtextctrlctor}\rtfsp
for further details.
Copies the selected text to the clipboard and removes the selection.
-\membersection{wxTextCtrl::DiscardEdits}
+\membersection{wxTextCtrl::DiscardEdits}\label{wxtextctrldiscardedits}
\func{void}{DiscardEdits}{\void}
Resets the internal `modified' flag as if the current edits had been saved.
-\membersection{wxTextCtrl::EmulateKeyPress}
+\membersection{wxTextCtrl::EmulateKeyPress}\label{wxtextctrlemulatekeypress}
\func{bool}{EmulateKeyPress}{\param{const wxKeyEvent\& }{event}}
This functions inserts into the control the character which would have been
-inserted if the given key event had occured in the text control. The
+inserted if the given key event had occured in the text control. The
{\it event} object should be the same as the one passed to {\tt EVT\_KEY\_DOWN}
-handler previously by wxWindows.
+handler previously by wxWidgets.
Please note that this function doesn't currently work correctly for all keys
under any platform but MSW.
\membersection{wxTextCtrl::GetLastPosition}\label{wxtextctrlgetlastposition}
-\constfunc{virtual long}{GetLastPosition}{\void}
+\constfunc{virtual wxTextPos}{GetLastPosition}{\void}
Returns the zero based index of the last position in the text control,
which is equal to the number of characters in the control.
wxTextCtrl method.
Please note that the positions in a multiline wxTextCtrl do {\bf not}
-correspond to the indices in the string returned by
+correspond to the indices in the string returned by
\helpref{GetValue}{wxtextctrlgetvalue} because of the different new line
representations ({\tt CR} or {\tt CR LF}) and so this method should be used to
obtain the correct results instead of extracting parts of the entire value. It
This function finds the character at the specified position expressed in
pixels. If the return code is not \texttt{wxTE\_HT\_UNKNOWN} the row and column
-of the character closest to this position are returned in the \arg{col} and
-\arg{row} parameters (unless the pointers are \tt{NULL} which is allowed).
+of the character closest to this position are returned in the \arg{col} and
+\arg{row} parameters (unless the pointers are {\tt NULL} which is allowed).
-Please note that this function is currently only implemented in wxUniv and
-wxMSW ports.
+Please note that this function is currently only implemented in wxUniv,
+wxMSW and wxGTK2 ports.
\wxheading{See also}
-\helpref{PositionToXY}{wxtextctrlpositiontoxy}, \helpref{XYToPosition}{wxtextctrlxytoposition},
+\helpref{PositionToXY}{wxtextctrlpositiontoxy}, \helpref{XYToPosition}{wxtextctrlxytoposition}
+\perlnote{In wxPerl this function takes only the position argument and
+returns a 3-element list \texttt{(result, col, row)}}.
\membersection{wxTextCtrl::IsEditable}\label{wxtextctrliseditable}
Returns {\tt true} if the controls contents may be edited by user (note that it
always can be changed by the program), i.e. if the control hasn't been put in
-read-only mode by a previous call to
+read-only mode by a previous call to
\helpref{SetEditable}{wxtextctrlseteditable}.
\constfunc{bool}{IsModified}{\void}
-Returns {\tt true} if the text has been modified by user. Note that calling
+Returns {\tt true} if the text has been modified by user. Note that calling
\helpref{SetValue}{wxtextctrlsetvalue} doesn't make the control modified.
% VZ: commenting this out as: (a) the docs are wrong (you can't replace
% anything), (b) wxTextCtrl doesn't have any OnChar() anyhow
%% \membersection{wxTextCtrl::OnChar}\label{wxtextctrlonchar}
-%%
+%%
%% \func{void}{OnChar}{\param{wxKeyEvent\& }{event}}
-%%
+%%
%% Default handler for character input.
-%%
+%%
%% \wxheading{Remarks}
-%%
+%%
%% It is possible to intercept character
%% input by overriding this member. Call this function
%% to let the default behaviour take place; not calling
%% it results in the character being ignored. You can
%% replace the {\it keyCode} member of {\it event} to
%% translate keystrokes.
-%%
+%%
%% Note that Windows and Motif have different ways
%% of implementing the default behaviour. In Windows,
%% calling wxTextCtrl::OnChar immediately
%% to let default processing happen. This might affect
%% the way in which you write your OnChar function
%% on different platforms.
-%%
+%%
%% \wxheading{See also}
-%%
+%%
%% \helpref{wxKeyEvent}{wxkeyevent}
(giving it the possibility to show an explanatory message, for example) and the
extra input is discarded.
-Note that this function may only be used with single line text controls.
+Note that under GTK+, this function may only be used with single line text controls.
\wxheading{Compatibility}
-Only implemented in wxMSW/wxGTK starting with wxWindows 2.3.2.
+Only implemented in wxMSW/wxGTK starting with wxWidgets 2.3.2.
\membersection{wxTextCtrl::SetSelection}\label{wxtextctrlsetselection}
\func{bool}{SetStyle}{\param{long }{start}, \param{long }{end}, \param{const wxTextAttr\& }{style}}
Changes the style of the given range. If any attribute within {\it style} is
-not set, the correspondign attribute from \helpref{GetDefaultStyle()}{wxtextctrlgetdefaultstyle} is used.
+not set, the corresponding attribute from \helpref{GetDefaultStyle()}{wxtextctrlgetdefaultstyle} is used.
\wxheading{Parameters}
\func{virtual void}{SetValue}{\param{const wxString\& }{ value}}
-Sets the text value and marks the control as not-modified (which means that
+Sets the text value and marks the control as not-modified (which means that
\helpref{IsModified}{wxtextctrlismodified} would return {\tt false} immediately
after the call to SetValue).