From 53e7289f8c4f820e2ba006bb4ac51f967802427d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 29 Apr 2005 14:42:41 +0000 Subject: [PATCH] Add some more attribute tests. 2005-04-29 Matthias Clasen * tests/testtext.c: Add some more attribute tests. --- ChangeLog | 2 + ChangeLog.pre-2-10 | 2 + ChangeLog.pre-2-8 | 2 + tests/testtext.c | 130 ++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 135 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 2962304f04..652fd5d737 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2005-04-29 Matthias Clasen + * tests/testtext.c: Add some more attribute tests. + * gtk/gtktexttag.c (gtk_text_tag_class_init): Correct the documentation of the rise property. String change, but it is more important to be correct than to be translated. (#301740) diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 2962304f04..652fd5d737 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,7 @@ 2005-04-29 Matthias Clasen + * tests/testtext.c: Add some more attribute tests. + * gtk/gtktexttag.c (gtk_text_tag_class_init): Correct the documentation of the rise property. String change, but it is more important to be correct than to be translated. (#301740) diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 2962304f04..652fd5d737 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,5 +1,7 @@ 2005-04-29 Matthias Clasen + * tests/testtext.c: Add some more attribute tests. + * gtk/gtktexttag.c (gtk_text_tag_class_init): Correct the documentation of the rise property. String change, but it is more important to be correct than to be translated. (#301740) diff --git a/tests/testtext.c b/tests/testtext.c index a33c90703d..85d312c5ba 100644 --- a/tests/testtext.c +++ b/tests/testtext.c @@ -28,6 +28,10 @@ struct _Buffer GtkTextTag *invisible_tag; GtkTextTag *not_editable_tag; GtkTextTag *found_text_tag; + GtkTextTag *rise_tag; + GtkTextTag *large_tag; + GtkTextTag *indent_tag; + GtkTextTag *margin_tag; GtkTextTag *custom_tabs_tag; GSList *color_tags; guint color_cycle_timeout; @@ -1033,6 +1037,114 @@ do_apply_invisible (gpointer callback_data, } } +static void +do_apply_rise (gpointer callback_data, + guint callback_action, + GtkWidget *widget) +{ + View *view = view_from_widget (widget); + GtkTextIter start; + GtkTextIter end; + + if (gtk_text_buffer_get_selection_bounds (view->buffer->buffer, + &start, &end)) + { + if (callback_action) + { + gtk_text_buffer_remove_tag (view->buffer->buffer, + view->buffer->rise_tag, + &start, &end); + } + else + { + gtk_text_buffer_apply_tag (view->buffer->buffer, + view->buffer->rise_tag, + &start, &end); + } + } +} + +static void +do_apply_large (gpointer callback_data, + guint callback_action, + GtkWidget *widget) +{ + View *view = view_from_widget (widget); + GtkTextIter start; + GtkTextIter end; + + if (gtk_text_buffer_get_selection_bounds (view->buffer->buffer, + &start, &end)) + { + if (callback_action) + { + gtk_text_buffer_remove_tag (view->buffer->buffer, + view->buffer->large_tag, + &start, &end); + } + else + { + gtk_text_buffer_apply_tag (view->buffer->buffer, + view->buffer->large_tag, + &start, &end); + } + } +} + +static void +do_apply_indent (gpointer callback_data, + guint callback_action, + GtkWidget *widget) +{ + View *view = view_from_widget (widget); + GtkTextIter start; + GtkTextIter end; + + if (gtk_text_buffer_get_selection_bounds (view->buffer->buffer, + &start, &end)) + { + if (callback_action) + { + gtk_text_buffer_remove_tag (view->buffer->buffer, + view->buffer->indent_tag, + &start, &end); + } + else + { + gtk_text_buffer_apply_tag (view->buffer->buffer, + view->buffer->indent_tag, + &start, &end); + } + } +} + +static void +do_apply_margin (gpointer callback_data, + guint callback_action, + GtkWidget *widget) +{ + View *view = view_from_widget (widget); + GtkTextIter start; + GtkTextIter end; + + if (gtk_text_buffer_get_selection_bounds (view->buffer->buffer, + &start, &end)) + { + if (callback_action) + { + gtk_text_buffer_remove_tag (view->buffer->buffer, + view->buffer->margin_tag, + &start, &end); + } + else + { + gtk_text_buffer_apply_tag (view->buffer->buffer, + view->buffer->margin_tag, + &start, &end); + } + } +} + static void do_apply_tabs (gpointer callback_data, guint callback_action, @@ -1555,6 +1667,10 @@ static GtkItemFactoryEntry menu_items[] = { "/Attributes/Not editable", NULL, do_apply_editable, FALSE, NULL }, { "/Attributes/Invisible", NULL, do_apply_invisible, FALSE, NULL }, { "/Attributes/Visible", NULL, do_apply_invisible, TRUE, NULL }, + { "/Attributes/Rise", NULL, do_apply_rise, FALSE, NULL }, + { "/Attributes/Large", NULL, do_apply_large, FALSE, NULL }, + { "/Attributes/Indent", NULL, do_apply_indent, FALSE, NULL }, + { "/Attributes/Margins", NULL, do_apply_margin, FALSE, NULL }, { "/Attributes/Custom tabs", NULL, do_apply_tabs, FALSE, NULL }, { "/Attributes/Default tabs", NULL, do_apply_tabs, TRUE, NULL }, { "/Attributes/Color cycles", NULL, do_apply_colors, TRUE, NULL }, @@ -1746,7 +1862,7 @@ create_buffer (void) ++i; } -#if 0 +#if 1 buffer->invisible_tag = gtk_text_buffer_create_tag (buffer->buffer, NULL, "invisible", TRUE, NULL); #endif @@ -1759,6 +1875,18 @@ create_buffer (void) buffer->found_text_tag = gtk_text_buffer_create_tag (buffer->buffer, NULL, "foreground", "red", NULL); + buffer->rise_tag = gtk_text_buffer_create_tag (buffer->buffer, NULL, + "rise", 10 * PANGO_SCALE, NULL); + + buffer->large_tag = gtk_text_buffer_create_tag (buffer->buffer, NULL, + "scale", PANGO_SCALE_X_LARGE, NULL); + + buffer->indent_tag = gtk_text_buffer_create_tag (buffer->buffer, NULL, + "indent", 20, NULL); + + buffer->margin_tag = gtk_text_buffer_create_tag (buffer->buffer, NULL, + "left_margin", 20, "right_margin", 20, NULL); + tabs = pango_tab_array_new_with_positions (4, TRUE, PANGO_TAB_LEFT, 10,