X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=tests%2Ftestgtk.c;h=9586169749c2d96b6788b16671b41fb6a504cca9;hb=04d6c99a71e13dcdadb10fbd376d9deb90a3e340;hp=b621b9a59ef31e35bb767b709fd2ef539760bc1d;hpb=b3a7d401a155a3cfeee61b4b094124f2ea97e6ac;p=~andy%2Fgtk diff --git a/tests/testgtk.c b/tests/testgtk.c index b621b9a59..958616974 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -228,7 +228,7 @@ build_alpha_widgets (void) GTK_EXPAND | GTK_FILL, 0, 0, 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), "Entry: "); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); @@ -298,7 +298,7 @@ create_alpha_window (GtkWidget *widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 12); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); @@ -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 @@ -525,11 +525,11 @@ create_pattern (GtkWidget *widget, #define PATTERN_SIZE (1 << 18) static void -pattern_hadj_changed (GtkAdjustment *adj, +pattern_hadj_changed (GtkAdjustment *adjustment, GtkWidget *darea) { - gint *old_value = g_object_get_data (G_OBJECT (adj), "old-value"); - gint new_value = adj->value; + gint *old_value = g_object_get_data (G_OBJECT (adjustment), "old-value"); + gint new_value = gtk_adjustment_get_value (adjustment); if (gtk_widget_get_realized (darea)) { @@ -540,11 +540,11 @@ pattern_hadj_changed (GtkAdjustment *adj, } static void -pattern_vadj_changed (GtkAdjustment *adj, +pattern_vadj_changed (GtkAdjustment *adjustment, GtkWidget *darea) { - gint *old_value = g_object_get_data (G_OBJECT (adj), "old-value"); - gint new_value = adj->value; + gint *old_value = g_object_get_data (G_OBJECT (adjustment), "old-value"); + gint new_value = gtk_adjustment_get_value (adjustment); if (gtk_widget_get_realized (darea)) { @@ -572,8 +572,8 @@ create_big_windows (GtkWidget *widget) GtkWidget *content_area; GtkWidget *darea, *table, *scrollbar; GtkWidget *eventbox; - GtkAdjustment *hadj; - GtkAdjustment *vadj; + GtkAdjustment *hadjustment; + GtkAdjustment *vadjustment; static gint current_x; static gint current_y; @@ -608,15 +608,15 @@ create_big_windows (GtkWidget *widget) darea = gtk_drawing_area_new (); - hadj = gtk_adjustment_new (0, 0, PATTERN_SIZE, 10, 100, 100); - g_signal_connect (hadj, "value_changed", + hadjustment = gtk_adjustment_new (0, 0, PATTERN_SIZE, 10, 100, 100); + g_signal_connect (hadjustment, "value_changed", G_CALLBACK (pattern_hadj_changed), darea); - g_object_set_data (G_OBJECT (hadj), "old-value", ¤t_x); + g_object_set_data (G_OBJECT (hadjustment), "old-value", ¤t_x); - vadj = gtk_adjustment_new (0, 0, PATTERN_SIZE, 10, 100, 100); - g_signal_connect (vadj, "value_changed", + vadjustment = gtk_adjustment_new (0, 0, PATTERN_SIZE, 10, 100, 100); + g_signal_connect (vadjustment, "value_changed", G_CALLBACK (pattern_vadj_changed), darea); - g_object_set_data (G_OBJECT (vadj), "old-value", ¤t_y); + g_object_set_data (G_OBJECT (vadjustment), "old-value", ¤t_y); g_signal_connect (darea, "realize", G_CALLBACK (pattern_realize), @@ -630,13 +630,13 @@ create_big_windows (GtkWidget *widget) gtk_container_add (GTK_CONTAINER (eventbox), darea); - scrollbar = gtk_hscrollbar_new (hadj); + scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, hadjustment); gtk_table_attach (GTK_TABLE (table), scrollbar, 0, 1, 1, 2, GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0); - scrollbar = gtk_vscrollbar_new (vadj); + scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, vadjustment); gtk_table_attach (GTK_TABLE (table), scrollbar, 1, 2, 0, 1, GTK_FILL, GTK_EXPAND | GTK_FILL, @@ -687,7 +687,7 @@ create_buttons (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkButton"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); table = gtk_table_new (3, 3, FALSE); @@ -765,7 +765,7 @@ create_buttons (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -810,10 +810,10 @@ create_toggle_buttons (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkToggleButton"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -833,7 +833,7 @@ create_toggle_buttons (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -942,7 +942,7 @@ create_check_buttons (GtkWidget *widget) box1 = gtk_dialog_get_content_area (GTK_DIALOG (window)); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -1007,7 +1007,7 @@ create_radio_buttons (GtkWidget *widget) box1 = gtk_dialog_get_content_area (GTK_DIALOG (window)); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -1034,7 +1034,7 @@ create_radio_buttons (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -1132,13 +1132,13 @@ create_button_box (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 10); - main_vbox = gtk_vbox_new (FALSE, 0); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), main_vbox); frame_horz = gtk_frame_new ("Horizontal Button Boxes"); gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_container_add (GTK_CONTAINER (frame_horz), vbox); @@ -1165,7 +1165,7 @@ create_button_box (GtkWidget *widget) frame_vert = gtk_frame_new ("Vertical Button Boxes"); gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); gtk_container_add (GTK_CONTAINER (frame_vert), hbox); @@ -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) @@ -1448,14 +1446,15 @@ make_toolbar (GtkWidget *window) if (make_toolbar_items[i].label == NULL) { 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]); - 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) - g_signal_connect (toolitem, "clicked", make_toolbar_items[i].callback, toolbar); + else + { + 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) + g_signal_connect (toolitem, "clicked", make_toolbar_items[i].callback, toolbar); + } gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1); } @@ -1567,10 +1566,10 @@ create_statusbar (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "statusbar"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -1625,7 +1624,7 @@ create_statusbar (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -1688,7 +1687,7 @@ create_handle_box (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 20); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); @@ -1700,7 +1699,7 @@ create_handle_box (GtkWidget *widget) gtk_container_add (GTK_CONTAINER (vbox), separator); gtk_widget_show (separator); - hbox = gtk_hbox_new (FALSE, 10); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10); gtk_container_add (GTK_CONTAINER (vbox), hbox); gtk_widget_show (hbox); @@ -1753,7 +1752,7 @@ create_handle_box (GtkWidget *widget) "detached"); gtk_widget_show (handle_box2); - hbox = g_object_new (GTK_TYPE_HBOX, "visible", 1, "parent", handle_box2, NULL); + hbox = g_object_new (GTK_TYPE_BOX, "visible", 1, "parent", handle_box2, NULL); label = gtk_label_new ("Fooo!"); gtk_container_add (GTK_CONTAINER (hbox), label); gtk_widget_show (label); @@ -1911,9 +1910,9 @@ void create_labels (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Label"); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_box_pack_end (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); @@ -1926,7 +1925,7 @@ void create_labels (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (window), 5); @@ -1985,7 +1984,7 @@ void create_labels (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); g_signal_connect (label, "activate-link", G_CALLBACK (activate_link), NULL); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); frame = gtk_frame_new ("Line wrapped label"); label = gtk_label_new ("This is an example of a line-wrapped label. It should not be taking "\ @@ -2092,7 +2091,7 @@ create_rotated_label (GtkWidget *widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); @@ -2100,14 +2099,15 @@ create_rotated_label (GtkWidget *widget) gtk_label_set_markup (GTK_LABEL (label), "Hello World\nRotate me"); gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0); - scale_hbox = gtk_hbox_new (FALSE, 0); + scale_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), scale_hbox, FALSE, FALSE, 0); scale_label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (scale_label), "Angle: "); gtk_box_pack_start (GTK_BOX (scale_hbox), scale_label, FALSE, FALSE, 0); - hscale = gtk_hscale_new_with_range (0, 360, 5); + hscale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, + 0, 360, 5); g_signal_connect (hscale, "value-changed", G_CALLBACK (on_angle_scale_changed), label); @@ -2199,7 +2199,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; @@ -2224,7 +2224,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); @@ -2305,10 +2305,10 @@ create_reparent (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "reparent"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_hbox_new (FALSE, 5); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -2317,7 +2317,7 @@ create_reparent (GtkWidget *widget) frame = gtk_frame_new ("Frame 1"); gtk_box_pack_start (GTK_BOX (box2), frame, TRUE, TRUE, 0); - box3 = gtk_vbox_new (FALSE, 5); + box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (box3), 5); gtk_container_add (GTK_CONTAINER (frame), box3); @@ -2340,7 +2340,7 @@ create_reparent (GtkWidget *widget) frame = gtk_frame_new ("Frame 2"); gtk_box_pack_start (GTK_BOX (box2), frame, TRUE, TRUE, 0); - box3 = gtk_vbox_new (FALSE, 5); + box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (box3), 5); gtk_container_add (GTK_CONTAINER (frame), box3); @@ -2358,7 +2358,7 @@ create_reparent (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -2399,15 +2399,49 @@ 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; + default: + g_assert_not_reached(); + } + + 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; } @@ -2431,10 +2465,10 @@ create_resize_grips (GtkWidget *widget) G_CALLBACK (gtk_widget_destroyed), &window); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); /* North west */ @@ -2464,7 +2498,7 @@ create_resize_grips (GtkWidget *widget) g_signal_connect (area, "button_press_event", G_CALLBACK (grippy_button_press), GINT_TO_POINTER (GDK_WINDOW_EDGE_NORTH_EAST)); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); /* West */ @@ -2490,7 +2524,7 @@ create_resize_grips (GtkWidget *widget) GINT_TO_POINTER (GDK_WINDOW_EDGE_EAST)); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); /* South west */ @@ -2595,12 +2629,13 @@ create_saved_position (GtkWidget *widget) G_CALLBACK (gtk_widget_destroyed), &window); - main_vbox = gtk_vbox_new (FALSE, 5); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 0); gtk_container_add (GTK_CONTAINER (window), main_vbox); vbox = - g_object_new (gtk_vbox_get_type (), + g_object_new (GTK_TYPE_BOX, + "orientation", GTK_ORIENTATION_VERTICAL, "GtkBox::homogeneous", FALSE, "GtkBox::spacing", 5, "GtkContainer::border_width", 10, @@ -2615,7 +2650,7 @@ create_saved_position (GtkWidget *widget) NULL), NULL); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -2627,7 +2662,7 @@ create_saved_position (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (hbox), x_label, TRUE, TRUE, 0); g_object_set_data (G_OBJECT (window), "x", x_label); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -2640,12 +2675,12 @@ create_saved_position (GtkWidget *widget) g_object_set_data (G_OBJECT (window), "y", y_label); any = - g_object_new (gtk_hseparator_get_type (), + g_object_new (gtk_separator_get_type (), "GtkWidget::visible", TRUE, NULL); gtk_box_pack_start (GTK_BOX (main_vbox), any, FALSE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); @@ -2695,10 +2730,10 @@ create_pixbuf (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); gtk_widget_realize(window); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -2707,10 +2742,10 @@ 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_hbox_new (FALSE, 0); + box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (box3), 2); gtk_container_add (GTK_CONTAINER (box3), pixbufwid); gtk_container_add (GTK_CONTAINER (box3), label); @@ -2719,10 +2754,10 @@ 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_hbox_new (FALSE, 0); + box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (box3), 2); gtk_container_add (GTK_CONTAINER (box3), pixbufwid); gtk_container_add (GTK_CONTAINER (box3), label); @@ -2733,7 +2768,7 @@ create_pixbuf (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -2777,10 +2812,10 @@ create_tooltips (GtkWidget *widget) gtk_window_set_screen (GTK_WINDOW (window), gtk_widget_get_screen (widget)); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -2803,7 +2838,8 @@ create_tooltips (GtkWidget *widget) gtk_widget_set_tooltip_text (toggle, "Toggle TipsQuery view."); box3 = - g_object_new (gtk_vbox_get_type (), + g_object_new (GTK_TYPE_BOX, + "orientation", GTK_ORIENTATION_VERTICAL, "homogeneous", FALSE, "spacing", 5, "border_width", 5, @@ -2832,7 +2868,7 @@ create_tooltips (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -2895,7 +2931,7 @@ create_image (GtkWidget *widget) G_CALLBACK (gtk_widget_destroyed), &window); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -3204,7 +3240,7 @@ create_menus (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_widget_show (box1); @@ -3237,7 +3273,8 @@ create_menus (GtkWidget *widget) menuitem = gtk_image_menu_item_new_with_label ("Help"); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (screen, 4, 5, TRUE)); - gtk_menu_item_set_right_justified (GTK_MENU_ITEM (menuitem), TRUE); + gtk_widget_set_hexpand (menuitem, TRUE); + gtk_widget_set_halign (menuitem, GTK_ALIGN_END); gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); gtk_widget_show (menuitem); @@ -3252,7 +3289,7 @@ create_menus (GtkWidget *widget) gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); gtk_widget_show (menuitem); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); @@ -3307,7 +3344,7 @@ create_menus (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); gtk_widget_show (separator); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); @@ -3614,9 +3651,10 @@ create_modal_window (GtkWidget *widget) gtk_window_set_modal (GTK_WINDOW(window),TRUE); /* Create widgets */ - box1 = gtk_vbox_new (FALSE,5); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); frame1 = gtk_frame_new ("Standard dialogs in modal form"); - box2 = gtk_vbox_new (TRUE,5); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); + gtk_box_set_homogeneous (GTK_BOX (box2), TRUE); btnColor = gtk_button_new_with_label ("Color"); btnFile = gtk_button_new_with_label ("File Selection"); btnClose = gtk_button_new_with_label ("Close"); @@ -3972,15 +4010,15 @@ create_entry (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_pack_start (GTK_BOX (box2), hbox, TRUE, TRUE, 0); entry = gtk_entry_new (); @@ -4038,7 +4076,7 @@ create_entry (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -4078,7 +4116,7 @@ create_expander (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "expander"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); expander = gtk_expander_new ("The Hidden"); @@ -4146,13 +4184,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), @@ -4165,17 +4204,17 @@ create_event_box (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "event box"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + 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_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (box1), hbox, TRUE, FALSE, 0); event_box = gtk_event_box_new (); gtk_box_pack_start (GTK_BOX (hbox), event_box, TRUE, FALSE, 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (event_box), vbox); g_signal_connect (event_box, "button_press_event", G_CALLBACK (event_box_label_pressed), @@ -4206,7 +4245,7 @@ create_event_box (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -4337,7 +4376,7 @@ create_size_group_window (GdkScreen *screen, g_object_unref (vgroup1); g_object_unref (vgroup2); - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_pack_start (GTK_BOX (content_area), hbox, FALSE, FALSE, 0); spin_button = gtk_spin_button_new_with_range (1, 100, 1); @@ -4581,7 +4620,7 @@ create_spins (GtkWidget *widget) GtkWidget *button; GtkWidget *label; GtkWidget *val_label; - GtkAdjustment *adj; + GtkAdjustment *adjustment; if (!window) { @@ -4595,31 +4634,31 @@ create_spins (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkSpinButton"); - main_vbox = gtk_vbox_new (FALSE, 5); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 10); gtk_container_add (GTK_CONTAINER (window), main_vbox); frame = gtk_frame_new ("Not accelerated"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_container_add (GTK_CONTAINER (frame), vbox); /* Time, month, hex spinners */ - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 5); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Time :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); - adj = gtk_adjustment_new (0, 0, 1410, 30, 60, 0); - spinner = gtk_spin_button_new (adj, 0, 0); + adjustment = gtk_adjustment_new (0, 0, 1410, 30, 60, 0); + spinner = gtk_spin_button_new (adjustment, 0, 0); gtk_editable_set_editable (GTK_EDITABLE (spinner), FALSE); g_signal_connect (spinner, "output", @@ -4629,16 +4668,16 @@ create_spins (GtkWidget *widget) gtk_entry_set_width_chars (GTK_ENTRY (spinner), 5); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Month :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); - adj = gtk_adjustment_new (1.0, 1.0, 12.0, 1.0, + adjustment = gtk_adjustment_new (1.0, 1.0, 12.0, 1.0, 5.0, 0.0); - spinner = gtk_spin_button_new (adj, 0, 0); + spinner = gtk_spin_button_new (adjustment, 0, 0); gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinner), GTK_UPDATE_IF_VALID); g_signal_connect (spinner, @@ -4653,15 +4692,15 @@ create_spins (GtkWidget *widget) gtk_entry_set_width_chars (GTK_ENTRY (spinner), 9); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Hex :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); - adj = gtk_adjustment_new (0, 0, 255, 1, 16, 0); - spinner = gtk_spin_button_new (adj, 0, 0); + adjustment = gtk_adjustment_new (0, 0, 255, 1, 16, 0); + spinner = gtk_spin_button_new (adjustment, 0, 0); gtk_editable_set_editable (GTK_EDITABLE (spinner), TRUE); g_signal_connect (spinner, "input", @@ -4678,41 +4717,41 @@ create_spins (GtkWidget *widget) frame = gtk_frame_new ("Accelerated"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_container_add (GTK_CONTAINER (frame), vbox); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 5); label = gtk_label_new ("Value :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); - adj = gtk_adjustment_new (0.0, -10000.0, 10000.0, + adjustment = gtk_adjustment_new (0.0, -10000.0, 10000.0, 0.5, 100.0, 0.0); - spinner1 = gtk_spin_button_new (adj, 1.0, 2); + spinner1 = gtk_spin_button_new (adjustment, 1.0, 2); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner1), TRUE); gtk_box_pack_start (GTK_BOX (vbox2), spinner1, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 5); label = gtk_label_new ("Digits :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); - adj = gtk_adjustment_new (2, 1, 15, 1, 1, 0); - spinner2 = gtk_spin_button_new (adj, 0.0, 0); - g_signal_connect (adj, "value_changed", + adjustment = gtk_adjustment_new (2, 1, 15, 1, 1, 0); + spinner2 = gtk_spin_button_new (adjustment, 0.0, 0); + g_signal_connect (adjustment, "value_changed", G_CALLBACK (change_digits), spinner2); gtk_box_pack_start (GTK_BOX (vbox2), spinner2, FALSE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 5); button = gtk_check_button_new_with_label ("Snap to 0.5-ticks"); @@ -4731,7 +4770,7 @@ create_spins (GtkWidget *widget) val_label = gtk_label_new (""); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_button_new_with_label ("Value as Int"); @@ -4754,7 +4793,7 @@ create_spins (GtkWidget *widget) frame = gtk_frame_new ("Using Convenience Constructor"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_container_add (GTK_CONTAINER (frame), hbox); @@ -4767,7 +4806,7 @@ create_spins (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (hbox), spinner, TRUE, TRUE, 5); gtk_box_pack_start (GTK_BOX (hbox), val_label, TRUE, TRUE, 5); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); button = gtk_button_new_with_label ("Close"); @@ -4794,6 +4833,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); @@ -4806,7 +4847,9 @@ 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_background_color (context, GTK_STATE_FLAG_NORMAL, &bg); + gdk_cairo_set_source_rgba (cr, &bg); cairo_rectangle (cr, width / 3, height / 3, width / 3, height / 3); cairo_fill (cr); @@ -4843,7 +4886,7 @@ set_cursor (GtkWidget *spinner, cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget), c); gdk_window_set_cursor (gtk_widget_get_window (widget), cursor); - gdk_cursor_unref (cursor); + g_object_unref (cursor); } static gint @@ -4900,7 +4943,7 @@ create_cursors (GtkWidget *widget) GtkWidget *button; GtkWidget *label; GtkWidget *any; - GtkAdjustment *adj; + GtkAdjustment *adjustment; GtkWidget *entry; GtkWidget *size; @@ -4916,12 +4959,13 @@ create_cursors (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Cursors"); - main_vbox = gtk_vbox_new (FALSE, 5); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 0); gtk_container_add (GTK_CONTAINER (window), main_vbox); vbox = - g_object_new (gtk_vbox_get_type (), + g_object_new (GTK_TYPE_BOX, + "orientation", GTK_ORIENTATION_VERTICAL, "GtkBox::homogeneous", FALSE, "GtkBox::spacing", 5, "GtkContainer::border_width", 10, @@ -4930,7 +4974,7 @@ create_cursors (GtkWidget *widget) NULL); #ifdef GDK_WINDOWING_X11 - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -4952,7 +4996,7 @@ create_cursors (GtkWidget *widget) G_CALLBACK (change_cursor_theme), hbox); #endif - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -4960,11 +5004,11 @@ create_cursors (GtkWidget *widget) gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); - adj = gtk_adjustment_new (0, + adjustment = gtk_adjustment_new (0, 0, 152, 2, 10, 0); - spinner = gtk_spin_button_new (adj, 0, 0); + spinner = gtk_spin_button_new (adjustment, 0, 0); gtk_box_pack_start (GTK_BOX (hbox), spinner, TRUE, TRUE, 0); frame = @@ -5004,13 +5048,10 @@ create_cursors (GtkWidget *widget) NULL); g_object_set_data (G_OBJECT (spinner), "user_data", label); - any = - g_object_new (gtk_hseparator_get_type (), - "GtkWidget::visible", TRUE, - NULL); + any = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (main_vbox), any, FALSE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); @@ -5104,7 +5145,7 @@ create_color_selection (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkColorButton"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_container_add (GTK_CONTAINER (window), hbox); @@ -5422,7 +5463,7 @@ create_font_selection (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkFontButton"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_container_add (GTK_CONTAINER (window), hbox); @@ -5457,7 +5498,7 @@ label_toggle (GtkWidget *widget, "destroy", G_CALLBACK (gtk_widget_destroyed), label); - gtk_misc_set_padding (GTK_MISC (*label), 10, 10); + g_object_set (*label, "margin", 10, NULL); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog_window))), *label, TRUE, TRUE, 0); gtk_widget_show (*label); @@ -5620,7 +5661,7 @@ create_display_screen (GtkWidget *widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroy), NULL); - vbox = gtk_vbox_new (FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); gtk_container_add (GTK_CONTAINER (window), vbox); frame = gtk_frame_new ("Select screen or display"); @@ -5815,12 +5856,12 @@ create_range_controls (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_widget_show (box1); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); @@ -5828,21 +5869,18 @@ create_range_controls (GtkWidget *widget) adjustment = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0); - scale = gtk_hscale_new (GTK_ADJUSTMENT (adjustment)); + scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adjustment)); gtk_widget_set_size_request (GTK_WIDGET (scale), 150, -1); - gtk_range_set_update_policy (GTK_RANGE (scale), GTK_UPDATE_DELAYED); gtk_scale_set_digits (GTK_SCALE (scale), 1); gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE); gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0); gtk_widget_show (scale); - scrollbar = gtk_hscrollbar_new (GTK_ADJUSTMENT (adjustment)); - gtk_range_set_update_policy (GTK_RANGE (scrollbar), - GTK_UPDATE_CONTINUOUS); + scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adjustment)); gtk_box_pack_start (GTK_BOX (box2), scrollbar, TRUE, TRUE, 0); gtk_widget_show (scrollbar); - scale = gtk_hscale_new (GTK_ADJUSTMENT (adjustment)); + scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adjustment)); gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE); g_signal_connect (scale, "format_value", @@ -5851,16 +5889,16 @@ create_range_controls (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0); gtk_widget_show (scale); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); - scale = gtk_vscale_new (GTK_ADJUSTMENT (adjustment)); + scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT (adjustment)); gtk_widget_set_size_request (scale, -1, 200); gtk_scale_set_digits (GTK_SCALE (scale), 2); gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE); gtk_box_pack_start (GTK_BOX (hbox), scale, TRUE, TRUE, 0); gtk_widget_show (scale); - scale = gtk_vscale_new (GTK_ADJUSTMENT (adjustment)); + scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT (adjustment)); gtk_widget_set_size_request (scale, -1, 200); gtk_scale_set_digits (GTK_SCALE (scale), 2); gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE); @@ -5868,7 +5906,7 @@ create_range_controls (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (hbox), scale, TRUE, TRUE, 0); gtk_widget_show (scale); - scale = gtk_vscale_new (GTK_ADJUSTMENT (adjustment)); + scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT (adjustment)); gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE); g_signal_connect (scale, "format_value", @@ -5886,7 +5924,7 @@ create_range_controls (GtkWidget *widget) gtk_widget_show (separator); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); @@ -5908,74 +5946,6 @@ create_range_controls (GtkWidget *widget) gtk_widget_destroy (window); } -/* - * GtkRulers - */ - -void -create_rulers (GtkWidget *widget) -{ - static GtkWidget *window = NULL; - GtkWidget *table; - GtkWidget *ruler; - - if (!window) - { - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - - gtk_window_set_screen (GTK_WINDOW (window), - gtk_widget_get_screen (widget)); - - gtk_window_set_resizable (GTK_WINDOW (window), TRUE); - - g_signal_connect (window, "destroy", - G_CALLBACK (gtk_widget_destroyed), - &window); - - gtk_window_set_title (GTK_WINDOW (window), "rulers"); - gtk_widget_set_size_request (window, 300, 300); - gtk_widget_set_events (window, - GDK_POINTER_MOTION_MASK - | GDK_POINTER_MOTION_HINT_MASK); - gtk_container_set_border_width (GTK_CONTAINER (window), 0); - - table = gtk_table_new (2, 2, FALSE); - gtk_container_add (GTK_CONTAINER (window), table); - gtk_widget_show (table); - - ruler = gtk_ruler_new (GTK_ORIENTATION_HORIZONTAL); - gtk_ruler_set_metric (GTK_RULER (ruler), GTK_CENTIMETERS); - gtk_ruler_set_range (GTK_RULER (ruler), 100, 0, 0, 20); - - g_signal_connect_swapped (window, - "motion_notify_event", - G_CALLBACK (GTK_WIDGET_GET_CLASS (ruler)->motion_notify_event), - ruler); - - gtk_table_attach (GTK_TABLE (table), ruler, 1, 2, 0, 1, - GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); - gtk_widget_show (ruler); - - - ruler = gtk_ruler_new (GTK_ORIENTATION_VERTICAL); - gtk_ruler_set_range (GTK_RULER (ruler), 5, 15, 0, 20); - - g_signal_connect_swapped (window, - "motion_notify_event", - G_CALLBACK (GTK_WIDGET_GET_CLASS (ruler)->motion_notify_event), - ruler); - - gtk_table_attach (GTK_TABLE (table), ruler, 0, 1, 1, 2, - GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); - gtk_widget_show (ruler); - } - - if (!gtk_widget_get_visible (window)) - gtk_widget_show (window); - else - gtk_widget_destroy (window); -} - struct { GdkColor color; gchar *name; @@ -6117,11 +6087,13 @@ create_pages (GtkNotebook *notebook, gint start, gint end) child = gtk_frame_new (buffer); gtk_container_set_border_width (GTK_CONTAINER (child), 10); - vbox = gtk_vbox_new (TRUE,0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_container_add (GTK_CONTAINER (child), vbox); - hbox = gtk_hbox_new (TRUE,0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_check_button_new_with_label ("Fill Tab"); @@ -6143,23 +6115,29 @@ create_pages (GtkNotebook *notebook, gint start, gint end) gtk_widget_show_all (child); - label_box = gtk_hbox_new (FALSE, 0); + label_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); pixwid = gtk_image_new_from_pixbuf (book_closed); g_object_set_data (G_OBJECT (child), "tab_pixmap", pixwid); gtk_box_pack_start (GTK_BOX (label_box), pixwid, FALSE, TRUE, 0); - gtk_misc_set_padding (GTK_MISC (pixwid), 3, 1); + gtk_widget_set_margin_left (pixwid, 3); + gtk_widget_set_margin_right (pixwid, 3); + gtk_widget_set_margin_bottom (pixwid, 1); + gtk_widget_set_margin_top (pixwid, 1); label = gtk_label_new_with_mnemonic (accel_buffer); gtk_box_pack_start (GTK_BOX (label_box), label, FALSE, TRUE, 0); gtk_widget_show_all (label_box); - menu_box = gtk_hbox_new (FALSE, 0); + menu_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); pixwid = gtk_image_new_from_pixbuf (book_closed); g_object_set_data (G_OBJECT (child), "menu_pixmap", pixwid); gtk_box_pack_start (GTK_BOX (menu_box), pixwid, FALSE, TRUE, 0); - gtk_misc_set_padding (GTK_MISC (pixwid), 3, 1); + gtk_widget_set_margin_left (pixwid, 3); + gtk_widget_set_margin_right (pixwid, 3); + gtk_widget_set_margin_bottom (pixwid, 1); + gtk_widget_set_margin_top (pixwid, 1); label = gtk_label_new (buffer); gtk_box_pack_start (GTK_BOX (menu_box), label, FALSE, TRUE, 0); gtk_widget_show_all (menu_box); @@ -6281,7 +6259,7 @@ create_notebook (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "notebook"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); sample_notebook = gtk_notebook_new (); @@ -6304,7 +6282,7 @@ create_notebook (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 10); - box2 = gtk_hbox_new (FALSE, 5); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -6314,7 +6292,7 @@ create_notebook (GtkWidget *widget) G_CALLBACK (notebook_popup), sample_notebook); - box2 = gtk_hbox_new (FALSE, 5); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -6331,7 +6309,8 @@ create_notebook (GtkWidget *widget) g_signal_connect (button, "clicked", G_CALLBACK (show_all_pages), sample_notebook); - box2 = gtk_hbox_new (TRUE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10); + gtk_box_set_homogeneous (GTK_BOX (box2), TRUE); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -6504,7 +6483,7 @@ create_panes (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Panes"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); vpaned = gtk_paned_new (GTK_ORIENTATION_VERTICAL); @@ -6597,7 +6576,7 @@ paned_keyboard_window1 (GtkWidget *widget) gtk_paned_pack1 (GTK_PANED (hpaned1), frame1, FALSE, TRUE); gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN); - vbox1 = gtk_vbox_new (FALSE, 0); + vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (frame1), vbox1); button7 = gtk_button_new_with_label ("button7"); @@ -6619,7 +6598,7 @@ paned_keyboard_window1 (GtkWidget *widget) frame5 = gtk_frame_new (NULL); gtk_container_add (GTK_CONTAINER (frame2), frame5); - hbox1 = gtk_hbox_new (FALSE, 0); + hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add (GTK_CONTAINER (frame5), hbox1); button5 = gtk_button_new_with_label ("button5"); @@ -6694,7 +6673,7 @@ paned_keyboard_window2 (GtkWidget *widget) button13 = gtk_button_new_with_label ("button13"); gtk_container_add (GTK_CONTAINER (frame6), button13); - hbox2 = gtk_hbox_new (FALSE, 0); + hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_paned_pack2 (GTK_PANED (hpaned2), hbox2, TRUE, TRUE); vpaned2 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); @@ -6746,7 +6725,7 @@ paned_keyboard_window3 (GtkWidget *widget) gtk_widget_get_screen (widget)); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window3), vbox2); label1 = gtk_label_new ("Three panes nested inside each other"); @@ -6820,7 +6799,7 @@ paned_keyboard_window4 (GtkWidget *widget) gtk_window_set_screen (GTK_WINDOW (window4), gtk_widget_get_screen (widget)); - vbox3 = gtk_vbox_new (FALSE, 0); + vbox3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window4), vbox3); label2 = gtk_label_new ("Widget tree:\n\nhpaned \n - vpaned\n - hbox\n - vpaned\n - vpaned\n - vpaned\n"); @@ -6839,7 +6818,7 @@ paned_keyboard_window4 (GtkWidget *widget) button18 = gtk_button_new_with_label ("button18"); gtk_paned_pack2 (GTK_PANED (vpaned3), button18, TRUE, TRUE); - hbox3 = gtk_hbox_new (FALSE, 0); + hbox3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_paned_pack2 (GTK_PANED (hpaned6), hbox3, TRUE, TRUE); vpaned4 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); @@ -6963,23 +6942,27 @@ shape_pressed (GtkWidget *widget, GdkEventButton *event) p->y = (int) event->y; gtk_grab_add (widget); - gdk_pointer_grab (gtk_widget_get_window (widget), TRUE, - GDK_BUTTON_RELEASE_MASK | - GDK_BUTTON_MOTION_MASK | - GDK_POINTER_MOTION_HINT_MASK, - NULL, NULL, 0); + gdk_device_grab (gdk_event_get_device ((GdkEvent*)event), + gtk_widget_get_window (widget), + GDK_OWNERSHIP_NONE, + TRUE, + GDK_BUTTON_RELEASE_MASK | + GDK_BUTTON_MOTION_MASK | + GDK_POINTER_MOTION_HINT_MASK, + NULL, + event->time); } static void -shape_released (GtkWidget *widget) +shape_released (GtkWidget *widget, + GdkEventButton *event) { gtk_grab_remove (widget); - gdk_display_pointer_ungrab (gtk_widget_get_display (widget), - GDK_CURRENT_TIME); + gdk_device_ungrab (gdk_event_get_device ((GdkEvent*)event), event->time); } static void -shape_motion (GtkWidget *widget, +shape_motion (GtkWidget *widget, GdkEventMotion *event) { gint xp, yp; @@ -7220,7 +7203,7 @@ create_wmhints (GtkWidget *widget) gdk_window_set_decorations (gdk_window, GDK_DECOR_ALL | GDK_DECOR_MENU); gdk_window_set_functions (gdk_window, GDK_FUNC_ALL | GDK_FUNC_RESIZE); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_widget_show (box1); @@ -7235,7 +7218,7 @@ create_wmhints (GtkWidget *widget) gtk_widget_show (separator); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); @@ -7303,7 +7286,7 @@ tracking_label (GtkWidget *window) GtkWidget *hbox; GtkWidget *button; - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); g_signal_connect_object (hbox, "destroy", @@ -7406,7 +7389,7 @@ get_state_controls (GtkWidget *window) GtkWidget *button_above; GtkWidget *button_below; - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); button = gtk_button_new_with_label ("Stick"); g_signal_connect_object (button, @@ -7516,7 +7499,7 @@ create_window_states (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Window states"); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); iconified = gtk_window_new (GTK_WINDOW_TOPLEVEL); @@ -7837,7 +7820,7 @@ make_gravity_window (GtkWidget *destroy_with, gtk_window_set_screen (GTK_WINDOW (window), gtk_widget_get_screen (destroy_with)); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show (vbox); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -7949,7 +7932,7 @@ window_controls (GtkWidget *window) GtkWidget *vbox; GtkWidget *button; GtkWidget *spin; - GtkAdjustment *adj; + GtkAdjustment *adjustment; GtkWidget *entry; GtkWidget *om; gint i; @@ -7971,7 +7954,7 @@ window_controls (GtkWidget *window) window, G_CONNECT_SWAPPED); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_add (GTK_CONTAINER (control_window), vbox); @@ -7983,15 +7966,15 @@ window_controls (GtkWidget *window) G_CALLBACK (configure_event_callback), label); - adj = gtk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0); - spin = gtk_spin_button_new (adj, 0, 0); + adjustment = gtk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0); + spin = gtk_spin_button_new (adjustment, 0, 0); gtk_box_pack_start (GTK_BOX (vbox), spin, FALSE, FALSE, 0); g_object_set_data (G_OBJECT (control_window), "spin1", spin); - adj = gtk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0); - spin = gtk_spin_button_new (adj, 0, 0); + adjustment = gtk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0); + spin = gtk_spin_button_new (adjustment, 0, 0); gtk_box_pack_start (GTK_BOX (vbox), spin, FALSE, FALSE, 0); @@ -8258,8 +8241,11 @@ static void destroy_progress (GtkWidget *widget, ProgressData **pdata) { - g_source_remove ((*pdata)->timer); - (*pdata)->timer = 0; + if ((*pdata)->timer) + { + g_source_remove ((*pdata)->timer); + (*pdata)->timer = 0; + } (*pdata)->window = NULL; g_free (*pdata); *pdata = NULL; @@ -8316,6 +8302,24 @@ toggle_activity_mode (GtkWidget *widget, ProgressData *pdata) pdata->activity = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); } +static void +toggle_running (GtkWidget *widget, ProgressData *pdata) +{ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) + { + if (pdata->timer == 0) + pdata->timer = g_timeout_add (100, (GSourceFunc)progress_timeout, pdata); + } + else + { + if (pdata->timer != 0) + { + g_source_remove (pdata->timer); + pdata->timer = 0; + } + } +} + static void entry_changed (GtkWidget *widget, ProgressData *pdata) { @@ -8376,14 +8380,14 @@ create_progress_bar (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (pdata->window), "GtkProgressBar"); gtk_container_set_border_width (GTK_CONTAINER (pdata->window), 0); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_box_pack_start (GTK_BOX (content_area), vbox, FALSE, TRUE, 0); frame = gtk_frame_new ("Progress"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 5); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_add (GTK_CONTAINER (frame), vbox2); align = gtk_alignment_new (0.5, 0.5, 0, 0); @@ -8394,12 +8398,11 @@ create_progress_bar (GtkWidget *widget) PANGO_ELLIPSIZE_MIDDLE); gtk_container_add (GTK_CONTAINER (align), pdata->pbar); - pdata->timer = g_timeout_add (100, (GSourceFunc)progress_timeout, pdata); align = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_box_pack_start (GTK_BOX (vbox2), align, FALSE, FALSE, 5); - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_add (GTK_CONTAINER (align), hbox); label = gtk_label_new ("Label updated by user :"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); @@ -8409,7 +8412,7 @@ create_progress_bar (GtkWidget *widget) frame = gtk_frame_new ("Options"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 5); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_add (GTK_CONTAINER (frame), vbox2); tab = gtk_table_new (7, 2, FALSE); @@ -8424,22 +8427,31 @@ create_progress_bar (GtkWidget *widget) pdata->omenu1 = build_option_menu (items1, 4, 0, progressbar_toggle_orientation, pdata); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_table_attach (GTK_TABLE (tab), hbox, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); gtk_box_pack_start (GTK_BOX (hbox), pdata->omenu1, TRUE, TRUE, 0); + check = gtk_check_button_new_with_label ("Running"); + g_signal_connect (check, "toggled", + G_CALLBACK (toggle_running), + pdata); + gtk_table_attach (GTK_TABLE (tab), check, 0, 2, 1, 2, + GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, + 5, 5); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), TRUE); + check = gtk_check_button_new_with_label ("Show text"); g_signal_connect (check, "clicked", G_CALLBACK (toggle_show_text), pdata); - gtk_table_attach (GTK_TABLE (tab), check, 0, 1, 1, 2, + gtk_table_attach (GTK_TABLE (tab), check, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); - hbox = gtk_hbox_new (FALSE, 0); - gtk_table_attach (GTK_TABLE (tab), hbox, 1, 2, 1, 2, + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_table_attach (GTK_TABLE (tab), hbox, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); @@ -8463,7 +8475,7 @@ create_progress_bar (GtkWidget *widget) 2, // PANGO_ELLIPSIZE_MIDDLE progressbar_toggle_ellipsize, pdata); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_table_attach (GTK_TABLE (tab), hbox, 1, 2, 10, 11, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); @@ -8600,14 +8612,14 @@ find_widget (GtkWidget *widget, FindWidgetData *data) } static GtkWidget * -find_widget_at_pointer (GdkDisplay *display) +find_widget_at_pointer (GdkDevice *device) { GtkWidget *widget = NULL; GdkWindow *pointer_window; gint x, y; FindWidgetData data; - pointer_window = gdk_display_get_window_at_pointer (display, NULL, NULL); + pointer_window = gdk_device_get_window_at_position (device, NULL, NULL); if (pointer_window) { @@ -8654,7 +8666,7 @@ destroy_properties (GtkWidget *widget, if (data->cursor) { - gdk_cursor_unref (data->cursor); + g_object_unref (data->cursor); data->cursor = NULL; } @@ -8668,22 +8680,21 @@ destroy_properties (GtkWidget *widget, } static gint -property_query_event (GtkWidget *widget, - GdkEvent *event, - struct PropertiesData *data) +property_query_event (GtkWidget *widget, + GdkEvent *event, + struct PropertiesData *data) { GtkWidget *res_widget = NULL; if (!data->in_query) return FALSE; - + if (event->type == GDK_BUTTON_RELEASE) { gtk_grab_remove (widget); - gdk_display_pointer_ungrab (gtk_widget_get_display (widget), - GDK_CURRENT_TIME); - - res_widget = find_widget_at_pointer (gtk_widget_get_display (widget)); + gdk_device_ungrab (gdk_event_get_device (event), GDK_CURRENT_TIME); + + res_widget = find_widget_at_pointer (gdk_event_get_device (event)); if (res_widget) { g_object_set_data (G_OBJECT (res_widget), "prop-editor-screen", @@ -8702,23 +8713,27 @@ query_properties (GtkButton *button, struct PropertiesData *data) { GtkWidget *widget = GTK_WIDGET (button); - gint failure; + GdkDisplay *display; + GdkDeviceManager *device_manager; + GdkDevice *device; g_signal_connect (button, "event", G_CALLBACK (property_query_event), data); + display = gtk_widget_get_display (widget); if (!data->cursor) - data->cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget), - GDK_TARGET); - - failure = gdk_pointer_grab (gtk_widget_get_window (widget), - TRUE, - GDK_BUTTON_RELEASE_MASK, - NULL, - data->cursor, - GDK_CURRENT_TIME); - + data->cursor = gdk_cursor_new_for_display (display, GDK_TARGET); + + device_manager = gdk_display_get_device_manager (display); + device = gdk_device_manager_get_client_pointer (device_manager); + gdk_device_grab (device, + gtk_widget_get_window (widget), + GDK_OWNERSHIP_NONE, + TRUE, + GDK_BUTTON_RELEASE_MASK, + data->cursor, + GDK_CURRENT_TIME); gtk_grab_add (widget); data->in_query = TRUE; @@ -8753,7 +8768,7 @@ create_properties (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "test properties"); gtk_container_set_border_width (GTK_CONTAINER (window), 10); - vbox = gtk_vbox_new (FALSE, 1); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1); gtk_container_add (GTK_CONTAINER (window), vbox); label = gtk_label_new ("This is just a dumb test to test properties.\nIf you need a generic module, get GLE."); @@ -8791,7 +8806,7 @@ destroy_snapshot_data (GtkWidget *widget, if (data->cursor) { - gdk_cursor_unref (data->cursor); + g_object_unref (data->cursor); data->cursor = NULL; } @@ -8817,10 +8832,10 @@ snapshot_widget_event (GtkWidget *widget, if (event->type == GDK_BUTTON_RELEASE) { gtk_grab_remove (widget); - gdk_display_pointer_ungrab (gtk_widget_get_display (widget), - GDK_CURRENT_TIME); + gdk_device_ungrab (gdk_event_get_device (event), + GDK_CURRENT_TIME); - res_widget = find_widget_at_pointer (gtk_widget_get_display (widget)); + res_widget = find_widget_at_pointer (gdk_event_get_device (event)); if (data->is_toplevel && res_widget) res_widget = gtk_widget_get_toplevel (res_widget); if (res_widget) @@ -8864,10 +8879,14 @@ snapshot_widget (GtkButton *button, struct SnapshotData *data) { GtkWidget *widget = GTK_WIDGET (button); - gint failure; + GdkDevice *device; - g_signal_connect (button, "event", - G_CALLBACK (snapshot_widget_event), data); + device = gtk_get_current_event_device (); + if (device == NULL) + return; + + if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) + device = gdk_device_get_associated_device (device); data->is_toplevel = widget == data->toplevel_button; @@ -8875,12 +8894,16 @@ snapshot_widget (GtkButton *button, data->cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget), GDK_TARGET); - failure = gdk_pointer_grab (gtk_widget_get_window (widget), - TRUE, - GDK_BUTTON_RELEASE_MASK, - NULL, - data->cursor, - GDK_CURRENT_TIME); + gdk_device_grab (device, + gtk_widget_get_window (widget), + GDK_OWNERSHIP_APPLICATION, + TRUE, + GDK_BUTTON_RELEASE_MASK, + data->cursor, + GDK_CURRENT_TIME); + + g_signal_connect (button, "event", + G_CALLBACK (snapshot_widget_event), data); gtk_grab_add (widget); @@ -8915,7 +8938,7 @@ create_snapshot (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "test snapshot"); gtk_container_set_border_width (GTK_CONTAINER (window), 10); - vbox = gtk_vbox_new (FALSE, 1); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1); gtk_container_add (GTK_CONTAINER (window), vbox); button = gtk_button_new_with_label ("Snapshot widget"); @@ -8945,19 +8968,19 @@ create_snapshot (GtkWidget *widget) void selection_test_received (GtkWidget *tree_view, - GtkSelectionData *data) + GtkSelectionData *selection_data) { GtkTreeModel *model; GtkListStore *store; GdkAtom *atoms; int i, l; - if (data->length < 0) + if (gtk_selection_data_get_length (selection_data) < 0) { g_print ("Selection retrieval failed\n"); return; } - if (data->type != GDK_SELECTION_TYPE_ATOM) + if (gtk_selection_data_get_data_type (selection_data) != GDK_SELECTION_TYPE_ATOM) { g_print ("Selection \"TARGETS\" was not returned as atoms!\n"); return; @@ -8971,9 +8994,9 @@ selection_test_received (GtkWidget *tree_view, /* Add new items to list */ - atoms = (GdkAtom *)data->data; + gtk_selection_data_get_targets (selection_data, + &atoms, &l); - l = data->length / sizeof (GdkAtom); for (i = 0; i < l; i++) { char *name; @@ -9037,7 +9060,7 @@ create_selection_test (GtkWidget *widget) /* Create the list */ - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); @@ -9093,7 +9116,7 @@ static int scroll_test_pos = 0.0; static gint scroll_test_draw (GtkWidget *widget, cairo_t *cr, - GtkAdjustment *adj) + GtkAdjustment *adjustment) { gint i,j; gint imin, imax, jmin, jmax; @@ -9104,13 +9127,13 @@ scroll_test_draw (GtkWidget *widget, imin = (clip.x) / 10; imax = (clip.x + clip.width + 9) / 10; - jmin = ((int)adj->value + clip.y) / 10; - jmax = ((int)adj->value + clip.y + clip.height + 9) / 10; + jmin = ((int)gtk_adjustment_get_value (adjustment) + clip.y) / 10; + jmax = ((int)gtk_adjustment_get_value (adjustment) + clip.y + clip.height + 9) / 10; for (i=imin; ivalue, 1+i%10, 1+j%10); + cairo_rectangle (cr, 10*i, 10*j - (int)gtk_adjustment_get_value (adjustment), 1+i%10, 1+j%10); cairo_fill (cr); @@ -9119,38 +9142,41 @@ scroll_test_draw (GtkWidget *widget, static gint scroll_test_scroll (GtkWidget *widget, GdkEventScroll *event, - GtkAdjustment *adj) + GtkAdjustment *adjustment) { - gdouble new_value = adj->value + ((event->direction == GDK_SCROLL_UP) ? - -adj->page_increment / 2: - adj->page_increment / 2); - new_value = CLAMP (new_value, adj->lower, adj->upper - adj->page_size); - gtk_adjustment_set_value (adj, new_value); + gdouble new_value = gtk_adjustment_get_value (adjustment) + ((event->direction == GDK_SCROLL_UP) ? + -gtk_adjustment_get_page_increment (adjustment) / 2: + gtk_adjustment_get_page_increment (adjustment) / 2); + new_value = CLAMP (new_value, gtk_adjustment_get_lower (adjustment), gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_page_size (adjustment)); + gtk_adjustment_set_value (adjustment, new_value); return TRUE; } static void scroll_test_configure (GtkWidget *widget, GdkEventConfigure *event, - GtkAdjustment *adj) + GtkAdjustment *adjustment) { GtkAllocation allocation; gtk_widget_get_allocation (widget, &allocation); - adj->page_increment = 0.9 * allocation.height; - adj->page_size = allocation.height; - - g_signal_emit_by_name (adj, "changed"); + gtk_adjustment_configure (adjustment, + gtk_adjustment_get_value (adjustment), + gtk_adjustment_get_lower (adjustment), + gtk_adjustment_get_upper (adjustment), + 0.1 * allocation.height, + 0.9 * allocation.height, + allocation.height); } static void -scroll_test_adjustment_changed (GtkAdjustment *adj, GtkWidget *widget) +scroll_test_adjustment_changed (GtkAdjustment *adjustment, GtkWidget *widget) { GdkWindow *window; gint dy; - dy = scroll_test_pos - (int)adj->value; - scroll_test_pos = adj->value; + dy = scroll_test_pos - (int)gtk_adjustment_get_value (adjustment); + scroll_test_pos = gtk_adjustment_get_value (adjustment); if (!gtk_widget_is_drawable (widget)) return; @@ -9170,7 +9196,7 @@ create_scroll_test (GtkWidget *widget) GtkWidget *drawing_area; GtkWidget *scrollbar; GtkWidget *button; - GtkAdjustment *adj; + GtkAdjustment *adjustment; GdkGeometry geometry; GdkWindowHints geometry_mask; @@ -9191,7 +9217,7 @@ create_scroll_test (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Scroll Test"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (content_area), hbox, TRUE, TRUE, 0); gtk_widget_show (hbox); @@ -9202,21 +9228,21 @@ create_scroll_test (GtkWidget *widget) gtk_widget_set_events (drawing_area, GDK_EXPOSURE_MASK | GDK_SCROLL_MASK); - adj = gtk_adjustment_new (0.0, 0.0, 1000.0, 1.0, 180.0, 200.0); + adjustment = gtk_adjustment_new (0.0, 0.0, 1000.0, 1.0, 180.0, 200.0); scroll_test_pos = 0.0; - scrollbar = gtk_vscrollbar_new (adj); + scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, adjustment); gtk_box_pack_start (GTK_BOX (hbox), scrollbar, FALSE, FALSE, 0); gtk_widget_show (scrollbar); g_signal_connect (drawing_area, "draw", - G_CALLBACK (scroll_test_draw), adj); + G_CALLBACK (scroll_test_draw), adjustment); g_signal_connect (drawing_area, "configure_event", - G_CALLBACK (scroll_test_configure), adj); + G_CALLBACK (scroll_test_configure), adjustment); g_signal_connect (drawing_area, "scroll_event", - G_CALLBACK (scroll_test_scroll), adj); + G_CALLBACK (scroll_test_scroll), adjustment); - g_signal_connect (adj, "value_changed", + g_signal_connect (adjustment, "value_changed", G_CALLBACK (scroll_test_adjustment_changed), drawing_area); @@ -9327,7 +9353,7 @@ create_timeout_test (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); label = gtk_label_new ("count: 0"); - gtk_misc_set_padding (GTK_MISC (label), 10, 10); + g_object_set (label, "margin", 10, NULL); gtk_box_pack_start (GTK_BOX (content_area), label, TRUE, TRUE, 0); gtk_widget_show (label); @@ -9449,11 +9475,11 @@ create_idle_test (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); label = gtk_label_new ("count: 0"); - gtk_misc_set_padding (GTK_MISC (label), 10, 10); + g_object_set (label, "margin", 10, NULL); gtk_widget_show (label); container = - g_object_new (GTK_TYPE_HBOX, + g_object_new (GTK_TYPE_BOX, "visible", TRUE, /* "GtkContainer::child", g_object_new (GTK_TYPE_HBOX, * "GtkWidget::visible", TRUE, @@ -9471,9 +9497,10 @@ create_idle_test (GtkWidget *widget) "parent", content_area, NULL); box = - g_object_new (GTK_TYPE_VBOX, + g_object_new (GTK_TYPE_BOX, "visible", TRUE, "parent", frame, + "orientation", GTK_ORIENTATION_VERTICAL, NULL); button = g_object_connect (g_object_new (GTK_TYPE_RADIO_BUTTON, @@ -9543,26 +9570,6 @@ create_idle_test (GtkWidget *widget) * rc file test */ -void -reload_all_rc_files (void) -{ - static GdkAtom atom_rcfiles = GDK_NONE; - - GdkEvent *send_event = gdk_event_new (GDK_CLIENT_EVENT); - int i; - - if (!atom_rcfiles) - atom_rcfiles = gdk_atom_intern("_GTK_READ_RCFILES", FALSE); - - for(i = 0; i < 5; i++) - send_event->client.data.l[i] = 0; - send_event->client.data_format = 32; - send_event->client.message_type = atom_rcfiles; - gdk_event_send_clientmessage_toall (send_event); - - gdk_event_free (send_event); -} - void create_rc_file (GtkWidget *widget) { @@ -9590,7 +9597,7 @@ create_rc_file (GtkWidget *widget) frame = gtk_aspect_frame_new ("Testing RC file prioritization", 0.5, 0.5, 0.0, TRUE); gtk_box_pack_start (GTK_BOX (content_area), frame, FALSE, FALSE, 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (frame), vbox); label = gtk_label_new ("This label should be red"); @@ -9609,18 +9616,13 @@ 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); - button = gtk_button_new_with_label ("Reload All"); - g_signal_connect (button, "clicked", - G_CALLBACK (reload_all_rc_files), NULL); - gtk_widget_set_can_default (button, TRUE); - gtk_box_pack_start (GTK_BOX (action_area), button, TRUE, TRUE, 0); - button = gtk_button_new_with_label ("Close"); g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_widget_destroy), @@ -9671,7 +9673,7 @@ create_mainloop (GtkWidget *widget) action_area = gtk_dialog_get_action_area (GTK_DIALOG (window)); label = gtk_label_new ("In recursive main loop..."); - gtk_misc_set_padding (GTK_MISC(label), 20, 20); + g_object_set (label, "margin", 20, NULL); gtk_box_pack_start (GTK_BOX (content_area), label, TRUE, TRUE, 0); gtk_widget_show (label); @@ -9823,6 +9825,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) { @@ -9832,11 +9836,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; @@ -9862,7 +9866,7 @@ create_styles (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (action_area), button, TRUE, TRUE, 0); gtk_widget_show (button); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_box_pack_start (GTK_BOX (content_area), vbox, FALSE, FALSE, 0); @@ -9873,8 +9877,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:"); @@ -9882,8 +9885,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:"); @@ -9891,7 +9893,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:"); @@ -9900,7 +9902,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:"); @@ -9909,7 +9911,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:"); @@ -9955,6 +9957,7 @@ create_styles (GtkWidget *widget) else gtk_widget_destroy (window); } +#endif /* * Main Window and Exit @@ -10011,7 +10014,6 @@ struct { { "resize grips", create_resize_grips }, { "rotated label", create_rotated_label }, { "rotated text", create_rotated_text }, - { "rulers", create_rulers }, { "saved position", create_saved_position }, { "scrolled windows", create_scrolled_windows }, { "shapes", create_shapes }, @@ -10019,7 +10021,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 }, @@ -10049,7 +10053,7 @@ create_main_window (void) int i; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_widget_set_name (window, "main window"); + gtk_widget_set_name (window, "main_window"); gtk_window_move (GTK_WINDOW (window), 50, 20); gtk_window_set_default_size (GTK_WINDOW (window), -1, 400); @@ -10068,7 +10072,7 @@ create_main_window (void) G_CALLBACK (gtk_false), NULL); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); if (gtk_micro_version > 0) @@ -10094,7 +10098,7 @@ create_main_window (void) GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (box1), scrolled_window, TRUE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 0); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), box2); gtk_container_set_focus_vadjustment (GTK_CONTAINER (box2), @@ -10117,7 +10121,7 @@ create_main_window (void) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -10135,12 +10139,8 @@ create_main_window (void) static void test_init (void) { - if (g_file_test ("../gdk-pixbuf/libpixbufloader-pnm.la", - G_FILE_TEST_EXISTS)) - { - g_setenv ("GDK_PIXBUF_MODULE_FILE", "../gdk-pixbuf/loaders.cache", TRUE); - g_setenv ("GTK_IM_MODULE_FILE", "../modules/input/immodules.cache", TRUE); - } + if (g_file_test ("../modules/input/immodules.cache", G_FILE_TEST_EXISTS)) + g_setenv ("GTK_IM_MODULE_FILE", "../modules/input/immodules.cache", TRUE); } static char * @@ -10252,6 +10252,9 @@ usage (void) int main (int argc, char *argv[]) { + GtkCssProvider *provider, *memory_provider; + GdkDisplay *display; + GdkScreen *screen; GtkBindingSet *binding_set; int i; gboolean done_benchmarks = FALSE; @@ -10260,19 +10263,28 @@ main (int argc, char *argv[]) test_init (); + g_set_application_name ("GTK+ Test Program"); + + gtk_init (&argc, &argv); + + provider = gtk_css_provider_new (); + /* Check to see if we are being run from the correct * directory. */ - if (file_exists ("testgtkrc")) - gtk_rc_add_default_file ("testgtkrc"); - else if (file_exists ("tests/testgtkrc")) - gtk_rc_add_default_file ("tests/testgtkrc"); + if (file_exists ("testgtk.css")) + gtk_css_provider_load_from_path (provider, "testgtk.css", NULL); + else if (file_exists ("tests/testgtk.css")) + gtk_css_provider_load_from_path (provider, "tests/testgtk.css", NULL); else - g_warning ("Couldn't find file \"testgtkrc\"."); + g_warning ("Couldn't find file \"testgtk.css\"."); - g_set_application_name ("GTK+ Test Program"); + display = gdk_display_get_default (); + screen = gdk_display_get_default_screen (display); - gtk_init (&argc, &argv); + gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (provider), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + g_object_unref (provider); gtk_accelerator_set_default_mod_mask (GDK_SHIFT_MASK | GDK_CONTROL_MASK | @@ -10332,17 +10344,17 @@ main (int argc, char *argv[]) "debug_msg", 1, G_TYPE_STRING, "GtkWidgetClass 9 test"); - - /* We use gtk_rc_parse_string() here so we can make sure it works across theme - * changes - */ - gtk_rc_parse_string ("style \"testgtk-version-label\" { " - " fg[NORMAL] = \"#ff0000\"\n" - " font = \"Sans 18\"\n" - "}\n" - "widget \"*.testgtk-version-label\" style \"testgtk-version-label\""); - + memory_provider = gtk_css_provider_new (); + gtk_css_provider_load_from_data (memory_provider, + "#testgtk-version-label {\n" + " color: #f00;\n" + " font: Sans 18;\n" + "}", + -1, NULL); + gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (memory_provider), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION + 1); + create_main_window (); gtk_main ();