How can I print (for example in a label) the text into a GtkTextView? For GtkLabel and GtkEntry there are gtk_label_get_text() and gtk_entry_get_text(), but for GtkTextView?
Asked
Active
Viewed 5,618 times
3 Answers
5
Based on doublep's answer, for quick copy/paste:
char *get_text_of_textview(GtkWidget *text_view) {
GtkTextIter start, end;
GtkTextBuffer *buffer = gtk_text_view_get_buffer((GtkTextView *)text_view);
gchar *text;
gtk_text_buffer_get_bounds(buffer, &start, &end);
text = gtk_text_buffer_get_text(buffer, &start, &end, FALSE);
return text;
}

kungfooman
- 4,473
- 1
- 44
- 33
4
You can:
GtkTextIter start, end;
GtkTextBuffer *buffer = gtk_text_view_get_buffer (text_view);
gchar *text;
gtk_text_buffer_get_bounds (buffer, &start, &end);
text = gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
Don't forget to g_free (text)
when no longer needed.
-
1`gchar` is the same as `char`, so you can use `char*` just as well. – May 14 '10 at 19:49
2
Just for you people from Google, this is the way it's done in python:
def getText(textview):
buffer = textview.get_buffer()
startIter, endIter = buffer.get_bounds()
text = buffer.get_text(startIter, endIter, False)
return text

Standard
- 1,450
- 17
- 35