X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/055e633de60a9f08d5d4f9826c323d280fb46085..03a2f00c1a15b3cf30492ebf091f870a0089186f:/src/gtk1/textctrl.cpp diff --git a/src/gtk1/textctrl.cpp b/src/gtk1/textctrl.cpp index 648fdab6a5..d36febec6b 100644 --- a/src/gtk1/textctrl.cpp +++ b/src/gtk1/textctrl.cpp @@ -303,7 +303,7 @@ bool wxTextCtrl::Create( wxWindow *parent, gtk_container_add( GTK_CONTAINER(m_widget), m_text ); // Global settings which can be overridden by tags, I guess. - if (HasFlag( wxHSCROLL )) + if (HasFlag( wxHSCROLL ) || HasFlag( wxTE_DONTWRAP )) gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( m_text ), GTK_WRAP_NONE ); else gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( m_text ), GTK_WRAP_WORD ); @@ -348,17 +348,7 @@ bool wxTextCtrl::Create( wxWindow *parent, m_focusWidget = m_text; - PostCreation(); - InheritAttributes(); - - wxSize size_best( DoGetBestSize() ); - wxSize new_size( size ); - if (new_size.x == -1) - new_size.x = size_best.x; - if (new_size.y == -1) - new_size.y = size_best.y; - if ((new_size.x != size.x) || (new_size.y != size.y)) - SetSize( new_size.x, new_size.y ); + PostCreation(size); if (multi_line) gtk_widget_show(m_text); @@ -425,16 +415,16 @@ bool wxTextCtrl::Create( wxWindow *parent, #ifdef __WXGTK20__ else gtk_text_view_set_editable( GTK_TEXT_VIEW( m_text), FALSE); - } #else } else { if (multi_line) gtk_text_set_editable( GTK_TEXT(m_text), 1 ); - } #endif + } + // We want to be notified about text changes. #ifdef __WXGTK20__ if (multi_line) @@ -444,28 +434,21 @@ bool wxTextCtrl::Create( wxWindow *parent, } else #endif + { gtk_signal_connect( GTK_OBJECT(m_text), "changed", GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this); } - // we don't set a valid background colour, because the window - // manager should use a default one - m_backgroundColour = wxColour(); - - wxColour colFg = parent->GetForegroundColour(); - SetForegroundColour( colFg ); - m_cursor = wxCursor( wxCURSOR_IBEAM ); - wxTextAttr attrDef( colFg, m_backgroundColour, parent->GetFont() ); + wxTextAttr attrDef(GetForegroundColour(), GetBackgroundColour(), GetFont()); SetDefaultStyle( attrDef ); - Show( TRUE ); - return TRUE; } + void wxTextCtrl::CalculateScrollbar() { #ifndef __WXGTK20__ @@ -1534,15 +1517,8 @@ bool wxTextCtrl::SetStyle( long start, long end, const wxTextAttr& style ) void wxTextCtrl::ApplyWidgetStyle() { - if (m_windowStyle & wxTE_MULTILINE) - { - // how ? - } - else - { - SetWidgetStyle(); - gtk_widget_set_style( m_text, m_widgetStyle ); - } + SetWidgetStyle(); + gtk_widget_set_style( m_text, m_widgetStyle ); } void wxTextCtrl::OnCut(wxCommandEvent& WXUNUSED(event)) @@ -1736,3 +1712,10 @@ bool wxTextCtrl::ScrollPages(int pages) #endif } + +// static +wxVisualAttributes +wxTextCtrl::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) +{ + return GetDefaultAttributesFromGTKWidget(gtk_entry_new, true); +}