From ed93168bf9d23bdc83184039c84d263ed6f87945 Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Sat, 27 Feb 1999 01:26:26 +0000
Subject: [PATCH] 1. (very) short i18n overview added, wxGetTranslation()
 documented. 2. wxTreeCtrl overview written and documentation updated 3.
 wxString docmunetation updated (no more unresolved references) 4.
 wxWindow::SetCursor() recursive behaviour mentioned

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/function.tex | 57 ++++++++++++++++++++++++-----
 docs/latex/wx/locale.tex   |  4 ++
 docs/latex/wx/minimald.tex |  2 +-
 docs/latex/wx/tex2rtf.ini  |  2 +-
 docs/latex/wx/tlog.tex     |  2 -
 docs/latex/wx/topics.tex   |  3 +-
 docs/latex/wx/treectrl.tex | 66 ++++++++++++++++++++++-----------
 docs/latex/wx/tstring.tex  | 15 ++++----
 docs/latex/wx/ttreectl.tex | 75 +++++++++++++++++++++++++++++++++++++-
 docs/latex/wx/window.tex   | 11 ++----
 docs/latex/wx/wx.hpj       |  9 ++++-
 docs/latex/wx/wxstring.tex | 22 +++++++++--
 12 files changed, 211 insertions(+), 57 deletions(-)

diff --git a/docs/latex/wx/function.tex b/docs/latex/wx/function.tex
index 191f4c59f5..3ec711a247 100644
--- a/docs/latex/wx/function.tex
+++ b/docs/latex/wx/function.tex
@@ -258,6 +258,24 @@ three of them may be empty if the corresponding component is. The old contents o
 strings pointed to by these parameters will be overwritten in any case (if the pointers
 are not NULL).
 
+\membersection{::wxTransferFileToStream}\label{wxtransferfiletostream}
+
+\func{bool}{wxTransferFileToStream}{\param{const wxString\& }{filename}, \param{ostream\& }{stream}}
+
+Copies the given file to {\it stream}. Useful when converting an old application to
+use streams (within the document/view framework, for example).
+
+Use of this function requires the file wx\_doc.h to be included.
+
+\membersection{::wxTransferStreamToFile}\label{wxtransferstreamtofile}
+
+\func{bool}{wxTransferStreamToFile}{\param{istream\& }{stream} \param{const wxString\& }{filename}}
+
+Copies the given stream to the file {\it filename}. Useful when converting an old application to
+use streams (within the document/view framework, for example).
+
+Use of this function requires the file wx\_doc.h to be included.
+
 \section{String functions}
 
 \membersection{::copystring}
@@ -286,23 +304,42 @@ A macro defined as:
 #define wxStringEq(s1, s2) (s1 && s2 && (strcmp(s1, s2) == 0))
 \end{verbatim}
 
-\membersection{::wxTransferFileToStream}\label{wxtransferfiletostream}
+\membersection{::IsEmpty}\label{isempty}
 
-\func{bool}{wxTransferFileToStream}{\param{const wxString\& }{filename}, \param{ostream\& }{stream}}
+\func{bool}{IsEmpty}{\param{const char *}{ p}}
 
-Copies the given file to {\it stream}. Useful when converting an old application to
-use streams (within the document/view framework, for example).
+Returns TRUE if the string is empty, FALSE otherwise. It is safe to pass NULL
+pointer to this function and it will return TRUE for it.
 
-Use of this function requires the file wx\_doc.h to be included.
+\membersection{::Stricmp}\label{stricmp}
 
-\membersection{::wxTransferStreamToFile}\label{wxtransferstreamtofile}
+\func{int}{Stricmp}{\param{const char *}{p1}, \param{const char *}{p2}}
 
-\func{bool}{wxTransferStreamToFile}{\param{istream\& }{stream} \param{const wxString\& }{filename}}
+Returns a negative value, 0, or positive value if {\it p1} is less than, equal
+to or greater than {\it p2}. The comparison is case-insensitive.
 
-Copies the given stream to the file {\it filename}. Useful when converting an old application to
-use streams (within the document/view framework, for example).
+This function complements the standard C function {\it strcmp()} which performs
+case-sensitive comparison.
 
-Use of this function requires the file wx\_doc.h to be included.
+\membersection{::Strlen}\label{strlen}
+
+\func{size\_t}{Strlen}{\param{const char *}{ p}}
+
+This is a safe version of standard function {\it strlen()}: it does exactly the
+same thing (i.e. returns the length of the string) except that it returns 0 if
+{\it p} is the NULL pointer.
+
+\membersection{::wxGetTranslation}\label{wxgettranslation}
+
+\func{const char *}{wxGetTranslation}{\param{const char * }{str}}
+
+This function returns the translation of string {\it str} in the current 
+\helpref{locale}{wxlocale}. If the string is not found in any of the loaded
+message catalogs (see \helpref{i18n overview}{internationalization}), the
+original string is returned. In debug build, an error message is logged - this
+should help to find the strings which were not yet translated. As this function
+is used very often, an alternative syntax is provided: the \_() macro is
+defined as wxGetTranslation().
 
 \section{Dialog functions}\label{dialogfunctions}
 
diff --git a/docs/latex/wx/locale.tex b/docs/latex/wx/locale.tex
index 2583c0a538..e6a0431c51 100644
--- a/docs/latex/wx/locale.tex
+++ b/docs/latex/wx/locale.tex
@@ -10,6 +10,10 @@ of the strings used to the current language.
 
 No base class
 
+\wxheading{See also}
+
+\helpref{I18n overview}{internationalization}
+
 \wxheading{Include files}
 
 <wx/intl.h>
diff --git a/docs/latex/wx/minimald.tex b/docs/latex/wx/minimald.tex
index 905f866f55..f3943e04ff 100644
--- a/docs/latex/wx/minimald.tex
+++ b/docs/latex/wx/minimald.tex
@@ -35,7 +35,7 @@
 \setfooter{\thepage}{}{}{}{}{\thepage}
 
 % put your file(s) in an \input{} statement here
-\input{text.tex}
+\input{wxstring.tex}
 
 \addcontentsline{toc}{chapter}{Index}
 \setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}%
diff --git a/docs/latex/wx/tex2rtf.ini b/docs/latex/wx/tex2rtf.ini
index d6b4310136..969a942309 100644
--- a/docs/latex/wx/tex2rtf.ini
+++ b/docs/latex/wx/tex2rtf.ini
@@ -14,7 +14,7 @@ listItemIndent=40
 generateHPJ = no
 htmlBrowseButtons = bitmap
 winHelpContents = yes
-winHelpVersion = 3 ; 3 for Windows 3.x, 4 for Windows 95
+winHelpVersion = 4 ; 3 for Windows 3.x, 4 for Windows 95
 winHelpTitle = "wxWindows Manual"
 truncateFilenames = yes
 combineSubSections = yes
diff --git a/docs/latex/wx/tlog.tex b/docs/latex/wx/tlog.tex
index 56573c38ed..8c031a488f 100644
--- a/docs/latex/wx/tlog.tex
+++ b/docs/latex/wx/tlog.tex
@@ -1,7 +1,5 @@
 \section{Log classes overview}\label{wxlogoverview}
 
-% Vadim: let's not have references to documentation that doesn't exist yet.
-% The docs are allowed to be incomplete, but not containing bad links!
 Classes: \helpref{wxLog}{wxlog}, wxLogStderr,
 wxLogOstream, wxLogTextCtrl, wxLogWindow, wxLogGui, wxLogNull
 
diff --git a/docs/latex/wx/topics.tex b/docs/latex/wx/topics.tex
index cda8c6764d..b68151570f 100644
--- a/docs/latex/wx/topics.tex
+++ b/docs/latex/wx/topics.tex
@@ -5,6 +5,7 @@
 This chapter contains a selection of topic overviews.
 
 \input tapp.tex
+\input tstring.tex
 \input tcontain.tex
 \input tlog.tex
 \input tconfig.tex
@@ -35,8 +36,8 @@ This chapter contains a selection of topic overviews.
 \input tvalidat.tex
 \input texpr.tex
 \input tgrid.tex
-\input tstring.tex
 \input tdnd.tex
 \input tthreads.tex
 \input tfile.tex
+\input ti18n.tex
 \input tusage.tex
diff --git a/docs/latex/wx/treectrl.tex b/docs/latex/wx/treectrl.tex
index 45c682774c..4390b721f6 100644
--- a/docs/latex/wx/treectrl.tex
+++ b/docs/latex/wx/treectrl.tex
@@ -225,7 +225,7 @@ to make these functions reentrant (i.e. allow more than one
 enumeration on one and the same object simultaneously). The cookie passed to
 GetFirstChild and GetNextChild should be the same.
 
-Returns 0 if there are no further children.
+Returns an invalid tree item if there are no further children.
 
 \wxheading{See also}
 
@@ -282,7 +282,7 @@ Returns the item label.
 
 \constfunc{wxTreeItemId}{GetLastChild}{\param{const wxTreeItemId\&}{ item}}
 
-Returns the last child of the item (or 0 if this item has no children).
+Returns the last child of the item (or an invalid tree item if this item has no children).
 
 \wxheading{See also}
 
@@ -301,7 +301,7 @@ to make these functions reentrant (i.e. allow more than one
 enumeration on one and the same object simultaneously). The cookie passed to
 GetFirstChild and GetNextChild should be the same.
 
-Returns 0 if there are no further children.
+Returns an invalid tree item if there are no further children.
 
 \wxheading{See also}
 
@@ -313,7 +313,7 @@ Returns 0 if there are no further children.
 
 Returns the next sibling of the specified item; call \helpref{wxTreeCtrl::GetPrevSibling}{wxtreectrlgetprevsibling} for the previous sibling.
 
-Returns 0 if there are no further siblings.
+Returns an invalid tree item if there are no further siblings.
 
 \wxheading{See also}
 
@@ -337,7 +337,7 @@ Returns the item's parent.
 
 Returns the previous sibling of the specified item; call \helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling} for the next sibling.
 
-Returns 0 if there are no further children.
+Returns an invalid tree item if there are no further children.
 
 \wxheading{See also}
 
@@ -355,9 +355,9 @@ Returns the previous visible item.
 
 Returns the root item for the tree control.
 
-\membersection{wxTreeCtrl::GetSelectedItemImage}\label{wxtreectrlgetselecteditemimage}
+\membersection{wxTreeCtrl::GetItemSelectedImage}\label{wxtreectrlgetitemselectedimage}
 
-\constfunc{int}{GetSelectedItemImage}{\param{const wxTreeItemId\& }{item}}
+\constfunc{int}{GetItemSelectedImage}{\param{const wxTreeItemId\& }{item}}
 
 Gets the selected item image.
 
@@ -365,7 +365,7 @@ Gets the selected item image.
 
 \constfunc{wxTreeItemId}{GetSelection}{\void}
 
-Returns the selection, or 0 if there is no selection.
+Returns the selection, or an invalid item if there is no selection.
 
 \membersection{wxTreeCtrl::HitTest}\label{wxtreectrlhittest}
 
@@ -399,6 +399,14 @@ Inserts an item after a given one.
 If {\it image} > -1 and {\it selImage} is -1, the same image is used for
 both selected and unselected items.
 
+\membersection{wxTreeCtrl::IsBold}\label{wxtreectrlisbold}
+
+\constfunc{bool}{IsBold}{\param{const wxTreeItemId\& }{item}}
+
+Returns TRUE if the given item is in bold state.
+
+See also: \helpref{SetItemBold}{wxtreectrlsetitembold}
+
 \membersection{wxTreeCtrl::IsExpanded}\label{wxtreectrlisexpanded}
 
 \constfunc{bool}{IsExpanded}{\param{const wxTreeItemId\&}{ item}}
@@ -423,6 +431,19 @@ Returns TRUE if the item is visible (it might be outside the view, or not expand
 
 Returns TRUE if the item has children.
 
+\membersection{wxTreeCtrl::OnCompareItems}\label{wxtreectrloncompareitems}
+
+\func{int}{OnCompareItems}{\param{const wxTreeItemId\& }{item1}, \param{const wxTreeItemId\& }{item2}}
+
+Override this function in the derived class to change the sort order of the
+items in the tree control. The function should return a negative, zero or
+positive value if the first item is less than, equal to or greater than the
+second one.
+
+The base class version compares items alphabetically.
+
+See also: \helpref{SortChildren}{wxtreectrlsortchildren}
+
 \membersection{wxTreeCtrl::PrependItem}\label{wxtreectrlprependitem}
 
 \func{wxTreeItemId}{PrependItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxString\&}{ text},
@@ -458,6 +479,15 @@ Sets the indentation for the tree control.
 Sets the image list. {\it which} should be one of wxIMAGE\_LIST\_NORMAL, wxIMAGE\_LIST\_SMALL and
 wxIMAGE\_LIST\_STATE.
 
+\membersection{wxTreeCtrl::SetItemBold}\label{wxtreectrlsetitembold}
+
+\func{void}{SetItemBold}{\param{const wxTreeItemId\& }{item}, \param{bool}{ bold = TRUE}}
+
+Makes item appear in bold font if {\it bold} parameter is TRUE or resets it to
+the normal state.
+
+See also: \helpref{IsBold}{wxtreectrlisbold}
+
 \membersection{wxTreeCtrl::SetItemData}\label{wxtreectrlsetitemdata}
 
 \func{void}{SetItemData}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemData* }{data}}
@@ -493,24 +523,16 @@ Sets the item label.
 
 \membersection{wxTreeCtrl::SortChildren}\label{wxtreectrlsortchildren}
 
-\func{void}{SortChildren}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemCmpFunc*}{ cmpFunction = NULL}}
-
-Sorts the children of the given item. If {\it cmpFunction} is NULL, sorts in ascending alphabetical order;
-otherwise the custom sort function is used, as follows:
+\func{void}{SortChildren}{\param{const wxTreeItemId\&}{ item}}
 
-{\small
-\begin{verbatim}
-// a callback function used for sorting tree items, it should return -1 if the
-// first item precedes the second, +1 if the second precedes the first or 0 if
-// they're equivalent
-class wxTreeItemData;
-typedef int (*wxTreeItemCmpFunc)(wxTreeItemData *item1, wxTreeItemData *item2);
-\end{verbatim}
-}
+Sorts the children of the given item using 
+\helpref{OnCompareItems}{wxtreectrloncompareitems} method of wxTreeCtrl. You
+should override that method to change the sort order (default is ascending
+alphabetical order).
 
 \wxheading{See also}
 
-\helpref{wxTreeItemData}{wxtreeitemdata}
+\helpref{wxTreeItemData}{wxtreeitemdata}, \helpref{OnCompareItems}{wxtreectrloncompareitems}
 
 \membersection{wxTreeCtrl::Toggle}\label{wxtreectrltoggle}
 
diff --git a/docs/latex/wx/tstring.tex b/docs/latex/wx/tstring.tex
index 609ae9bfff..59667e009e 100644
--- a/docs/latex/wx/tstring.tex
+++ b/docs/latex/wx/tstring.tex
@@ -26,8 +26,9 @@ for a list of all functions.
 The advantages of using a special string class instead of working directly with
 C strings are so obvious that there is a huge number of such classes available.
 The most important advantage is the need to always
-remember to allocate/free memory for C strings; working with fixed size buffers almost inevitably leads to buffer overflows).
-At last, C++ has a standard string class (std::string). So why the need for wxString?
+remember to allocate/free memory for C strings; working with fixed size buffers almost
+inevitably leads to buffer overflows. At last, C++ has a standard string class
+(std::string). So why the need for wxString?
 
 There are several advantages:
 
@@ -137,9 +138,9 @@ string with a NULL) and are in general not very safe (passing NULL to them will
 probably lead to program crash). Moreover, some very useful functions are not
 standard at all. This is why in addition to all wxString functions, there are
 also a few global string functions which try to correct these problems: 
-\helpref{IsEmpty()}{wxstringisempty} verifies whether the string is empty (returning
-TRUE for NULL pointers), \helpref{Strlen()}{wxstringstrlen} also handles NULLs correctly
-and returns 0 for them and \helpref{Stricmp()}{wxstringstricmp} is just a
+\helpref{IsEmpty()}{IsEmpty} verifies whether the string is empty (returning
+TRUE for NULL pointers), \helpref{Strlen()}{Strlen} also handles NULLs correctly
+and returns 0 for them and \helpref{Stricmp()}{Stricmp} is just a
 platform-independent version of case-insensitive string comparison function
 known either as stricmp() or strcasecmp() on different platforms.
 
@@ -175,7 +176,7 @@ Probably the unique case when you might want to think about reference
 counting is when a string character is taken from a string which is not a
 constant (or a constant reference). In this case, due to C++ rules, the
 "read-only" {\it operator[]} (which is the same as 
-\helpref{GetChar()}{wxstringgetchar}) cannot be chosen and the "read/write"
+\helpref{GetChar()}{wxstringgetchar}) cannot be chosen and the "read/write" 
 {\it operator[]} (the same as 
 \helpref{GetWritableChar()}{wxstringgetwritablechar}) is used instead. As the
 call to this operator may modify the string, its data is unshared (COW is done)
@@ -195,7 +196,7 @@ never arise because for constant references the correct operator is called autom
 absolutely not necessary to read for using wxString class. Please skip it unless
 you feel familiar with profilers and relative tools. If you do read it, please
 also read the preceding section about 
-\helpref{reference counting}{wxstringrefcounting}.}
+\helpref{reference counting}{wxstringrefcount}.}
 
 For the performance reasons wxString doesn't allocate exactly the amount of
 memory needed for each string. Instead, it adds a small amount of space to each
diff --git a/docs/latex/wx/ttreectl.tex b/docs/latex/wx/ttreectl.tex
index fb6f85e216..43adf1b891 100644
--- a/docs/latex/wx/ttreectl.tex
+++ b/docs/latex/wx/ttreectl.tex
@@ -2,5 +2,78 @@
 
 Classes: \helpref{wxTreeCtrl}{wxtreectrl}, \helpref{wxImageList}{wximagelist}
 
-TODO.
+The tree control displays its items in a tree like structure. Each item has its
+own (optional) icon and a label. An item may be either collapsed (meaning that
+its children are not visible) or expanded (meaning that its children are
+shown). Each item in the tree is identified by its {\it itemId} which is of
+opaque data type {\it wxTreeItemId}.
 
+The items text and image may be retrieved and changed with 
+\helpref{GetItemText}{wxtreectrlgetitemtext}/\helpref{SetItemText}{wxtreectrlsetitemtext} 
+and 
+\helpref{GetItemImage}{wxtreectrlgetitemimage}/\helpref{SetItemImage}{wxtreectrlsetitemimage}.
+In fact, an item may even have two images associated with it: the normal one
+and another one for selected state which is set/retrieved with 
+\helpref{SetItemSelectedImage}{wxtreectrlsetitemselectedimage}/\helpref{GetItemSelectedImage}{wxtreectrlgetitemselectedimage} 
+functions, but this functionality might be unavailable on some platforms.
+
+Tree items have several attributes: an item may be selected or not, visible or
+not, bold or not. It may also be expanded or collapsed. All these attributes
+may be retrieved with the corresponding functions: 
+\helpref{IsSelected}{wxtreectrlisselected}, 
+\helpref{IsVisible}{wxtreectrlisvisible}, \helpref{IsBold}{wxtreectrlisbold} 
+and \helpref{IsExpanded}{wxtreectrlisexpanded}. Only one item at a time may be
+selected, selecting anopther one (with 
+\helpref{SelectItem}{wxtreectrlselectitem}) automatically unselects the
+previously selected one.
+
+In addition to its icon and label, a user-specific data structure may be associated
+with all tree items. If you wish to do it, you should derive a class from {\it
+wxTreeItemData} which is a very simple class having only one function {\it
+GetId()} which returns the id of the item this data is associated with. This
+data will be freed by the control itself when the associated item is deleted
+(all items are deleted when the control is destroyed), so you shouldn't delete
+it yourself (if you do it, you should call 
+\helpref{SetItemData(NULL)}{wxtreectrlsetitemdata} to prevent the tree from
+deleting the pointer second time). The associated data may be retrieved with 
+\helpref{GetItemData()}{wxtreectrlgetitemdata} function.
+
+Working with trees is relatively straightforward if all the items are added to
+the tree at the moment of its creation. However, for large trees it may be
+very inefficient. To improve the performance you may want to delay adding the
+items to the tree until the branch containing the items is expanded: so, in the
+beginning, only the root item is created (with 
+\helpref{AddRoot}{wxtreectrladdroot}). Other items are added when
+EVT\_TREE\_ITEM\_EXPANDING event is received: then all items lying immediately
+under the item being expanded should be added, but, of course, only when this
+event is received for the first time for this item - otherwise, the items would
+be added twice if the user expands/collapses/reexapnds the branch.
+
+The tree control provides functions for enumerating its items. There are 3
+groups of enumeration functions: for the children of a given item, for the
+sibling of the given item and for the visible items (those which are currently
+shown to the user: an item may be invisible either because its branch is
+collapsed or because it is scrolled out of view). Child enumeration functions
+require the caller to give them a {\it cookie} parameter: it is a number which
+is opaque to the caller but is used by the tree control itself to allow
+multiple enumerations to run simultaneously (this is explicitly allowed). The
+only thing to remember is that the {\it cookie} passed to 
+\helpref{GetFirstChild}{wxtreectrlgetfirstchild} and to 
+\helpref{GetNextChild}{wxtreectrlgetnextchild} should be the same variable (and
+that nothing should be done with it by the user code).
+
+Among other functionalities of the tree control are: item sorting with 
+\helpref{SortChildren}{wxtreectrlsortchildren} which uses the user-defined comparison
+function \helpref{OnCompareItems}{wxtreectrloncompareitems} (by default the
+comparison is the alphabetic comparison of tree labels), hit testing
+(determining to which portion of the control the given point belongs, useful
+for implementing drag-and-drop in the tree) with 
+\helpref{HitTest}{wxtreectrlhittest} and editing of the tree item labels in
+place (see \helpref{EditLabel}{wxtreectrleditlabel}).
+
+Finally, the tree control has a keyboard interface: the cursor navigation (arrow) keys
+may be used to change the current selection. <HOME> and <END> are used to go to
+the first/last sibling of the current item. '+', '-' and '*' expand, collapse
+and toggle the current branch. Note, however, that <DEL> and <INS> keys do
+nothing by default, but it is custom to associate them with deleting item from
+a tree and inserting a new one in it.
diff --git a/docs/latex/wx/window.tex b/docs/latex/wx/window.tex
index 768ad31bf9..b5bc55cf75 100644
--- a/docs/latex/wx/window.tex
+++ b/docs/latex/wx/window.tex
@@ -1685,18 +1685,15 @@ implements the following methods:\par
 
 \func{virtual void}{SetCursor}{\param{const wxCursor\&}{cursor}}
 
-Sets the window's cursor.
+Sets the window's cursor. Notice that setting the cursor for this window also
+sets it for all the children of the window unless they have their own cursor
+(either explicitly set with the same function, or, in the case of Windows, a
+standard one for some of standard controls).
 
 \wxheading{Parameters}
 
 \docparam{cursor}{Specifies the cursor that the window should normally display.}
 
-%\wxheading{Remarks}
-%
-%Under Windows, you sometimes need to call ::wxSetCursor in addition to this
-%function if you want the cursor to change immediately, because under Windows,
-%wxWindows only sets the global cursor when it detects mouse movement.
-%
 \wxheading{See also}
 
 \helpref{::wxSetCursor}{wxsetcursor}, \helpref{wxCursor}{wxcursor}
diff --git a/docs/latex/wx/wx.hpj b/docs/latex/wx/wx.hpj
index eabbd5b007..03b31643a9 100644
--- a/docs/latex/wx/wx.hpj
+++ b/docs/latex/wx/wx.hpj
@@ -1,9 +1,14 @@
+; This file is maintained by HCW. Do not modify this file directly.
+
 
 [OPTIONS]
-COMPRESS=HIGH
+COMPRESS=60 Hall Zeck
+LCID=0x409 0x0 0x0 ; English (United States)
+REPORT=Yes
 CONTENTS=Contents
 TITLE=wxWindows Manual
-BMROOT=..\..\..\..\wxwind~1\docs\latex\wx
+BMROOT=.
+HLP=wx.hlp
 
 [FILES]
 wx.rtf
diff --git a/docs/latex/wx/wxstring.tex b/docs/latex/wx/wxstring.tex
index c4ea3afeca..bd681259d6 100644
--- a/docs/latex/wx/wxstring.tex
+++ b/docs/latex/wx/wxstring.tex
@@ -188,7 +188,7 @@ functions instead of them (or, even better, std::string compatible variants).
 \helpref{IsNumber}{wxstringisnumber}\\
 \helpref{IsWord}{wxstringisword}
 
-\membersection{std::string compatibility functions}
+\membersection{std::string compatibility functions}\label{wxstringat}
 
 The supported functions are only listed here, please see any STL reference for
 their documentation.
@@ -457,6 +457,20 @@ Returns the whole string if {\it ch} is not found.
 Gets all characters before the last occurence of {\it ch}.
 Returns the empty string if {\it ch} is not found.
 
+\membersection{wxString::c\_str}\label{wxstringcstr}
+
+\constfunc{const char *}{c\_str}{\void}
+
+Returns a pointer to the string data.
+
+\membersection{wxString::Clear}\label{wxstringclear}
+
+\func{void}{Clear}{\void}
+
+Empties the string and frees memory occupied by it.
+
+See also: \helpref{Empty}{wxstringempty}
+
 \membersection{wxString::Cmp}\label{wxstringcmp}
 
 \constfunc{int}{Cmp}{\param{const char*}{ psz}}
@@ -487,7 +501,7 @@ See also \helpref{Cmp}{wxstringcmp}, \helpref{IsSameAs}{wxstringissameas}.
 #define NO_POS ((int)(-1)) // undefined position
 enum caseCompare {exact, ignoreCase};
 \end{verbatim}
-  
+
 \constfunc{int}{CompareTo}{\param{const char*}{ psz}, \param{caseCompare}{ cmp = exact}}
 
 Case-sensitive comparison. Returns 0 if equal, 1 if greater or -1 if less.
@@ -502,7 +516,9 @@ Returns 1 if target appears anyhere in wxString; else 0.
 
 \func{void}{Empty}{\void}
 
-Reinitializes the string and frees the data.
+Makes the string empty, but doesn't free memory occupied by the string.
+
+See also: \helpref{Clear()}{wxstringclear}.
 
 \membersection{wxString::Find}\label{wxstringfind}
 
-- 
2.50.0

