]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/textctrl.cpp
handle style changes correctly in GtkPizza
[wxWidgets.git] / src / gtk / textctrl.cpp
index d36febec6b427f71dd503c3592d7ea0b0613ad17..2d5b6460a5d7a1c651250556fe875bbbecb90585 100644 (file)
@@ -424,6 +424,26 @@ bool wxTextCtrl::Create( wxWindow *parent,
 #endif
     }
 
+#ifdef __WXGTK20__
+    if (multi_line)
+    {
+        if (style & wxTE_RIGHT)
+            gtk_text_view_set_justification( GTK_TEXT_VIEW(m_text), GTK_JUSTIFY_RIGHT );
+        else if (style & wxTE_CENTRE)
+            gtk_text_view_set_justification( GTK_TEXT_VIEW(m_text), GTK_JUSTIFY_CENTER );
+        // Left justify (alignment) is the default and we don't need to apply GTK_JUSTIFY_LEFT
+    }
+    // gtk_entry_set_alignment was introduced in gtk+-2.3.5
+#if GTK_CHECK_VERSION(2, 3, 5)
+    else
+    {
+        if (style & wxTE_RIGHT)
+            gtk_entry_set_alignment( GTK_ENTRY(m_text), 1.0 );
+        else if (style & wxTE_CENTRE)
+            gtk_entry_set_alignment( GTK_ENTRY(m_text), 0.5 );
+    }
+#endif // gtk+-2.3.5
+#endif // __WXGTK20__
     
     // We want to be notified about text changes.
 #ifdef __WXGTK20__
@@ -543,7 +563,7 @@ void wxTextCtrl::SetValue( const wxString &value )
     }
 
     // GRG, Jun/2000: Changed this after a lot of discussion in
-    //   the lists. wxWindows 2.2 will have a set of flags to
+    //   the lists. wxWidgets 2.2 will have a set of flags to
     //   customize this behaviour.
     SetInsertionPoint(0);
 
@@ -1515,10 +1535,9 @@ bool wxTextCtrl::SetStyle( long start, long end, const wxTextAttr& style )
     }
 }
 
-void wxTextCtrl::ApplyWidgetStyle()
+void wxTextCtrl::DoApplyWidgetStyle(GtkRcStyle *style)
 {
-    SetWidgetStyle();
-    gtk_widget_set_style( m_text, m_widgetStyle );
+    gtk_widget_modify_style(m_text, style);
 }
 
 void wxTextCtrl::OnCut(wxCommandEvent& WXUNUSED(event))