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
This commit is contained in:
Vadim Zeitlin 1999-02-27 01:26:26 +00:00
parent 721b32e058
commit ed93168bf9
12 changed files with 211 additions and 57 deletions

View File

@ -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}

View File

@ -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>

View File

@ -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}}%

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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}}
\func{void}{SortChildren}{\param{const wxTreeItemId\&}{ item}}
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:
{\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}

View File

@ -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

View File

@ -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.

View File

@ -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}

View File

@ -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

View File

@ -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}