]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/defs.h
minor cleanup; add wxDocument::OnChangeFilename for coherence with wxView::OnChangefi...
[wxWidgets.git] / interface / wx / defs.h
index b1b2c9536ec3f9c65ec65d9f3be70856a401481a..5eeba8ee717d9cb28d1908f40e9888c58a183300 100644 (file)
@@ -99,7 +99,7 @@ enum wxPaperSize
     wxPAPER_FANFOLD_STD_GERMAN, ///<  German Std Fanfold, 8 1/2 by 12 inches
     wxPAPER_FANFOLD_LGL_GERMAN, ///<  German Legal Fanfold, 8 1/2 by 13 inches
 
-    // Windows 95 Only
+    // wxMSW Only
 
     wxPAPER_ISO_B4,             ///<  B4 (ISO) 250 x 353 mm
     wxPAPER_JAPANESE_POSTCARD,  ///<  Japanese Postcard 100 x 148 mm
@@ -107,13 +107,13 @@ enum wxPaperSize
     wxPAPER_10X11,              ///<  10 x 11 in
     wxPAPER_15X11,              ///<  15 x 11 in
     wxPAPER_ENV_INVITE,         ///<  Envelope Invite 220 x 220 mm
-    wxPAPER_LETTER_EXTRA,       ///<  Letter Extra 9 \275 x 12 in
-    wxPAPER_LEGAL_EXTRA,        ///<  Legal Extra 9 \275 x 15 in
+    wxPAPER_LETTER_EXTRA,       ///<  Letter Extra 9.5 x 12 in
+    wxPAPER_LEGAL_EXTRA,        ///<  Legal Extra 9.5 x 15 in
     wxPAPER_TABLOID_EXTRA,      ///<  Tabloid Extra 11.69 x 18 in
     wxPAPER_A4_EXTRA,           ///<  A4 Extra 9.27 x 12.69 in
-    wxPAPER_LETTER_TRANSVERSE,  ///<  Letter Transverse 8 \275 x 11 in
+    wxPAPER_LETTER_TRANSVERSE,  ///<  Letter Transverse 8.5 x 11 in
     wxPAPER_A4_TRANSVERSE,      ///<  A4 Transverse 210 x 297 mm
-    wxPAPER_LETTER_EXTRA_TRANSVERSE, ///<  Letter Extra Transverse 9\275 x 12 in
+    wxPAPER_LETTER_EXTRA_TRANSVERSE, ///<  Letter Extra Transverse 9.5 x 12 in
     wxPAPER_A_PLUS,             ///<  SuperA/SuperA/A4 227 x 356 mm
     wxPAPER_B_PLUS,             ///<  SuperB/SuperB/A3 305 x 487 mm
     wxPAPER_LETTER_PLUS,        ///<  Letter Plus 8.5 x 12.69 in
@@ -180,7 +180,7 @@ enum wxPaperSize
 };
 
 
-/** @ingroup group_funcmacro_byteorder */
+/** @addtogroup group_funcmacro_byteorder */
 //@{
 
 /**
@@ -190,14 +190,14 @@ enum wxPaperSize
 
     @header{wx/defs.h}
 */
-#define wxINT32_SWAP_ALWAYS( wxInt32 value )
-#define wxUINT32_SWAP_ALWAYS( wxUint32 value )
-#define wxINT16_SWAP_ALWAYS( wxInt16 value )
-#define wxUINT16_SWAP_ALWAYS( wxUint16 value )
+#define wxINT32_SWAP_ALWAYS( wxInt32_value )
+#define wxUINT32_SWAP_ALWAYS( wxUint32_value )
+#define wxINT16_SWAP_ALWAYS( wxInt16_value )
+#define wxUINT16_SWAP_ALWAYS( wxUint16_value )
 
 //@}
 
-/** @ingroup group_funcmacro_byteorder */
+/** @addtogroup group_funcmacro_byteorder */
 //@{
 
 /**
@@ -211,14 +211,14 @@ enum wxPaperSize
 
     @header{wx/defs.h}
 */
-#define wxINT32_SWAP_ON_BE( wxInt32 value )
-#define wxUINT32_SWAP_ON_BE( wxUint32 value )
-#define wxINT16_SWAP_ON_BE( wxInt16 value )
-#define wxUINT16_SWAP_ON_BE( wxUint16 value )
+#define wxINT32_SWAP_ON_BE( wxInt32_value )
+#define wxUINT32_SWAP_ON_BE( wxUint32_value )
+#define wxINT16_SWAP_ON_BE( wxInt16_value )
+#define wxUINT16_SWAP_ON_BE( wxUint16_value )
 
 //@}
 
-/** @ingroup group_funcmacro_byteorder */
+/** @addtogroup group_funcmacro_byteorder */
 //@{
 
 /**
@@ -232,16 +232,16 @@ enum wxPaperSize
 
     @header{wx/defs.h}
 */
-#define wxINT32_SWAP_ON_LE( wxInt32 value )
-#define wxUINT32_SWAP_ON_LE( wxUint32 value )
-#define wxINT16_SWAP_ON_LE( wxInt16 value )
-#define wxUINT16_SWAP_ON_LE( wxUint16 value )
+#define wxINT32_SWAP_ON_LE( wxInt32_value )
+#define wxUINT32_SWAP_ON_LE( wxUint32_value )
+#define wxINT16_SWAP_ON_LE( wxInt16_value )
+#define wxUINT16_SWAP_ON_LE( wxUint16_value )
 
 //@}
 
 
 
-/** @ingroup group_funcmacro_misc */
+/** @addtogroup group_funcmacro_misc */
 //@{
 
 /**
@@ -290,6 +290,56 @@ enum wxPaperSize
  */
 #define DECLARE_NO_COPY_CLASS(classname)
 
+/**
+    Equivalent of DECLARE_NO_COPY_CLASS() for template classes.
+
+    This macro can be used for template classes (with a single template
+    parameter) for the same purpose as DECLARE_NO_COPY_CLASS() is used with the
+    non-template classes.
+
+    @param classname The name of the template class.
+    @param arg The name of the template parameter.
+ */
+#define DECLARE_NO_COPY_TEMPLATE_CLASS(classname, arg)
+
+/**
+    A function which deletes and nulls the pointer.
+
+    This function uses operator delete to free the pointer and also sets it to
+    @NULL. Notice that this does @em not work for arrays, use wxDELETEA() for
+    them.
+
+    @code
+        MyClass *ptr = new MyClass;
+        ...
+        wxDELETE(ptr);
+        wxASSERT(!ptr);
+    @endcode
+
+    @header{wx/defs.h}
+*/
+template <typename T> wxDELETE(T*& ptr);
+
+/**
+    A function which deletes and nulls the pointer.
+
+    This function uses vector operator delete (@c delete[]) to free the array
+    pointer and also sets it to @NULL. Notice that this does @em not work for
+    non-array pointers, use wxDELETE() for them.
+
+    @code
+        MyClass *array = new MyClass[17];
+        ...
+        wxDELETEA(array);
+        wxASSERT(!array);
+    @endcode
+
+    @see wxDELETE()
+
+    @header{wx/defs.h}
+*/
+template <typename T> wxDELETEA(T*& array);
+
 /**
     This macro can be used around a function declaration to generate warnings
     indicating that this function is deprecated (i.e. obsolete and planned to
@@ -390,6 +440,25 @@ enum wxPaperSize
 */
 #define wxSUPPRESS_GCC_PRIVATE_DTOR_WARNING(name)
 
+/**
+    Swaps the contents of two variables.
+
+    This is similar to std::swap() but can be used even on the platforms where
+    the standard C++ library is not available (if you don't target such
+    platforms, please use std::swap() instead).
+
+    The function relies on type T being copy constructible and assignable.
+
+    Example of use:
+    @code
+        int x = 3,
+            y = 4;
+        wxSwap(x, y);
+        wxASSERT( x == 4 && y == 3 );
+    @endcode
+ */
+template <typename T> wxSwap(T& first, T& second);
+
 /**
     This macro is the same as the standard C99 @c va_copy for the compilers
     which support it or its replacement for those that don't. It must be used