diff options
author | Yevgen Muntyan <muntyan@tamu.edu> | 2007-06-06 19:43:31 +0000 |
---|---|---|
committer | Yevgen Muntyan <muntyan@src.gnome.org> | 2007-06-06 19:43:31 +0000 |
commit | 2cbaeadf43ec960d42d35479bc0bdcb14b4741d0 (patch) | |
tree | baf0bc50a9c124ed1b1e158116a08a010efbef32 /tests/testtext.c | |
parent | ec32b2aaa3ea1c7162209e56bae950ff16def577 (diff) | |
download | gtk+-2cbaeadf43ec960d42d35479bc0bdcb14b4741d0.tar.gz |
new method, gtk_widget_modify_cursor() (#89314).
2007-06-06 Yevgen Muntyan <muntyan@tamu.edu>
* gtk/gtkwidget.c:
* gtk/gtkwidget.h: new method, gtk_widget_modify_cursor() (#89314).
* gtkrc.c:
* gtkrc.h: new functions _gtk_rc_style_set_rc_property() and
_gtk_rc_style_unset_rc_property().
* gtk/gtk.symbols: added gtk_widget_modify_cursor.
* tests/testtext.c (do_cursor_visible_changed):
* tests/testgtk.c (create_styles): test it.
svn path=/trunk/; revision=18066
Diffstat (limited to 'tests/testtext.c')
-rw-r--r-- | tests/testtext.c | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/tests/testtext.c b/tests/testtext.c index b1f6f532a0..af826b6ccc 100644 --- a/tests/testtext.c +++ b/tests/testtext.c @@ -984,13 +984,39 @@ do_editable_changed (gpointer callback_data, } static void +change_cursor_color (GtkWidget *widget, + gboolean set) +{ + if (set) + { + GdkColor red = {0, 65535, 0, 0}; + gtk_widget_modify_cursor (widget, &red, &red); + } + else + gtk_widget_modify_cursor (widget, NULL, NULL); +} + +static void do_cursor_visible_changed (gpointer callback_data, guint callback_action, GtkWidget *widget) { View *view = view_from_widget (widget); - gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (view->text_view), callback_action); + switch (callback_action) + { + case 0: + gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (view->text_view), FALSE); + break; + case 1: + gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (view->text_view), TRUE); + change_cursor_color (view->text_view, FALSE); + break; + case 2: + gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (view->text_view), TRUE); + change_cursor_color (view->text_view, TRUE); + break; + } } static void @@ -1946,8 +1972,9 @@ static GtkItemFactoryEntry menu_items[] = { "/Settings/Not editable", NULL, do_editable_changed, FALSE, "/Settings/Editable" }, { "/Settings/sep1", NULL, NULL, 0, "<Separator>" }, - { "/Settings/Cursor visible", NULL, do_cursor_visible_changed, TRUE, "<RadioItem>" }, - { "/Settings/Cursor not visible", NULL, do_cursor_visible_changed, FALSE, "/Settings/Cursor visible" }, + { "/Settings/Cursor normal", NULL, do_cursor_visible_changed, 1, "<RadioItem>" }, + { "/Settings/Cursor not visible", NULL, do_cursor_visible_changed, 0, "/Settings/Cursor normal" }, + { "/Settings/Cursor colored", NULL, do_cursor_visible_changed, 2, "/Settings/Cursor normal" }, { "/Settings/sep1", NULL, NULL, 0, "<Separator>" }, { "/Settings/Left-to-Right", NULL, do_direction_changed, GTK_TEXT_DIR_LTR, "<RadioItem>" }, |