]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/textctrl.cpp
get rid of several dozen of warnings when using g++ >= 4.2 about string literals...
[wxWidgets.git] / src / gtk / textctrl.cpp
index 3dc367da3e27bb72d7043640c8f17056ce1ac9f1..7e5b5f5472b761bfa86711b3d290f2e9f38b6317 100644 (file)
@@ -955,6 +955,22 @@ void wxTextCtrl::DoSetValue( const wxString &value, int flags )
         return;
     }
 
+    if (value.IsEmpty())
+    {
+        if ( !(flags & SetValue_SendEvent) )
+            EnableTextChangedEvents(false);
+        
+        gtk_text_buffer_set_text( m_buffer, "", 0 );
+            
+        if ( !(flags & SetValue_SendEvent) )
+            EnableTextChangedEvents(true);
+            
+        return;
+    }
+
+#ifdef wxUSE_UNICODE
+    const wxCharBuffer buffer(value.utf8_str());
+#else
     wxFontEncoding enc = m_defaultStyle.HasFont()
                             ? m_defaultStyle.GetFont().GetEncoding()
                             : wxFONTENCODING_SYSTEM;
@@ -969,6 +985,7 @@ void wxTextCtrl::DoSetValue( const wxString &value, int flags )
         wxLogWarning(_("Failed to set text in the text control."));
         return;
     }
+#endif
 
     if ( !(flags & SetValue_SendEvent) )
     {
@@ -1007,6 +1024,9 @@ void wxTextCtrl::WriteText( const wxString &text )
         return;
     }
 
+#ifdef wxUSE_UNICODE
+    const wxCharBuffer buffer(text.utf8_str());
+#else
     // check if we have a specific style for the current position
     wxFontEncoding enc = wxFONTENCODING_SYSTEM;
     wxTextAttr style;
@@ -1027,6 +1047,7 @@ void wxTextCtrl::WriteText( const wxString &text )
         wxLogWarning(_("Failed to insert text in the control."));
         return;
     }
+#endif
 
     // First remove the selection if there is one
     // TODO:  Is there an easier GTK specific way to do this?