summaryrefslogtreecommitdiff
path: root/tests/testgtk.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2010-11-25 12:49:16 -0500
committerCarlos Garnacho <carlosg@gnome.org>2010-12-04 15:39:46 +0100
commit757837b611e4dfb746892ef102ec63062fffcb21 (patch)
treeda0e172bad51458c227d4deec5225c99e0be8ca9 /tests/testgtk.c
parent9b1118a35db12cafa0f9587f8748eac232a624e0 (diff)
downloadgtk+-757837b611e4dfb746892ef102ec63062fffcb21.tar.gz
Make tests compile without using GtkStyle api
Diffstat (limited to 'tests/testgtk.c')
-rw-r--r--tests/testgtk.c119
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),
- &gtk_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),
- &gtk_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, &gtk_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 },