X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/94af7d45eff65baa84c142b8238267217ba4617d..a5ae8241de5d07fc10d8fa6ba9c0faa1457521b8:/docs/latex/wx/text.tex?ds=inline diff --git a/docs/latex/wx/text.tex b/docs/latex/wx/text.tex index b91a240ec3..2229d11ec5 100644 --- a/docs/latex/wx/text.tex +++ b/docs/latex/wx/text.tex @@ -48,25 +48,25 @@ Return the text colour specified by this attribute. \constfunc{bool}{HasBackgroundColour}{\void} -Returns {\tt TRUE} if this style specifies the background colour to use. +Returns {\tt true} if this style specifies the background colour to use. \membersection{wxTextAttr::HasFont} \constfunc{bool}{HasFont}{\void} -Returns {\tt TRUE} if this style specifies the font to use. +Returns {\tt true} if this style specifies the font to use. \membersection{wxTextAttr::HasTextColour} \constfunc{bool}{HasTextColour}{\void} -Returns {\tt TRUE} if this style specifies the foreground colour to use. +Returns {\tt true} if this style specifies the foreground colour to use. \membersection{wxTextAttr::IsDefault} \constfunc{bool}{IsDefault}{\void} -Returns {\tt TRUE} if this style specifies any non-default attributes. +Returns {\tt true} if this style specifies any non-default attributes. %%%%%%%%%%%%%%%%%%%%%%%%%%%% wxTextCtrl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -92,10 +92,10 @@ streambuf\\ \twocolwidtha{5cm} \begin{twocollist}\itemsep=0pt \twocolitem{\windowstyle{wxTE\_PROCESS\_ENTER}}{The control will generate -the message wxEVENT\_TYPE\_TEXT\_ENTER\_COMMAND (otherwise pressing is -either processed internally by the control or used for navigation between +the message wxEVENT\_TYPE\_TEXT\_ENTER\_COMMAND (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 receieve +\twocolitem{\windowstyle{wxTE\_PROCESS\_TAB}}{The control will receive 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.} @@ -114,14 +114,40 @@ under Win32 only and requires wxTE\_RICH.} 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. No effect under GTK+.} +\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\_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)} +\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}. +\wxheading{wxTextCtrl text format} + +The multiline text controls always store the text as a sequence of lines +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 +\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 +{\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 +\helpref{SetSelection}{wxtextctrlsetselection}. + +To summarize: never use the indices returned by (multiline) wxTextCtrl as +indices into the string it contains, but only as arguments to be passed back +to the other wxTextCtrl methods. + \wxheading{wxTextCtrl styles} Multi-line text controls support the styles, i.e. provide a possibility to set @@ -243,7 +269,8 @@ 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.} +generated when enter is pressed in a text control (which must have +wxTE\_PROCESS\_ENTER style for this event to be generated).} \twocolitem{{\bf EVT\_TEXT\_URL(id, func)}}{A mouse event occured over an URL in the text control (Win32 only)} \twocolitem{{\bf EVT\_TEXT\_MAXLEN(id, func)}}{User tried to enter more text @@ -331,34 +358,34 @@ the programmer should use \helpref{GetInsertionPoint}{wxtextctrlgetinsertionpoin \func{virtual bool}{CanCopy}{\void} -Returns {\tt TRUE} if the selection can be copied to the clipboard. +Returns {\tt true} if the selection can be copied to the clipboard. \membersection{wxTextCtrl::CanCut}\label{wxtextctrlcancut} \func{virtual bool}{CanCut}{\void} -Returns {\tt TRUE} if the selection can be cut to the clipboard. +Returns {\tt true} if the selection can be cut to the clipboard. \membersection{wxTextCtrl::CanPaste}\label{wxtextctrlcanpaste} \func{virtual bool}{CanPaste}{\void} -Returns {\tt TRUE} if the contents of the clipboard can be pasted into the +Returns {\tt true} if the contents of the clipboard can be pasted into the text control. On some platforms (Motif, GTK) this is an approximation -and returns {\tt TRUE} if the control is editable, {\tt FALSE} otherwise. +and returns {\tt true} if the control is editable, {\tt false} otherwise. \membersection{wxTextCtrl::CanRedo}\label{wxtextctrlcanredo} \func{virtual bool}{CanRedo}{\void} -Returns {\tt TRUE} if there is a redo facility available and the last operation +Returns {\tt true} if there is a redo facility available and the last operation can be redone. \membersection{wxTextCtrl::CanUndo}\label{wxtextctrlcanundo} \func{virtual bool}{CanUndo}{\void} -Returns {\tt TRUE} if there is an undo facility available and the last operation +Returns {\tt true} if there is an undo facility available and the last operation can be undone. \membersection{wxTextCtrl::Clear}\label{wxtextctrlclear} @@ -367,6 +394,9 @@ can be undone. Clears the text in the control. +Note that this function will generate a {\tt wxEVT\_COMMAND\_TEXT\_UPDATED} +event. + \membersection{wxTextCtrl::Copy}\label{wxtextctrlcopy} \func{virtual void}{Copy}{\void} @@ -404,9 +434,12 @@ 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. +Please note that this function doesn't currently work correctly for all keys +under any platform but MSW. + \wxheading{Return value} -{\tt TRUE} if the event resulted in a change to the control, {\tt FALSE} +{\tt true} if the event resulted in a change to the control, {\tt false} otherwise. \membersection{wxTextCtrl::GetDefaultStyle}\label{wxtextctrlgetdefaultstyle} @@ -548,14 +581,15 @@ returned string is empty. \constfunc{wxString}{GetValue}{\void} 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. +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::IsEditable}\label{wxtextctrliseditable} \constfunc{bool}{IsEditable}{\void} -Returns {\tt TRUE} if the controls contents may be edited by user (note that it +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 \helpref{SetEditable}{wxtextctrlseteditable}. @@ -564,50 +598,74 @@ read-only mode by a previous call to \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. -\membersection{wxTextCtrl::LoadFile}\label{wxtextctrlloadfile} +\membersection{wxTextCtrl::IsMultiLine}\label{wxtextctrlismultiline} -\func{bool}{LoadFile}{\param{const wxString\& }{ filename}} +\constfunc{bool}{IsMultiLine}{\void} -Loads and displays the named file, if it exists. +Returns {\tt true} if this is a multi line edit control and {\tt false} +otherwise. -\wxheading{Parameters} +\wxheading{See also} -\docparam{filename}{The filename of the file to load.} +\helpref{IsSingleLine}{wxtextctrlissingleline} -\wxheading{Return value} +\membersection{wxTextCtrl::IsSingleLine}\label{wxtextctrlissingleline} -{\tt TRUE} if successful, {\tt FALSE} otherwise. +\constfunc{bool}{IsSingleLine}{\void} -\membersection{wxTextCtrl::OnChar}\label{wxtextctrlonchar} +Returns {\tt true} if this is a single line edit control and {\tt false} +otherwise. -\func{void}{OnChar}{\param{wxKeyEvent\& }{event}} +\wxheading{See also} -Default handler for character input. +\helpref{IsMultiLine}{wxtextctrlissingleline} -\wxheading{Remarks} +\membersection{wxTextCtrl::LoadFile}\label{wxtextctrlloadfile} + +\func{bool}{LoadFile}{\param{const wxString\& }{ filename}} -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 -processes the character. In Motif, -calling this function simply sets a flag -to let default processing happen. This might affect -the way in which you write your OnChar function -on different platforms. +Loads and displays the named file, if it exists. -\wxheading{See also} +\wxheading{Parameters} + +\docparam{filename}{The filename of the file to load.} -\helpref{wxKeyEvent}{wxkeyevent} +\wxheading{Return value} + +{\tt true} if successful, {\tt false} otherwise. + +% 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 +%% processes the character. In Motif, +%% calling this function simply sets a flag +%% 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} \membersection{wxTextCtrl::OnDropFiles}\label{wxtextctrlondropfiles} @@ -650,7 +708,7 @@ Converts given position to a zero-based column, line number pair. \wxheading{Return value} -{\tt TRUE} on success, {\tt FALSE} on failure (most likely due to a too large position +{\tt true} on success, {\tt false} on failure (most likely due to a too large position parameter). \wxheading{See also} @@ -711,7 +769,7 @@ Saves the contents of the control in a text file. \wxheading{Return value} -{\tt TRUE} if the operation was successful, {\tt FALSE} otherwise. +{\tt true} if the operation was successful, {\tt false} otherwise. \membersection{wxTextCtrl::SetDefaultStyle}\label{wxtextctrlsetdefaultstyle} @@ -736,7 +794,7 @@ wouldn't change it at all). \wxheading{Return value} -{\tt TRUE} on success, {\tt FALSE} if an error occured - may also mean that +{\tt true} on success, {\tt false} if an error occured - may also mean that the styles are not supported under this platform. \wxheading{See also} @@ -751,7 +809,7 @@ Makes the text item editable or read-only, overriding the {\bf wxTE\_READONLY} f \wxheading{Parameters} -\docparam{editable}{If {\tt TRUE}, the control is editable. If {\tt FALSE}, the control is read-only.} +\docparam{editable}{If {\tt true}, the control is editable. If {\tt false}, the control is read-only.} \wxheading{See also} @@ -782,7 +840,7 @@ This function sets the maximum number of characters the user can enter into the control. In other words, it allows to limit the text value length to {\it len} not counting the terminating {\tt NUL} character. -If {\it len} is $0$, the previously set max length limi, if any, is discarded +If {\it len} is $0$, the previously set max length limit, if any, is discarded and the user may enter as much text as the underlying native text control widget supports (typically at least 32Kb). @@ -802,7 +860,9 @@ Only implemented in wxMSW/wxGTK starting with wxWindows 2.3.2. \func{virtual void}{SetSelection}{\param{long}{ from}, \param{long}{ to}} -Selects the text starting at the first position up to (but not including) the character at the last position. +Selects the text starting at the first position up to (but not including) the +character at the last position. If both parameters are equal to $-1$ all text +in the control is selected. \wxheading{Parameters} @@ -828,7 +888,7 @@ background colour is not set in {\it style}, the values of\rtfsp \wxheading{Return value} -{\tt TRUE} on success, {\tt FALSE} if an error occured - may also mean that +{\tt true} on success, {\tt false} if an error occured - may also mean that the styles are not supported under this platform. \membersection{wxTextCtrl::SetValue}\label{wxtextctrlsetvalue} @@ -836,9 +896,12 @@ the styles are not supported under this platform. \func{virtual void}{SetValue}{\param{const wxString\& }{ value}} Sets the text value and marks the control as not-modified (which means that -\helpref{IsModified}{wxtextctrlismodified} would return {\tt FALSE} immediately +\helpref{IsModified}{wxtextctrlismodified} would return {\tt false} immediately after the call to SetValue). +Note that this function will generate a {\tt wxEVT\_COMMAND\_TEXT\_UPDATED} +event. + \wxheading{Parameters} \docparam{value}{The new value to set. It may contain newline characters if the text control is multi-line.}