]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/textctrl.cpp
Add comments explaining the workaround for mingw 3.2.3
[wxWidgets.git] / src / gtk / textctrl.cpp
index d896b0403563d9e3d1f8bd387a3925edcc0fb1db..5ec85604f15d1f50a51eac443c850fa5eb3f25cc 100644 (file)
@@ -598,12 +598,27 @@ bool wxTextCtrl::Create( wxWindow *parent,
         gtk_container_add( GTK_CONTAINER(m_widget), m_text );
 
         // translate wx wrapping style to GTK+
+        GtkWrapMode wrap;
         if ( HasFlag( wxTE_DONTWRAP ) )
-            gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( m_text ), GTK_WRAP_NONE );
-        else if ( HasFlag( wxTE_LINEWRAP ) )
-            gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( m_text ), GTK_WRAP_CHAR );
-        else // HasFlag(wxTE_WORDWRAP) always true as wxTE_WORDWRAP == 0
-            gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( m_text ), GTK_WRAP_WORD_CHAR );
+            wrap = GTK_WRAP_NONE;
+        else if ( HasFlag( wxTE_CHARWRAP ) )
+            wrap = GTK_WRAP_CHAR;
+        else if ( HasFlag( wxTE_WORDWRAP ) )
+            wrap = GTK_WRAP_WORD;
+        else // HasFlag(wxTE_BESTWRAP) always true as wxTE_BESTWRAP == 0
+        {
+            // GTK_WRAP_WORD_CHAR seems to be new in GTK+ 2.4
+#ifdef __WXGTK24__
+            if ( !gtk_check_version(2,4,0) )
+            {
+                wrap = GTK_WRAP_WORD_CHAR;
+            }
+            else
+#endif
+            wrap = GTK_WRAP_WORD;
+        }
+
+        gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( m_text ), wrap );
 
         if (!HasFlag(wxNO_BORDER))
             gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW(m_widget), GTK_SHADOW_IN );