From a61bbf8767c15d3b2f5170223684d62270322594 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Fri, 15 Aug 2003 08:17:03 +0000 Subject: [PATCH] Applied patch2 of [ 703990 ] attrib support in wxGTK2 textctrl git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22908 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/textctrl.cpp | 24 ++++++------------------ src/gtk1/textctrl.cpp | 24 ++++++------------------ 2 files changed, 12 insertions(+), 36 deletions(-) diff --git a/src/gtk/textctrl.cpp b/src/gtk/textctrl.cpp index 8e07499441..7ae4bda8cb 100644 --- a/src/gtk/textctrl.cpp +++ b/src/gtk/textctrl.cpp @@ -68,28 +68,16 @@ static void wxGtkTextInsert(GtkWidget *text, ? attr.GetBackgroundColour().GetColor() : NULL; - GtkTextIter start, end; - GtkTextMark *mark; - // iterators are invalidated by any mutation that affects 'indexable' buffer contents, - // so we save current position in a mark - // we need a mark of left gravity, so we cannot use - // mark = gtk_text_buffer_get_insert (text_buffer) - - gtk_text_buffer_get_iter_at_mark( text_buffer, &start, - gtk_text_buffer_get_insert (text_buffer) ); - mark = gtk_text_buffer_create_mark( text_buffer, NULL, &start, TRUE/*left gravity*/ ); - - gtk_text_buffer_insert_at_cursor( text_buffer, buffer, strlen(buffer) ); - - gtk_text_buffer_get_iter_at_mark( text_buffer, &end, - gtk_text_buffer_get_insert (text_buffer) ); - gtk_text_buffer_get_iter_at_mark( text_buffer, &start, mark ); - GtkTextTag *tag; tag = gtk_text_buffer_create_tag( text_buffer, NULL, "font-desc", font_description, "foreground-gdk", colFg, "background-gdk", colBg, NULL ); - gtk_text_buffer_apply_tag( text_buffer, tag, &start, &end ); + + GtkTextIter iter; + gtk_text_buffer_get_iter_at_mark( text_buffer, &iter, + gtk_text_buffer_get_insert (text_buffer) ); + + gtk_text_buffer_insert_with_tags( text_buffer, &iter, buffer, strlen(buffer), tag, NULL ); } #else static void wxGtkTextInsert(GtkWidget *text, diff --git a/src/gtk1/textctrl.cpp b/src/gtk1/textctrl.cpp index 8e07499441..7ae4bda8cb 100644 --- a/src/gtk1/textctrl.cpp +++ b/src/gtk1/textctrl.cpp @@ -68,28 +68,16 @@ static void wxGtkTextInsert(GtkWidget *text, ? attr.GetBackgroundColour().GetColor() : NULL; - GtkTextIter start, end; - GtkTextMark *mark; - // iterators are invalidated by any mutation that affects 'indexable' buffer contents, - // so we save current position in a mark - // we need a mark of left gravity, so we cannot use - // mark = gtk_text_buffer_get_insert (text_buffer) - - gtk_text_buffer_get_iter_at_mark( text_buffer, &start, - gtk_text_buffer_get_insert (text_buffer) ); - mark = gtk_text_buffer_create_mark( text_buffer, NULL, &start, TRUE/*left gravity*/ ); - - gtk_text_buffer_insert_at_cursor( text_buffer, buffer, strlen(buffer) ); - - gtk_text_buffer_get_iter_at_mark( text_buffer, &end, - gtk_text_buffer_get_insert (text_buffer) ); - gtk_text_buffer_get_iter_at_mark( text_buffer, &start, mark ); - GtkTextTag *tag; tag = gtk_text_buffer_create_tag( text_buffer, NULL, "font-desc", font_description, "foreground-gdk", colFg, "background-gdk", colBg, NULL ); - gtk_text_buffer_apply_tag( text_buffer, tag, &start, &end ); + + GtkTextIter iter; + gtk_text_buffer_get_iter_at_mark( text_buffer, &iter, + gtk_text_buffer_get_insert (text_buffer) ); + + gtk_text_buffer_insert_with_tags( text_buffer, &iter, buffer, strlen(buffer), tag, NULL ); } #else static void wxGtkTextInsert(GtkWidget *text, -- 2.45.2