Mercurial > dwindows
changeset 353:08e56a0f9541
dw_mle_set() now moves the viewport to the cursor location.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 17 Apr 2003 20:01:23 +0000 |
parents | feed7567764f |
children | 3a51ecc8383a |
files | gtk/dw.c |
diffstat | 1 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/gtk/dw.c Wed Apr 16 16:58:00 2003 +0000 +++ b/gtk/dw.c Thu Apr 17 20:01:23 2003 +0000 @@ -2241,6 +2241,7 @@ tmp = gtk_text_view_new(); gtk_container_add (GTK_CONTAINER(tmpbox), tmp); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(tmp), GTK_WRAP_NONE); + scroller = NULL; #else tmpbox = gtk_hbox_new(FALSE, 0); @@ -3210,10 +3211,20 @@ { GtkTextBuffer *tbuffer; GtkTextIter iter; + GtkTextMark *mark = (GtkTextMark *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_mark"); tbuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (tmp)); gtk_text_buffer_get_iter_at_offset(tbuffer, &iter, point); + if(!mark) + { + mark = gtk_text_buffer_create_mark(tbuffer, NULL, &iter, FALSE); + gtk_object_set_data(GTK_OBJECT(handle), "_dw_mark", (gpointer)mark); + } + else + gtk_text_buffer_move_mark(tbuffer, mark, &iter); gtk_text_buffer_place_cursor(tbuffer, &iter); + gtk_text_view_scroll_to_mark(GTK_TEXT_VIEW(tmp), mark, + 0, FALSE, 0, 0); } #else if(tmp && GTK_IS_TEXT(tmp))