]> git.saurik.com Git - wxWidgets.git/commitdiff
Added various MACROS for converting strings
authorRobert Roebling <robert@roebling.de>
Mon, 5 Aug 2002 17:57:53 +0000 (17:57 +0000)
committerRobert Roebling <robert@roebling.de>
Mon, 5 Aug 2002 17:57:53 +0000 (17:57 +0000)
    back and forth in the different ansi/unicode/gtk
    mode/versions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gtk/private.h
include/wx/gtk1/private.h

index 93ea5878c49002ea1c05cacc3686f35b1342a30c..877dd4b56191de5cb0f55a2020b95c61fbd311c4 100644 (file)
     #define GTK_CHECK_VERSION(a, b, c) 0
 #endif
 
-// GTK+ 2.0 compatibility define is broken when used from C++ as it casts enum
-// to int implicitly
+#ifdef __WXGTK20__
+#if wxUSE_UNICODE
+    #define wxGTK_CONV(s) wxConvUTF8.cWX2MB(s)
+    #define wxGTK_CONV_BACK(s) wxConvUTF8.cMB2WX(s)
+#else
+    #define wxGTK_CONV(s) wxConvUTF8.cWC2MB( wxConvLocal.cWX2WC(s) )
+    #define wxGTK_CONV_BACK(s)  wxConvLocal.cWC2WX( (wxConvUTF8.cMB2WC( s ) ) )
+#endif
+#else
+    #define wxGTK_CONV(s) s.c_str()
+    #define wxGTK_CONV_BACK(s) s
+#endif
+
+
+// GTK+ 2.0 compatibility define is broken when used from C++ as it
+// casts enum to int implicitly
 #ifdef __WXGTK20__
     #undef gtk_signal_disconnect_by_func
     #define gtk_signal_disconnect_by_func(object,func,data) \
index 93ea5878c49002ea1c05cacc3686f35b1342a30c..877dd4b56191de5cb0f55a2020b95c61fbd311c4 100644 (file)
     #define GTK_CHECK_VERSION(a, b, c) 0
 #endif
 
-// GTK+ 2.0 compatibility define is broken when used from C++ as it casts enum
-// to int implicitly
+#ifdef __WXGTK20__
+#if wxUSE_UNICODE
+    #define wxGTK_CONV(s) wxConvUTF8.cWX2MB(s)
+    #define wxGTK_CONV_BACK(s) wxConvUTF8.cMB2WX(s)
+#else
+    #define wxGTK_CONV(s) wxConvUTF8.cWC2MB( wxConvLocal.cWX2WC(s) )
+    #define wxGTK_CONV_BACK(s)  wxConvLocal.cWC2WX( (wxConvUTF8.cMB2WC( s ) ) )
+#endif
+#else
+    #define wxGTK_CONV(s) s.c_str()
+    #define wxGTK_CONV_BACK(s) s
+#endif
+
+
+// GTK+ 2.0 compatibility define is broken when used from C++ as it
+// casts enum to int implicitly
 #ifdef __WXGTK20__
     #undef gtk_signal_disconnect_by_func
     #define gtk_signal_disconnect_by_func(object,func,data) \