]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/chartype.h
synchronize GTK2 minimum version in docs
[wxWidgets.git] / interface / wx / chartype.h
index 474cfd044dbe2692227ac67fe2c043c87673ae64..f67471002091e35dfb54afd660908dfbf01396b2 100644 (file)
@@ -3,10 +3,10 @@
 // Purpose:     interface of global functions
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of global functions
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /////////////////////////////////////////////////////////////////////////////
 
-/** @ingroup group_funcmacro_string */
+/** @addtogroup group_funcmacro_string */
 //@{
 
 /**
 //@{
 
 /**
     builds of wxWidgets. This macro simply returns the value passed to it
     without changes in ASCII build. In fact, its definition is:
 
     builds of wxWidgets. This macro simply returns the value passed to it
     without changes in ASCII build. In fact, its definition is:
 
-@code
-#ifdef UNICODE
-#   define wxT(x)  L##x
-#else // !Unicode
-#   define wxT(x)  x
-#endif
-@endcode
+    @code
+    #ifdef UNICODE
+    #   define wxT(x)  L##x
+    #else // !Unicode
+    #   define wxT(x)  x
+    #endif
+    @endcode
+
+    Note that since wxWidgets 2.9.0 you shouldn't use wxT() anymore in your
+    program sources (it was previously required if you wanted to support Unicode).
 
     @see @ref overview_unicode, wxS()
 
 
     @see @ref overview_unicode, wxS()
 
 #define wxT(string)
 
 /**
 #define wxT(string)
 
 /**
-    wxS is macro which can be used with character and string literals (in other words,
-    @c 'x' or @c "foo") to either convert them to wide characters or wide strings
-    in @c wchar_t-based (UTF-16) builds or keep them unchanged in @c char-based
+    Compatibility macro which expands to wxT() in wxWidgets 2 only.
+
+    This macro can be used in code which needs to compile with both
+    wxWidgets 2 and 3 versions, in places where the wx2 API requires a Unicode string
+    (in Unicode build) but the wx3 API only accepts a standard narrow
+    string, as in e.g. wxCmdLineEntryDesc structure objects initializers.
+
+    Example of use:
+    @code
+    const wxCmdLineEntryDesc cmdLineDesc[] =
+    {
+        { wxCMD_LINE_SWITCH, wxT_2("q"), wxT_2("quiet"),
+          wxT_2("Don't output verbose messages") },
+        wxCMD_LINE_DESC_END
+    };
+    @endcode
+
+    Without @c wxT_2 the code above wouldn't compile with wxWidgets 2, but using @c
+    wxT instead, it wouldn't compile with wxWidgets 3.
+
+    @see wxT()
+
+    @since 2.8.12, 2.9.2
+
+    @header{wx/chartype.h}
+ */
+#define wxT_2(string)
+
+/**
+    wxS is a macro which can be used with character and string literals (in other words,
+    @c 'x' or @c "foo") to convert them either to wide characters or wide strings
+    in @c wchar_t-based (UTF-16) builds, or to keep them unchanged in @c char-based
     (UTF-8) builds.
 
     (UTF-8) builds.
 
+    Basically this macro produces characters or strings of type wxStringCharType.
+
     The use of this macro is optional as the translation will always be done at
     run-time even if there is a mismatch between the kind of the literal used
     and the string or character type used in the current build.
     The use of this macro is optional as the translation will always be done at
     run-time even if there is a mismatch between the kind of the literal used
     and the string or character type used in the current build.
 
     Don't confuse this macro with _()!
 
 
     Don't confuse this macro with _()!
 
+    Note that since wxWidgets 2.9.0 the use of _T() is discouraged just like
+    for wxT() and also that this macro may conflict with identifiers defined in
+    standard headers of some compilers (such as Sun CC) so its use should
+    really be avoided.
+
     @header{wx/chartype.h}
 */
 #define _T(string)
     @header{wx/chartype.h}
 */
 #define _T(string)
@@ -88,9 +127,11 @@ typedef wxUSE_UNICODE_dependent wxUChar;
 
     The @c wxUSE_UNICODE_WCHAR symbol is defined to @c 1 when building on
     Windows while it's defined to @c 0 when building on Unix, Linux or OS X.
 
     The @c wxUSE_UNICODE_WCHAR symbol is defined to @c 1 when building on
     Windows while it's defined to @c 0 when building on Unix, Linux or OS X.
+    (Note that @c wxUSE_UNICODE_UTF8 symbol is defined as the opposite of
+    @c wxUSE_UNICODE_WCHAR.)
 
 
-    Note that wxStringCharType is the type used by wxString for internal storage
-    of the characters.
+    Note that wxStringCharType (as the name says) is the type used by wxString
+    for internal storage of the characters.
 */
 typedef wxUSE_UNICODE_WCHAR_dependent wxStringCharType;
 
 */
 typedef wxUSE_UNICODE_WCHAR_dependent wxStringCharType;