if (!HasFlag(wxNO_BORDER))
gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW(m_widget), GTK_SHADOW_IN );
+
+ GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS );
#else
// create our control ...
m_text = gtk_text_new( (GtkAdjustment *) NULL, (GtkAdjustment *) NULL );
m_focusWidget = m_text;
PostCreation();
-
- SetFont( parent->GetFont() );
+ InheritAttributes();
wxSize size_best( DoGetBestSize() );
wxSize new_size( size );
else
#endif
{
- gtk_signal_connect( GTK_OBJECT(m_text), "changed",
- GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this);
+ 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
gtk_editable_delete_selection( GTK_EDITABLE(m_text) );
wxGtkTextInsert(m_text, m_defaultStyle, text.c_str(), text.Len());
+ // we called wxGtkTextInsert with correct font, no need to do anything
+ // in UpdateFontIfNeeded() any longer
+ if ( !text.empty() )
+ {
+ m_updateFont = FALSE;
+ }
+
// Bring editable's cursor back uptodate.
SET_EDITABLE_POS(m_text, gtk_text_get_point( GTK_TEXT(m_text) ));
#endif // GTK 1.x/2.0
return buf;
}
else
-#endif
{
return wxEmptyString;
}
+#else
+ GtkTextBuffer *text_buffer;
+ text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(m_text));
+ GtkTextIter line;
+ gtk_text_buffer_get_iter_at_line(text_buffer,&line,lineNo);
+ GtkTextIter end;
+ gtk_text_buffer_get_end_iter(text_buffer,&end );
+ gchar *text = gtk_text_buffer_get_text(text_buffer,&line,&end,TRUE);
+ wxString result(wxGTK_CONV_BACK(text));
+ g_free(text);
+ return result.BeforeFirst(wxT('\n'));
+#endif
}
else
{