]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/private.h
use wxUin32 for wxUniChar::value_type: we need 32bit for it regardless of the platform
[wxWidgets.git] / include / wx / motif / private.h
index 315899ffaa46bdaf1f69bd9d51f162ee500de84b..c19974fbe4f28eff27ab1a3cbbc922640e99a959 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        private.h
+// Name:        wx/motif/private.h
 // Purpose:     Private declarations for wxMotif port
 // Author:      Julian Smart
 // Modified by:
@@ -55,11 +55,11 @@ WXWidget wxCreateBorderWidget( WXWidget parent, long style );
 // ----------------------------------------------------------------------------
 
 // All widgets should have this as their resize proc.
-extern void wxWidgetResizeProc(Widget w, XConfigureEvent *event, 
+extern void wxWidgetResizeProc(Widget w, XConfigureEvent *event,
                                String args[], int *num_args);
 
 // For repainting arbitrary windows
-void wxUniversalRepaintProc(Widget w, XtPointer WXUNUSED(c_data), 
+void wxUniversalRepaintProc(Widget w, XtPointer WXUNUSED(c_data),
                             XEvent *event, char *);
 
 // ----------------------------------------------------------------------------
@@ -131,27 +131,36 @@ XmString wxStringToXmString( const char* string );
 // cleaning up automatically)
 class wxXmString
 {
+    void Init(const char *str)
+    {
+        m_string = XmStringCreateLtoR((char *)str, XmSTRING_DEFAULT_CHARSET);
+    }
+
 public:
     wxXmString(const char* str)
     {
-        m_string = XmStringCreateLtoR((char *)str, XmSTRING_DEFAULT_CHARSET);
+        Init(str);
     }
 
     wxXmString(const wxString& str)
     {
-        m_string = XmStringCreateLtoR((char *)str.c_str(),
-            XmSTRING_DEFAULT_CHARSET);
+        Init(str.mb_str());
+    }
+
+    wxXmString(const wxCStrData& str)
+    {
+        Init(str);
     }
 
     // just to avoid calling XmStringFree()
     wxXmString(const XmString& string) { m_string = string; }
 
     ~wxXmString() { XmStringFree(m_string); }
-    
+
     // semi-implicit conversion to XmString (shouldn't rely on implicit
     // conversion because many of Motif functions are macros)
     XmString operator()() const { return m_string; }
-    
+
 private:
     XmString m_string;
 };