Witam.
Mam problem z pewnym kodem w GTk. Program nie chce pobrać ciągu znaków poprzez GtkTekstView:
Czytając dokumentacje GTK znalazłem funkcję, która pozwala wyciągnąć tekst z bufora.
gtk_text_buffer_get_text().
Przeczytałem też że będę potrzebował iterałów które będą przechowywały zakres tekstu i od tego jest funkcja:
gtk_text_buffer_get_seart/end_iter()
Tylko chyba źle tego używam bo mi nie pobiera tego tekstu z Gtktekstview:
void tekst()
{
GtkWidget * okno;
GtkWidget * textView;
GtkTextBuffer * bufor;
GtkTextIter iter;
gchar * tekst;
GtkTextIter its;
GtkTextIter itk;
okno = gtk_window_new( GTK_WINDOW_TOPLEVEL );
gtk_window_set_position( GTK_WINDOW( okno ), GTK_WIN_POS_CENTER );
gtk_window_set_default_size( GTK_WINDOW( okno ), 250, 200 );
gtk_window_set_title( GTK_WINDOW( okno ), "GTK");
gtk_container_set_border_width( GTK_CONTAINER( okno ), 10 );
gtk_text_buffer_get_end_iter( bufor, & itk );
gtk_text_buffer_get_start_iter( bufor, & its );
textView = gtk_text_view_new();
bufor = gtk_text_view_get_buffer( GTK_TEXT_VIEW( textView ) );
gtk_container_add( GTK_CONTAINER( okno ), textView );
tekst = gtk_text_buffer_get_text( bufor, & its, & itk, FALSE );
cout << "x= " << tekst << endl;
g_signal_connect( G_OBJECT( okno ), "destroy", G_CALLBACK( gtk_main_quit ), NULL );
gtk_widget_show_all( okno );
}
Jeśli ktoś tu zna się na GTK to proszę o sprawdzenie tego kodu