]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/array.tex
documented wxSpinCtrl
[wxWidgets.git] / docs / latex / wx / array.tex
index 9142a69eb9126abe63aafd8f97a48d7540bcc570..8a84b9ad45c10fc69fa84e979dcd9c617c0b680d 100644 (file)
@@ -125,7 +125,7 @@ WX_DEFINE_SORTED_ARRAY(MyFile *, ArrayOfFiles);
 
 \helpref{Container classes overview}{wxcontaineroverview}, \helpref{wxList}{wxlist}
 
-\wxheading{Required headers:}
+\wxheading{Include files}
 
 <wx/dynarray.h> for wxArray and wxSortedArray and additionally <wx/arrimpl.cpp>
 for wxObjArray.
@@ -141,8 +141,10 @@ WX\_DECLARE\_OBJARRAY macros and must be fully declared before you use
 WX\_DEFINE\_OBJARRAY macro.
 
 \helpref{WX\_DEFINE\_ARRAY}{wxdefinearray}\\
+\helpref{WX\_DEFINE\_EXPORTED\_ARRAY}{wxdefinearray}\\
 \helpref{WX\_DEFINE\_SORTED\_ARRAY}{wxdefinesortedarray}\\
-\helpref{WX\_DECLARE\_OBJARRAY}{wxdeclareobjarray}\\
+\helpref{WX\_DEFINE\_SORTED\_EXPORTED\_ARRAY}{wxdefinesortedarray}\\
+\helpref{WX\_DECLARE\_EXPORTED\_OBJARRAY}{wxdeclareobjarray}\\
 \helpref{WX\_DEFINE\_OBJARRAY}{wxdefineobjarray}
 
 \membersection{Constructors and destructors}
@@ -193,7 +195,8 @@ does exactly the same as \helpref{Item()}{wxarrayitem} method.
 \membersection{Adding items}
 
 \helpref{Add}{wxarrayadd}\\
-\helpref{Insert}{wxarrayinsert}
+\helpref{Insert}{wxarrayinsert}\\
+\helpref{WX\_APPEND\_ARRAY}{wxappendarray}
 
 \membersection{Removing items}
 
@@ -219,8 +222,12 @@ does exactly the same as \helpref{Item()}{wxarrayitem} method.
 
 \func{}{WX\_DEFINE\_ARRAY}{\param{}{T}, \param{}{name}}
 
+\func{}{WX\_DEFINE\_EXPORTED\_ARRAY}{\param{}{T}, \param{}{name}}
+
 This macro defines a new array class named {\it name} and containing the
-elements of type {\it T}. Example:
+elements of type {\it T}. The second form is used when compiling DLL
+under Windows and array needs to be visible outside the DLL.
+Example:
 
 \begin{verbatim}
 WX_DEFINE_ARRAY(int, wxArrayInt);
@@ -236,8 +243,14 @@ wxArrayLong and wxArrayPtrVoid.
 
 \func{}{WX\_DEFINE\_SORTED\_ARRAY}{\param{}{T}, \param{}{name}}
 
+\func{}{WX\_DEFINE\_SORTED\_EXPORTED\_ARRAY}{\param{}{T}, \param{}{name}}
+
 This macro defines a new sorted array class named {\it name} and containing
-the elements of type {\it T}. Example:
+the elements of type {\it T}. The second form is used when compiling DLL
+under Windows and array needs to be visible outside the DLL.
+
+
+Example:
 
 \begin{verbatim}
 WX_DEFINE_SORTED_ARRAY(int, wxSortedArrayInt);
@@ -269,8 +282,13 @@ wxArrayOfMyClass another(CompareMyClassObjects);
 
 \func{}{WX\_DECLARE\_OBJARRAY}{\param{}{T}, \param{}{name}}
 
+\func{}{WX\_DECLARE\_EXPORTED\_OBJARRAY}{\param{}{T}, \param{}{name}}
+
 This macro declares a new object array class named {\it name} and containing
-the elements of type {\it T}. Example:
+the elements of type {\it T}. The second form is used when compiling DLL
+under Windows and array needs to be visible outside the DLL.
+
+Example:
 
 \begin{verbatim}
 class MyClass;
@@ -311,6 +329,13 @@ public:
 WX_DEFINE_OBJARRAY(wxArrayOfMyClass);
 \end{verbatim}
 
+\membersection{WX\_APPEND\_ARRAY}\label{wxappendarray}
+
+\func{void}{WX\_APPEND\_ARRAY}{\param{wxArray\& }{array}, \param{wxArray\& }{other}}
+
+This macro may be used to append all elements of the {\it other} array to the 
+{\it array}. The two arrays must be of the same type.
+
 \membersection{WX\_CLEAR\_ARRAY}\label{wxcleararray}
 
 \func{void}{WX\_CLEAR\_ARRAY}{\param{wxArray\& }{array}}
@@ -385,6 +410,9 @@ to the array, however, the array will make a copy of the item and will not take
 ownership of the original item. Once again, it only makes sense for wxObjArrays
 because the other array types never take ownership of their elements.
 
+You may also use \helpref{WX\_APPEND\_ARRAY}{wxappendarray} macro to append all
+elements of one array to another one.
+
 \membersection{wxArray::Alloc}\label{wxarrayalloc}
 
 \func{void}{Alloc}{\param{size\_t }{count}}
@@ -449,6 +477,12 @@ Linear search is used for the wxArray and wxObjArray classes but binary search
 in the sorted array is used for wxSortedArray (this is why searchFromEnd
 parameter doesn't make sense for it).
 
+{\bf NB:} even for wxObjArray classes, the operator==() of the elements in the
+array is {\bf not} used by this function. It searches exactly the given
+element in the array and so will only succeed if this element had been
+previously added to the array, but fail even if another, identical, element is
+in the array.
+
 \membersection{wxArray::Insert}\label{wxarrayinsert}
 
 \func{void}{Insert}{\param{T }{item}, \param{size\_t }{n}}