diff options
author | Matthias Clasen <mclasen@redhat.com> | 2010-11-25 12:49:16 -0500 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2010-12-04 15:39:46 +0100 |
commit | 757837b611e4dfb746892ef102ec63062fffcb21 (patch) | |
tree | da0e172bad51458c227d4deec5225c99e0be8ca9 /tests/testgtk.c | |
parent | 9b1118a35db12cafa0f9587f8748eac232a624e0 (diff) | |
download | gtk+-757837b611e4dfb746892ef102ec63062fffcb21.tar.gz |
Make tests compile without using GtkStyle api
Diffstat (limited to 'tests/testgtk.c')
-rw-r--r-- | tests/testgtk.c | 119 |
1 files changed, 79 insertions, 40 deletions
diff --git a/tests/testgtk.c b/tests/testgtk.c index 29f5dc41ff..ddd5d9011d 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -399,7 +399,7 @@ create_composited_window (GtkWidget *widget) if (!window) { GtkWidget *event, *button; - GdkColor red; + GdkRGBA red; /* make the widgets */ button = gtk_button_new_with_label ("A Button"); @@ -411,8 +411,8 @@ create_composited_window (GtkWidget *widget) &window); /* put a red background on the window */ - gdk_color_parse ("red", &red); - gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &red); + gdk_rgba_parse ("red", &red); + gtk_widget_override_background_color (window, 0, &red); /* set our event box to have a fully-transparent background * drawn on it. currently there is no way to simply tell gtk @@ -1202,8 +1202,7 @@ create_button_box (GtkWidget *widget) static GtkWidget* new_pixbuf (char *filename, - GdkWindow *window, - GdkColor *background) + GdkWindow *window) { GtkWidget *widget; GdkPixbuf *pixbuf; @@ -1379,8 +1378,7 @@ create_toolbar (GtkWidget *widget) { GtkWidget *icon; - icon = new_pixbuf ("test.xpm", gtk_widget_get_window (window), - >k_widget_get_style (window)->bg[GTK_STATE_NORMAL]); + icon = new_pixbuf ("test.xpm", gtk_widget_get_window (window)); toolitem = gtk_tool_button_new (icon, create_toolbar_items[i].label); } if (create_toolbar_items[i].callback) @@ -1450,8 +1448,7 @@ make_toolbar (GtkWidget *window) toolitem = gtk_separator_tool_item_new (); continue; } - icon = new_pixbuf ("test.xpm", gtk_widget_get_window (window), - >k_widget_get_style (window)->bg[GTK_STATE_NORMAL]); + icon = new_pixbuf ("test.xpm", gtk_widget_get_window (window)); toolitem = gtk_tool_button_new (icon, make_toolbar_items[i].label); gtk_tool_item_set_tooltip_text (toolitem, make_toolbar_items[i].tooltip); if (make_toolbar_items[i].callback != NULL) @@ -2200,7 +2197,7 @@ create_rotated_text (GtkWidget *widget) if (!window) { - const GdkColor white = { 0, 0xffff, 0xffff, 0xffff }; + const GdkRGBA white = { 1.0, 1.0, 1.0, 1.0 }; GtkRequisition requisition; GtkWidget *content_area; GtkWidget *drawing_area; @@ -2225,7 +2222,7 @@ create_rotated_text (GtkWidget *widget) drawing_area = gtk_drawing_area_new (); gtk_box_pack_start (GTK_BOX (content_area), drawing_area, TRUE, TRUE, 0); - gtk_widget_modify_bg (drawing_area, GTK_STATE_NORMAL, &white); + gtk_widget_override_background_color (drawing_area, 0, &white); tile_pixbuf = gdk_pixbuf_new_from_file ("marble.xpm", NULL); @@ -2400,15 +2397,47 @@ grippy_button_press (GtkWidget *area, GdkEventButton *event, GdkWindowEdge edge) static gboolean grippy_draw (GtkWidget *area, cairo_t *cr, GdkWindowEdge edge) { - gtk_paint_resize_grip (gtk_widget_get_style (area), - cr, - gtk_widget_get_state (area), - area, - "statusbar", - edge, - 0, 0, - gtk_widget_get_allocated_width (area), - gtk_widget_get_allocated_height (area)); + GtkStyleContext *context; + GtkJunctionSides sides; + + switch (edge) + { + case GDK_WINDOW_EDGE_NORTH_WEST: + sides = GTK_JUNCTION_CORNER_TOPLEFT; + break; + case GDK_WINDOW_EDGE_NORTH: + sides = GTK_JUNCTION_TOP; + break; + case GDK_WINDOW_EDGE_NORTH_EAST: + sides = GTK_JUNCTION_CORNER_TOPRIGHT; + break; + case GDK_WINDOW_EDGE_WEST: + sides = GTK_JUNCTION_LEFT; + break; + case GDK_WINDOW_EDGE_EAST: + sides = GTK_JUNCTION_RIGHT; + break; + case GDK_WINDOW_EDGE_SOUTH_WEST: + sides = GTK_JUNCTION_CORNER_BOTTOMLEFT; + break; + case GDK_WINDOW_EDGE_SOUTH: + sides = GTK_JUNCTION_BOTTOM; + break; + case GDK_WINDOW_EDGE_SOUTH_EAST: + sides = GTK_JUNCTION_CORNER_BOTTOMRIGHT; + break; + } + + context = gtk_widget_get_style_context (area); + gtk_style_context_save (context); + gtk_style_context_add_class (context, "grip"); + gtk_style_context_set_junction_sides (context, sides); + gtk_render_handle (context, cr, + 0, 0, + gtk_widget_get_allocated_width (area), + gtk_widget_get_allocated_height (area)); + + gtk_style_context_restore (context); return TRUE; } @@ -2708,7 +2737,7 @@ create_pixbuf (GtkWidget *widget) gdk_window = gtk_widget_get_window (window); - pixbufwid = new_pixbuf ("test.xpm", gdk_window, NULL); + pixbufwid = new_pixbuf ("test.xpm", gdk_window); label = gtk_label_new ("Pixbuf\ntest"); box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); @@ -2720,7 +2749,7 @@ create_pixbuf (GtkWidget *widget) button = gtk_button_new (); gtk_box_pack_start (GTK_BOX (box2), button, FALSE, FALSE, 0); - pixbufwid = new_pixbuf ("test.xpm", gdk_window, NULL); + pixbufwid = new_pixbuf ("test.xpm", gdk_window); label = gtk_label_new ("Pixbuf\ntest"); box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); @@ -4148,13 +4177,14 @@ create_event_box (GtkWidget *widget) GtkWidget *label; GtkWidget *visible_window_check; GtkWidget *above_child_check; - GdkColor color; + GdkRGBA color; if (!window) { color.red = 0; - color.blue = 65535; + color.blue = 1; color.green = 0; + color.alpha = 1; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_screen (GTK_WINDOW (window), @@ -4169,7 +4199,7 @@ create_event_box (GtkWidget *widget) box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &color); + gtk_widget_override_background_color (window, 0, &color); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (box1), hbox, TRUE, FALSE, 0); @@ -4796,6 +4826,8 @@ cursor_draw (GtkWidget *widget, gpointer user_data) { int width, height; + GtkStyleContext *context; + GdkRGBA *bg; width = gtk_widget_get_allocated_width (widget); height = gtk_widget_get_allocated_height (widget); @@ -4808,7 +4840,10 @@ cursor_draw (GtkWidget *widget, cairo_rectangle (cr, 0, height / 2, width, height / 2); cairo_fill (cr); - gdk_cairo_set_source_color (cr, >k_widget_get_style (widget)->bg[GTK_STATE_NORMAL]); + context = gtk_widget_get_style_context (widget); + gtk_style_context_get (context, 0, "background-color", &bg, NULL); + gdk_cairo_set_source_rgba (cr, bg); + gdk_rgba_free (bg); cairo_rectangle (cr, width / 3, height / 3, width / 3, height / 3); cairo_fill (cr); @@ -9546,8 +9581,9 @@ create_rc_file (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); button = gtk_button_new_with_label ("Reload"); - g_signal_connect (button, "clicked", - G_CALLBACK (gtk_rc_reparse_all), NULL); + g_signal_connect_swapped (button, "clicked", + G_CALLBACK (gtk_style_context_reset_widgets), + gtk_widget_get_screen (button)); gtk_widget_set_can_default (button, TRUE); gtk_box_pack_start (GTK_BOX (action_area), button, TRUE, TRUE, 0); gtk_widget_grab_default (button); @@ -9760,6 +9796,8 @@ void create_layout (GtkWidget *widget) gtk_widget_destroy (window); } +#if 0 +/* FIXME: need to completely redo this for GtkStyleContext */ void create_styles (GtkWidget *widget) { @@ -9769,11 +9807,11 @@ create_styles (GtkWidget *widget) GtkWidget *button; GtkWidget *entry; GtkWidget *vbox; - static GdkColor red = { 0, 0xffff, 0, 0 }; - static GdkColor green = { 0, 0, 0xffff, 0 }; - static GdkColor blue = { 0, 0, 0, 0xffff }; - static GdkColor yellow = { 0, 0xffff, 0xffff, 0 }; - static GdkColor cyan = { 0, 0 , 0xffff, 0xffff }; + static GdkRGBA red = { 1,0,0,1 }; + static GdkRGBA green = { 0,1,0,1 }; + static GdkRGBA blue = { 0,0,1,1 }; + static GdkRGBA yellow = { 1,1,0,1 }; + static GdkRGBA cyan = { 0,1,1,1 }; PangoFontDescription *font_desc; GtkRcStyle *rc_style; @@ -9810,8 +9848,7 @@ create_styles (GtkWidget *widget) font_desc = pango_font_description_from_string ("Helvetica,Sans Oblique 18"); button = gtk_button_new_with_label ("Some Text"); - gtk_widget_modify_font (gtk_bin_get_child (GTK_BIN (button)), - font_desc); + gtk_widget_override_font (gtk_bin_get_child (GTK_BIN (button)), font_desc); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); label = gtk_label_new ("Foreground:"); @@ -9819,8 +9856,7 @@ create_styles (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); button = gtk_button_new_with_label ("Some Text"); - gtk_widget_modify_fg (gtk_bin_get_child (GTK_BIN (button)), - GTK_STATE_NORMAL, &red); + gtk_widget_override_color (gtk_bin_get_child (GTK_BIN (button)), 0, &red); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); label = gtk_label_new ("Background:"); @@ -9828,7 +9864,7 @@ create_styles (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); button = gtk_button_new_with_label ("Some Text"); - gtk_widget_modify_bg (button, GTK_STATE_NORMAL, &green); + gtk_widget_override_background_color (button, 0, &green); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); label = gtk_label_new ("Text:"); @@ -9837,7 +9873,7 @@ create_styles (GtkWidget *widget) entry = gtk_entry_new (); gtk_entry_set_text (GTK_ENTRY (entry), "Some Text"); - gtk_widget_modify_text (entry, GTK_STATE_NORMAL, &blue); + gtk_widget_override_color (entry, 0, &blue); gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0); label = gtk_label_new ("Base:"); @@ -9846,7 +9882,7 @@ create_styles (GtkWidget *widget) entry = gtk_entry_new (); gtk_entry_set_text (GTK_ENTRY (entry), "Some Text"); - gtk_widget_modify_base (entry, GTK_STATE_NORMAL, &yellow); + gtk_widget_override_background_color (entry, 0, &yellow); gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0); label = gtk_label_new ("Cursor:"); @@ -9892,6 +9928,7 @@ create_styles (GtkWidget *widget) else gtk_widget_destroy (window); } +#endif /* * Main Window and Exit @@ -9955,7 +9992,9 @@ struct { { "snapshot", create_snapshot }, { "spinbutton", create_spins }, { "statusbar", create_statusbar }, +#if 0 { "styles", create_styles }, +#endif { "test idle", create_idle_test }, { "test mainloop", create_mainloop, TRUE }, { "test scrolling", create_scroll_test }, |