X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=tests%2Ftestgtk.c;h=d7d63ff53004dd3a9838c2263855b78bfd1bc877;hb=HEAD;hp=2a962c599aa6ebd7001520912e4eb5e1a56b8f43;hpb=52711beba57239aadde460d49d492ef6951f9335;p=~andy%2Fgtk diff --git a/tests/testgtk.c b/tests/testgtk.c index 2a962c599..d7d63ff53 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -12,9 +12,7 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ /* @@ -169,78 +167,49 @@ on_alpha_window_draw (GtkWidget *widget, static GtkWidget * build_alpha_widgets (void) { - GtkWidget *table; + GtkWidget *grid; GtkWidget *radio_button; + GtkWidget *check_button; GtkWidget *hbox; GtkWidget *label; GtkWidget *entry; - table = gtk_table_new (1, 1, FALSE); + grid = gtk_grid_new (); radio_button = gtk_radio_button_new_with_label (NULL, "Red"); - gtk_table_attach (GTK_TABLE (table), - radio_button, - 0, 1, 0, 1, - GTK_EXPAND | GTK_FILL, 0, - 0, 0); + gtk_widget_set_hexpand (radio_button, TRUE); + gtk_grid_attach (GTK_GRID (grid), radio_button, 0, 0, 1, 1); radio_button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio_button), "Green"); - gtk_table_attach (GTK_TABLE (table), - radio_button, - 0, 1, 1, 2, - GTK_EXPAND | GTK_FILL, 0, - 0, 0); + gtk_widget_set_hexpand (radio_button, TRUE); + gtk_grid_attach (GTK_GRID (grid), radio_button, 0, 1, 1, 1); radio_button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio_button), "Blue"), - gtk_table_attach (GTK_TABLE (table), - radio_button, - 0, 1, 2, 3, - GTK_EXPAND | GTK_FILL, 0, - 0, 0); - - gtk_table_attach (GTK_TABLE (table), - gtk_check_button_new_with_label ("Sedentary"), - 1, 2, 0, 1, - GTK_EXPAND | GTK_FILL, 0, - 0, 0); - gtk_table_attach (GTK_TABLE (table), - gtk_check_button_new_with_label ("Nocturnal"), - 1, 2, 1, 2, - GTK_EXPAND | GTK_FILL, 0, - 0, 0); - gtk_table_attach (GTK_TABLE (table), - gtk_check_button_new_with_label ("Compulsive"), - 1, 2, 2, 3, - GTK_EXPAND | GTK_FILL, 0, - 0, 0); + gtk_widget_set_hexpand (radio_button, TRUE); + gtk_grid_attach (GTK_GRID (grid), radio_button, 0, 2, 1, 1); - radio_button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio_button), "Green"); - gtk_table_attach (GTK_TABLE (table), - radio_button, - 0, 1, 1, 2, - GTK_EXPAND | GTK_FILL, 0, - 0, 0); + check_button = gtk_check_button_new_with_label ("Sedentary"), + gtk_widget_set_hexpand (check_button, TRUE); + gtk_grid_attach (GTK_GRID (grid), check_button, 1, 0, 1, 1); + + check_button = gtk_check_button_new_with_label ("Nocturnal"), + gtk_widget_set_hexpand (check_button, TRUE); + gtk_grid_attach (GTK_GRID (grid), check_button, 1, 1, 1, 1); + + check_button = gtk_check_button_new_with_label ("Compulsive"), + gtk_widget_set_hexpand (check_button, TRUE); + gtk_grid_attach (GTK_GRID (grid), check_button, 1, 2, 1, 1); - radio_button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio_button), "Blue"), - gtk_table_attach (GTK_TABLE (table), - radio_button, - 0, 1, 2, 3, - GTK_EXPAND | GTK_FILL, 0, - 0, 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); entry = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); - gtk_table_attach (GTK_TABLE (table), - hbox, - 0, 1, 3, 4, - GTK_EXPAND | GTK_FILL, 0, - 0, 0); + gtk_widget_set_hexpand (hbox, TRUE); + gtk_grid_attach (GTK_GRID (grid), hbox, 0, 3, 2, 1); - return table; + return grid; } static void @@ -459,14 +428,14 @@ pattern_set_bg (GtkWidget *widget, GdkWindow *child, gint level) { - static const GdkColor colors[] = { - { 0, 0x4444, 0x4444, 0xffff }, - { 0, 0x8888, 0x8888, 0xffff }, - { 0, 0xaaaa, 0xaaaa, 0xffff } + static GdkRGBA colors[] = { + { 0.27, 0.27, 1.0, 1.0 }, + { 0.53, 0.53, 1.0, 1.0}, + { 0.67, 0.67, 1.0, 1.0 } }; gdk_window_set_user_data (child, widget); - gdk_window_set_background (child, &colors[level]); + gdk_window_set_background_rgba (child, &colors[level]); } static void @@ -570,7 +539,7 @@ create_big_windows (GtkWidget *widget) { static GtkWidget *window = NULL; GtkWidget *content_area; - GtkWidget *darea, *table, *scrollbar; + GtkWidget *darea, *grid, *scrollbar; GtkWidget *eventbox; GtkAdjustment *hadjustment; GtkAdjustment *vadjustment; @@ -603,8 +572,8 @@ create_big_windows (GtkWidget *widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - table = gtk_table_new (2, 2, FALSE); - gtk_box_pack_start (GTK_BOX (content_area), table, TRUE, TRUE, 0); + grid = gtk_grid_new (); + gtk_box_pack_start (GTK_BOX (content_area), grid, TRUE, TRUE, 0); darea = gtk_drawing_area_new (); @@ -623,25 +592,19 @@ create_big_windows (GtkWidget *widget) NULL); eventbox = gtk_event_box_new (); - gtk_table_attach (GTK_TABLE (table), eventbox, - 0, 1, 0, 1, - GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, - 0, 0); + gtk_widget_set_hexpand (eventbox, TRUE); + gtk_widget_set_vexpand (eventbox, TRUE); + gtk_grid_attach (GTK_GRID (grid), eventbox, 0, 0, 1, 1); gtk_container_add (GTK_CONTAINER (eventbox), darea); 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); + gtk_widget_set_hexpand (scrollbar, TRUE); + gtk_grid_attach (GTK_GRID (grid), scrollbar, 0, 1, 1, 1); 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, - 0, 0); - + gtk_widget_set_vexpand (scrollbar, TRUE); + gtk_grid_attach (GTK_GRID (grid), scrollbar, 1, 0, 1, 1); } if (!gtk_widget_get_visible (window)) @@ -670,9 +633,12 @@ create_buttons (GtkWidget *widget) static GtkWidget *window = NULL; GtkWidget *box1; GtkWidget *box2; - GtkWidget *table; - GtkWidget *button[10]; + GtkWidget *grid; GtkWidget *separator; + GtkWidget *button[10]; + int button_x[9] = { 0, 1, 2, 0, 2, 1, 1, 2, 0 }; + int button_y[9] = { 0, 1, 2, 2, 0, 2, 0, 1, 1 }; + guint i; if (!window) { @@ -690,11 +656,11 @@ create_buttons (GtkWidget *widget) box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - table = gtk_table_new (3, 3, FALSE); - gtk_table_set_row_spacings (GTK_TABLE (table), 5); - gtk_table_set_col_spacings (GTK_TABLE (table), 5); - gtk_container_set_border_width (GTK_CONTAINER (table), 10); - gtk_box_pack_start (GTK_BOX (box1), table, TRUE, TRUE, 0); + grid = gtk_grid_new (); + gtk_grid_set_row_spacing (GTK_GRID (grid), 5); + gtk_grid_set_column_spacing (GTK_GRID (grid), 5); + gtk_container_set_border_width (GTK_CONTAINER (grid), 10); + gtk_box_pack_start (GTK_BOX (box1), grid, TRUE, TRUE, 0); button[0] = gtk_button_new_with_label ("button1"); button[1] = gtk_button_new_with_mnemonic ("_button2"); @@ -706,61 +672,17 @@ create_buttons (GtkWidget *widget) button[7] = gtk_button_new_from_stock (GTK_STOCK_CLOSE); button[8] = gtk_button_new_with_label ("button9"); - g_signal_connect (button[0], "clicked", - G_CALLBACK (button_window), - button[1]); - - gtk_table_attach (GTK_TABLE (table), button[0], 0, 1, 0, 1, - GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); - - g_signal_connect (button[1], "clicked", - G_CALLBACK (button_window), - button[2]); - - gtk_table_attach (GTK_TABLE (table), button[1], 1, 2, 1, 2, - GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); - - g_signal_connect (button[2], "clicked", - G_CALLBACK (button_window), - button[3]); - gtk_table_attach (GTK_TABLE (table), button[2], 2, 3, 2, 3, - GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); - - g_signal_connect (button[3], "clicked", - G_CALLBACK (button_window), - button[4]); - gtk_table_attach (GTK_TABLE (table), button[3], 0, 1, 2, 3, - GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); - - g_signal_connect (button[4], "clicked", - G_CALLBACK (button_window), - button[5]); - gtk_table_attach (GTK_TABLE (table), button[4], 2, 3, 0, 1, - GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); - - g_signal_connect (button[5], "clicked", - G_CALLBACK (button_window), - button[6]); - gtk_table_attach (GTK_TABLE (table), button[5], 1, 2, 2, 3, - GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); - - g_signal_connect (button[6], "clicked", - G_CALLBACK (button_window), - button[7]); - gtk_table_attach (GTK_TABLE (table), button[6], 1, 2, 0, 1, - GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); - - g_signal_connect (button[7], "clicked", - G_CALLBACK (button_window), - button[8]); - gtk_table_attach (GTK_TABLE (table), button[7], 2, 3, 1, 2, - GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); - - g_signal_connect (button[8], "clicked", - G_CALLBACK (button_window), - button[0]); - gtk_table_attach (GTK_TABLE (table), button[8], 0, 1, 1, 2, - GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + for (i = 0; i < 9; i++) + { + g_signal_connect (button[i], "clicked", + G_CALLBACK (button_window), + button[(i + 1) % 9]); + gtk_widget_set_hexpand (button[i], TRUE); + gtk_widget_set_vexpand (button[i], TRUE); + + gtk_grid_attach (GTK_GRID (grid), button[i], + button_x[i], button_y[i] + 1, 1, 1); + } separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); @@ -855,11 +777,11 @@ create_toggle_buttons (GtkWidget *widget) static GtkWidget * create_widget_grid (GType widget_type) { - GtkWidget *table; + GtkWidget *grid; GtkWidget *group_widget = NULL; gint i, j; - table = gtk_table_new (FALSE, 3, 3); + grid = gtk_grid_new (); for (i = 0; i < 5; i++) { @@ -898,14 +820,11 @@ create_widget_grid (GType widget_type) } if (widget) - gtk_table_attach (GTK_TABLE (table), widget, - i, i + 1, j, j + 1, - 0, 0, - 0, 0); + gtk_grid_attach (GTK_GRID (grid), widget, i, j, 1, 1); } } - return table; + return grid; } /* @@ -1399,68 +1318,6 @@ create_toolbar (GtkWidget *widget) gtk_widget_destroy (window); } -static GtkActionEntry make_toolbar_items[] = { - { NULL, NULL, "Horizontal", NULL, "Horizontal toolbar layout", - G_CALLBACK (set_toolbar_horizontal) }, - { NULL, NULL, "Vertical", NULL, "Vertical toolbar layout", - G_CALLBACK (set_toolbar_vertical) }, - { NULL }, - { NULL, NULL, "Icons", NULL, "Only show toolbar icons", - G_CALLBACK (set_toolbar_icons) }, - { NULL, NULL, "Text", NULL, "Only show toolbar text", - G_CALLBACK (set_toolbar_text) }, - { NULL, NULL, "Both", NULL, "Show toolbar icons and text", - G_CALLBACK (set_toolbar_both) }, - { NULL }, - { NULL, NULL, "Woot", NULL, "Woot woot woot", - NULL }, - { NULL, NULL, "Blah", NULL, "Blah blah blah", - NULL }, - { NULL }, - { NULL, NULL, "Enable", NULL, "Enable tooltips", - G_CALLBACK (set_toolbar_enable) }, - { NULL, NULL, "Disable", NULL, "Disable tooltips", - G_CALLBACK (set_toolbar_disable) }, - { NULL }, - { NULL, NULL, "Hoo", NULL, "Hoo tooltip", - NULL }, - { NULL, NULL, "Woo", NULL, "Woo tooltip", - NULL } -}; - -static GtkWidget* -make_toolbar (GtkWidget *window) -{ - GtkWidget *toolbar; - guint i; - - if (!gtk_widget_get_realized (window)) - gtk_widget_realize (window); - - toolbar = gtk_toolbar_new (); - for (i = 0; i < G_N_ELEMENTS (make_toolbar_items); i++) - { - GtkWidget *icon; - GtkToolItem *toolitem; - - if (make_toolbar_items[i].label == NULL) - { - toolitem = gtk_separator_tool_item_new (); - } - 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); - } - - return toolbar; -} - /* * GtkStatusBar */ @@ -1643,121 +1500,110 @@ create_statusbar (GtkWidget *widget) gtk_widget_destroy (window); } -/* - * GtkHandleBox - */ +/* Alpha demo */ static void -handle_box_child_signal (GtkHandleBox *hb, - GtkWidget *child, - const gchar *action) +alpha_changed (GtkRange *range, GtkWidget *widget) { - printf ("%s: child <%s> %sed\n", - g_type_name (G_OBJECT_TYPE (hb)), - g_type_name (G_OBJECT_TYPE (child)), - action); + gdouble alpha; + + alpha = gtk_range_get_value (range); + + gtk_widget_set_opacity (widget, alpha / 100.0); } -static void -create_handle_box (GtkWidget *widget) + +void +create_alpha_widgets (GtkWidget *widget) { - static GtkWidget* window = NULL; - GtkWidget *handle_box; - GtkWidget *handle_box2; - GtkWidget *vbox; - GtkWidget *hbox; - GtkWidget *toolbar; - GtkWidget *label; - GtkWidget *separator; + static GtkWidget *window = NULL; if (!window) - { - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - - gtk_window_set_screen (GTK_WINDOW (window), - gtk_widget_get_screen (widget)); - gtk_window_set_modal (GTK_WINDOW (window), FALSE); - gtk_window_set_title (GTK_WINDOW (window), - "Handle Box Test"); - gtk_window_set_resizable (GTK_WINDOW (window), TRUE); - - g_signal_connect (window, "destroy", - G_CALLBACK (gtk_widget_destroyed), - &window); - - gtk_container_set_border_width (GTK_CONTAINER (window), 20); + { + GtkWidget *vbox2, *vbox, *main_hbox; + GtkWidget *button, *event_box, *label, *scale; + GtkWidget *alpha1, *alpha2, *alpha3; - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); - gtk_container_add (GTK_CONTAINER (window), vbox); - gtk_widget_show (vbox); + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_screen (GTK_WINDOW (window), + gtk_widget_get_screen (widget)); + gtk_window_set_default_size (GTK_WINDOW (window), + 450, 450); - label = gtk_label_new ("Above"); - gtk_container_add (GTK_CONTAINER (vbox), label); - gtk_widget_show (label); + g_signal_connect (window, "destroy", + G_CALLBACK (gtk_widget_destroyed), &window); - separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); - gtk_container_add (GTK_CONTAINER (vbox), separator); - gtk_widget_show (separator); - - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10); - gtk_container_add (GTK_CONTAINER (vbox), hbox); - gtk_widget_show (hbox); - - separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); - gtk_container_add (GTK_CONTAINER (vbox), separator); - gtk_widget_show (separator); - - label = gtk_label_new ("Below"); - gtk_container_add (GTK_CONTAINER (vbox), label); - gtk_widget_show (label); - - handle_box = gtk_handle_box_new (); - gtk_box_pack_start (GTK_BOX (hbox), handle_box, FALSE, FALSE, 0); - g_signal_connect (handle_box, - "child_attached", - G_CALLBACK (handle_box_child_signal), - "attached"); - g_signal_connect (handle_box, - "child_detached", - G_CALLBACK (handle_box_child_signal), - "detached"); - gtk_widget_show (handle_box); - - toolbar = make_toolbar (window); - - gtk_container_add (GTK_CONTAINER (handle_box), toolbar); - gtk_widget_show (toolbar); - - handle_box = gtk_handle_box_new (); - gtk_box_pack_start (GTK_BOX (hbox), handle_box, FALSE, FALSE, 0); - g_signal_connect (handle_box, - "child_attached", - G_CALLBACK (handle_box_child_signal), - "attached"); - g_signal_connect (handle_box, - "child_detached", - G_CALLBACK (handle_box_child_signal), - "detached"); - gtk_widget_show (handle_box); - - handle_box2 = gtk_handle_box_new (); - gtk_container_add (GTK_CONTAINER (handle_box), handle_box2); - g_signal_connect (handle_box2, - "child_attached", - G_CALLBACK (handle_box_child_signal), - "attached"); - g_signal_connect (handle_box2, - "child_detached", - G_CALLBACK (handle_box_child_signal), - "detached"); - gtk_widget_show (handle_box2); - - 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); - g_object_new (GTK_TYPE_ARROW, "visible", 1, "parent", hbox, NULL); - } + gtk_window_set_title (GTK_WINDOW (window), "Alpha"); + gtk_container_set_border_width (GTK_CONTAINER (window), 0); + + main_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_container_add (GTK_CONTAINER (window), main_hbox); + + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + + gtk_box_pack_start (GTK_BOX (main_hbox), vbox, FALSE, FALSE, 0); + + /* Plain button (no gdkwindows */ + + label = gtk_label_new ("non-window widget"); + gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); + + alpha1 = button = gtk_button_new_with_label ("A Button"); + gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); + + /* windowed container with both windowed and normal button */ + label = gtk_label_new ("\nwindow widget"); + gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); + + alpha2 = event_box = gtk_event_box_new (); + gtk_box_pack_start (GTK_BOX (vbox), event_box, FALSE, FALSE, 0); + + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_container_add (GTK_CONTAINER (event_box), vbox2); + + button = gtk_button_new_with_label ("A Button"); + gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0); + + event_box = gtk_event_box_new (); + button = gtk_button_new_with_label ("A Button (in window)"); + gtk_container_add (GTK_CONTAINER (event_box), button); + gtk_box_pack_start (GTK_BOX (vbox2), event_box, FALSE, FALSE, 0); + + /* non-windowed container with both windowed and normal button */ + label = gtk_label_new ("\nnon-window widget with widget child"); + gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); + + alpha3 = vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0); + + button = gtk_button_new_with_label ("A Button"); + gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0); + + event_box = gtk_event_box_new (); + button = gtk_button_new_with_label ("A Button (in window)"); + gtk_container_add (GTK_CONTAINER (event_box), button); + gtk_box_pack_start (GTK_BOX (vbox2), event_box, FALSE, FALSE, 0); + + scale = gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL, + 0, 100, 1); + gtk_box_pack_start (GTK_BOX (main_hbox), scale, FALSE, FALSE, 0); + g_signal_connect (scale, "value_changed", G_CALLBACK (alpha_changed), alpha1); + gtk_range_set_value (GTK_RANGE (scale), 50); + + scale = gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL, + 0, 100, 1); + gtk_box_pack_start (GTK_BOX (main_hbox), scale, FALSE, FALSE, 0); + g_signal_connect (scale, "value_changed", G_CALLBACK (alpha_changed), alpha2); + gtk_range_set_value (GTK_RANGE (scale), 50); + + scale = gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL, + 0, 100, 1); + gtk_box_pack_start (GTK_BOX (main_hbox), scale, FALSE, FALSE, 0); + g_signal_connect (scale, "value_changed", G_CALLBACK (alpha_changed), alpha3); + gtk_range_set_value (GTK_RANGE (scale), 50); + + gtk_widget_show_all (main_hbox); + } if (!gtk_widget_get_visible (window)) gtk_widget_show (window); @@ -1765,6 +1611,7 @@ create_handle_box (GtkWidget *widget) gtk_widget_destroy (window); } + /* * Label Demo */ @@ -2384,11 +2231,11 @@ grippy_button_press (GtkWidget *area, GdkEventButton *event, GdkWindowEdge edge) { if (event->type == GDK_BUTTON_PRESS) { - if (event->button == 1) + if (event->button == GDK_BUTTON_PRIMARY) gtk_window_begin_resize_drag (GTK_WINDOW (gtk_widget_get_toplevel (area)), edge, event->button, event->x_root, event->y_root, event->time); - else if (event->button == 2) + else if (event->button == GDK_BUTTON_MIDDLE) gtk_window_begin_move_drag (GTK_WINDOW (gtk_widget_get_toplevel (area)), event->button, event->x_root, event->y_root, event->time); @@ -2655,7 +2502,8 @@ create_saved_position (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); label = gtk_label_new ("X Origin : "); - gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); x_label = gtk_label_new (""); @@ -2667,7 +2515,8 @@ create_saved_position (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Y Origin : "); - gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); y_label = gtk_label_new (""); @@ -2958,7 +2807,7 @@ create_image (GtkWidget *widget) */ static GtkWidget* -create_menu (GdkScreen *screen, gint depth, gint length, gboolean tearoff) +create_menu (GdkScreen *screen, gint depth, gint length) { GtkWidget *menu; GtkWidget *menuitem; @@ -2975,13 +2824,6 @@ create_menu (GdkScreen *screen, gint depth, gint length, gboolean tearoff) group = NULL; - if (tearoff) - { - menuitem = gtk_tearoff_menu_item_new (); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); - gtk_widget_show (menuitem); - } - image = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU); gtk_widget_show (image); @@ -3008,14 +2850,14 @@ create_menu (GdkScreen *screen, gint depth, gint length, gboolean tearoff) if (i < 5) gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), - create_menu (screen, depth - 1, 5, TRUE)); + create_menu (screen, depth - 1, 5)); } return menu; } static GtkWidget* -create_table_menu (GdkScreen *screen, gint cols, gint rows, gboolean tearoff) +create_table_menu (GdkScreen *screen, gint cols, gint rows) { GtkWidget *menu; GtkWidget *menuitem; @@ -3028,13 +2870,6 @@ create_table_menu (GdkScreen *screen, gint cols, gint rows, gboolean tearoff) gtk_menu_set_screen (GTK_MENU (menu), screen); j = 0; - if (tearoff) - { - menuitem = gtk_tearoff_menu_item_new (); - gtk_menu_attach (GTK_MENU (menu), menuitem, 0, cols, j, j + 1); - gtk_widget_show (menuitem); - j++; - } menuitem = gtk_menu_item_new_with_label ("items"); gtk_menu_attach (GTK_MENU (menu), menuitem, 0, cols, j, j + 1); @@ -3248,14 +3083,14 @@ create_menus (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (box1), menubar, FALSE, TRUE, 0); gtk_widget_show (menubar); - menu = create_menu (screen, 2, 50, TRUE); + menu = create_menu (screen, 2, 50); menuitem = gtk_menu_item_new_with_label ("test\nline2"); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu); gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); gtk_widget_show (menuitem); - menu = create_table_menu (screen, 2, 50, TRUE); + menu = create_table_menu (screen, 2, 50); menuitem = gtk_menu_item_new_with_label ("table"); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu); @@ -3263,7 +3098,7 @@ create_menus (GtkWidget *widget) gtk_widget_show (menuitem); menuitem = gtk_menu_item_new_with_label ("foo"); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (screen, 3, 5, TRUE)); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (screen, 3, 5)); gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); gtk_widget_show (menuitem); @@ -3272,7 +3107,7 @@ create_menus (GtkWidget *widget) gtk_widget_show (image); 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_submenu (GTK_MENU_ITEM (menuitem), create_menu (screen, 4, 5)); gtk_widget_set_hexpand (menuitem, TRUE); gtk_widget_set_halign (menuitem, GTK_ALIGN_END); gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); @@ -3282,7 +3117,7 @@ create_menus (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (box1), menubar, FALSE, TRUE, 0); gtk_widget_show (menubar); - menu = create_menu (screen, 2, 10, TRUE); + menu = create_menu (screen, 2, 10); menuitem = gtk_menu_item_new_with_label ("Second menu bar"); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu); @@ -3294,7 +3129,7 @@ create_menus (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); - menu = create_menu (screen, 1, 5, FALSE); + menu = create_menu (screen, 1, 5); gtk_menu_set_accel_group (GTK_MENU (menu), accel_group); menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_NEW, accel_group); @@ -3573,35 +3408,16 @@ static void cmw_color (GtkWidget *widget, GtkWidget *parent) { GtkWidget *csd; - GtkWidget *colorsel; - GtkWidget *ok_button, *cancel_button; - csd = gtk_color_selection_dialog_new ("This is a modal color selection dialog"); + csd = gtk_color_chooser_dialog_new ("This is a modal color selection dialog", GTK_WINDOW (parent)); - gtk_window_set_screen (GTK_WINDOW (csd), gtk_widget_get_screen (parent)); - - colorsel = gtk_color_selection_dialog_get_color_selection (GTK_COLOR_SELECTION_DIALOG (csd)); - gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION (colorsel), - TRUE); - /* Set as modal */ gtk_window_set_modal (GTK_WINDOW(csd),TRUE); - /* And mark it as a transient dialog */ - gtk_window_set_transient_for (GTK_WINDOW (csd), GTK_WINDOW (parent)); - g_signal_connect (csd, "destroy", G_CALLBACK (cmw_destroy_cb), NULL); - - g_object_get (csd, - "ok-button", &ok_button, - "cancel-button", &cancel_button, - NULL); - - g_signal_connect_swapped (ok_button, - "clicked", G_CALLBACK (gtk_widget_destroy), csd); - g_signal_connect_swapped (cancel_button, - "clicked", G_CALLBACK (gtk_widget_destroy), csd); + g_signal_connect (csd, "response", + G_CALLBACK (gtk_widget_destroy), NULL); /* wait until destroy calls gtk_main_quit */ gtk_widget_show (csd); @@ -3814,7 +3630,7 @@ create_scrolled_windows (GtkWidget *widget) static GtkWidget *window; GtkWidget *content_area, *action_area; GtkWidget *scrolled_window; - GtkWidget *table; + GtkWidget *grid; GtkWidget *button; char buffer[32]; int i, j; @@ -3844,23 +3660,22 @@ create_scrolled_windows (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (content_area), scrolled_window, TRUE, TRUE, 0); gtk_widget_show (scrolled_window); - table = gtk_table_new (20, 20, FALSE); - gtk_table_set_row_spacings (GTK_TABLE (table), 10); - gtk_table_set_col_spacings (GTK_TABLE (table), 10); - gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), table); - gtk_container_set_focus_hadjustment (GTK_CONTAINER (table), + grid = gtk_grid_new (); + gtk_grid_set_row_spacing (GTK_GRID (grid), 10); + gtk_grid_set_column_spacing (GTK_GRID (grid), 10); + gtk_container_add (GTK_CONTAINER (scrolled_window), grid); + gtk_container_set_focus_hadjustment (GTK_CONTAINER (grid), gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (scrolled_window))); - gtk_container_set_focus_vadjustment (GTK_CONTAINER (table), + gtk_container_set_focus_vadjustment (GTK_CONTAINER (grid), gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled_window))); - gtk_widget_show (table); + gtk_widget_show (grid); for (i = 0; i < 20; i++) for (j = 0; j < 20; j++) { sprintf (buffer, "button (%d,%d)\n", i, j); button = gtk_toggle_button_new_with_label (buffer); - gtk_table_attach_defaults (GTK_TABLE (table), button, - i, i+1, j, j+1); + gtk_grid_attach (GTK_GRID (grid), button, i, j, 1, 1); gtk_widget_show (button); } @@ -3932,7 +3747,7 @@ entry_progress_timeout (gpointer data) gtk_entry_set_progress_fraction (GTK_ENTRY (data), fraction); } - return TRUE; + return G_SOURCE_CONTINUE; } static void @@ -4295,7 +4110,7 @@ create_size_group_window (GdkScreen *screen, { GtkWidget *content_area; GtkWidget *window; - GtkWidget *table; + GtkWidget *grid; GtkWidget *main_button; GtkWidget *button; GtkWidget *spin_button; @@ -4321,13 +4136,13 @@ create_size_group_window (GdkScreen *screen, content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - table = gtk_table_new (2, 2, FALSE); - gtk_box_pack_start (GTK_BOX (content_area), table, TRUE, TRUE, 0); + grid = gtk_grid_new (); + gtk_box_pack_start (GTK_BOX (content_area), grid, TRUE, TRUE, 0); - gtk_table_set_row_spacings (GTK_TABLE (table), 5); - gtk_table_set_col_spacings (GTK_TABLE (table), 5); - gtk_container_set_border_width (GTK_CONTAINER (table), 5); - gtk_widget_set_size_request (table, 250, 250); + gtk_grid_set_row_spacing (GTK_GRID (grid), 5); + gtk_grid_set_column_spacing (GTK_GRID (grid), 5); + gtk_container_set_border_width (GTK_CONTAINER (grid), 5); + gtk_widget_set_size_request (grid, 250, 250); hgroup1 = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); hgroup2 = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); @@ -4335,11 +4150,12 @@ create_size_group_window (GdkScreen *screen, vgroup2 = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL); main_button = gtk_button_new_with_label ("X"); + gtk_widget_set_hexpand (main_button, TRUE); + gtk_widget_set_vexpand (main_button, TRUE); + gtk_widget_set_halign (main_button, GTK_ALIGN_CENTER); + gtk_widget_set_valign (main_button, GTK_ALIGN_CENTER); + gtk_grid_attach (GTK_GRID (grid), main_button, 0, 0, 1, 1); - gtk_table_attach (GTK_TABLE (table), main_button, - 0, 1, 0, 1, - GTK_EXPAND, GTK_EXPAND, - 0, 0); gtk_size_group_add_widget (master_size_group, main_button); gtk_size_group_add_widget (hgroup1, main_button); gtk_size_group_add_widget (vgroup1, main_button); @@ -4348,26 +4164,32 @@ create_size_group_window (GdkScreen *screen, SIZE_GROUP_INITIAL_SIZE); button = gtk_button_new (); - gtk_table_attach (GTK_TABLE (table), button, - 1, 2, 0, 1, - GTK_EXPAND, GTK_EXPAND, - 0, 0); + gtk_widget_set_hexpand (button, TRUE); + gtk_widget_set_vexpand (button, TRUE); + gtk_widget_set_halign (button, GTK_ALIGN_CENTER); + gtk_widget_set_valign (button, GTK_ALIGN_CENTER); + gtk_grid_attach (GTK_GRID (grid), button, 1, 0, 1, 1); + gtk_size_group_add_widget (vgroup1, button); gtk_size_group_add_widget (vgroup2, button); button = gtk_button_new (); - gtk_table_attach (GTK_TABLE (table), button, - 0, 1, 1, 2, - GTK_EXPAND, GTK_EXPAND, - 0, 0); + gtk_widget_set_hexpand (button, TRUE); + gtk_widget_set_vexpand (button, TRUE); + gtk_widget_set_halign (button, GTK_ALIGN_CENTER); + gtk_widget_set_valign (button, GTK_ALIGN_CENTER); + gtk_grid_attach (GTK_GRID (grid), button, 0, 1, 1, 1); + gtk_size_group_add_widget (hgroup1, button); gtk_size_group_add_widget (hgroup2, button); button = gtk_button_new (); - gtk_table_attach (GTK_TABLE (table), button, - 1, 2, 1, 2, - GTK_EXPAND, GTK_EXPAND, - 0, 0); + gtk_widget_set_hexpand (button, TRUE); + gtk_widget_set_vexpand (button, TRUE); + gtk_widget_set_halign (button, GTK_ALIGN_CENTER); + gtk_widget_set_valign (button, GTK_ALIGN_CENTER); + gtk_grid_attach (GTK_GRID (grid), button, 1, 1, 1, 1); + gtk_size_group_add_widget (hgroup2, button); gtk_size_group_add_widget (vgroup2, button); @@ -4654,7 +4476,8 @@ create_spins (GtkWidget *widget) 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_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adjustment = gtk_adjustment_new (0, 0, 1410, 30, 60, 0); @@ -4672,7 +4495,8 @@ create_spins (GtkWidget *widget) 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_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adjustment = gtk_adjustment_new (1.0, 1.0, 12.0, 1.0, @@ -4696,7 +4520,8 @@ create_spins (GtkWidget *widget) 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_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adjustment = gtk_adjustment_new (0, 0, 255, 1, 16, 0); @@ -4728,7 +4553,8 @@ create_spins (GtkWidget *widget) 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_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adjustment = gtk_adjustment_new (0.0, -10000.0, 10000.0, @@ -4741,7 +4567,8 @@ create_spins (GtkWidget *widget) 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_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adjustment = gtk_adjustment_new (2, 1, 15, 1, 1, 0); @@ -4895,10 +4722,10 @@ cursor_event (GtkWidget *widget, GtkSpinButton *spinner) { if ((event->type == GDK_BUTTON_PRESS) && - ((event->button.button == 1) || - (event->button.button == 3))) + ((event->button.button == GDK_BUTTON_PRIMARY) || + (event->button.button == GDK_BUTTON_SECONDARY))) { - gtk_spin_button_spin (spinner, event->button.button == 1 ? + gtk_spin_button_spin (spinner, event->button.button == GDK_BUTTON_PRIMARY ? GTK_SPIN_STEP_FORWARD : GTK_SPIN_STEP_BACKWARD, 0); return TRUE; } @@ -4974,26 +4801,30 @@ create_cursors (GtkWidget *widget) NULL); #ifdef GDK_WINDOWING_X11 - 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); - - label = gtk_label_new ("Cursor Theme : "); - gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); - gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); - - entry = gtk_entry_new (); - gtk_entry_set_text (GTK_ENTRY (entry), "default"); - gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, TRUE, 0); - - size = gtk_spin_button_new_with_range (1.0, 64.0, 1.0); - gtk_spin_button_set_value (GTK_SPIN_BUTTON (size), 24.0); - gtk_box_pack_start (GTK_BOX (hbox), size, TRUE, TRUE, 0); - - g_signal_connect (entry, "changed", - G_CALLBACK (change_cursor_theme), hbox); - g_signal_connect (size, "changed", - G_CALLBACK (change_cursor_theme), hbox); + if (GDK_IS_X11_DISPLAY (gtk_widget_get_display (vbox))) + { + 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); + + label = gtk_label_new ("Cursor Theme : "); + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); + gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); + + entry = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry), "default"); + gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, TRUE, 0); + + size = gtk_spin_button_new_with_range (1.0, 64.0, 1.0); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (size), 24.0); + gtk_box_pack_start (GTK_BOX (hbox), size, TRUE, TRUE, 0); + + g_signal_connect (entry, "changed", + G_CALLBACK (change_cursor_theme), hbox); + g_signal_connect (size, "changed", + G_CALLBACK (change_cursor_theme), hbox); + } #endif hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); @@ -5001,7 +4832,8 @@ create_cursors (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Cursor Value : "); - gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); adjustment = gtk_adjustment_new (0, @@ -5073,55 +4905,6 @@ create_cursors (GtkWidget *widget) * GtkColorSelection */ -void -color_selection_ok (GtkWidget *w, - GtkColorSelectionDialog *cs) -{ - GtkWidget *colorsel; - GdkColor color; - - colorsel = gtk_color_selection_dialog_get_color_selection (cs); - - gtk_color_selection_get_current_color (GTK_COLOR_SELECTION (colorsel), &color); - gtk_color_selection_set_current_color (GTK_COLOR_SELECTION (colorsel), &color); -} - -void -color_selection_changed (GtkWidget *w, - GtkColorSelectionDialog *cs) -{ - GtkWidget *colorsel; - GdkColor color; - - colorsel = gtk_color_selection_dialog_get_color_selection (cs); - gtk_color_selection_get_current_color (GTK_COLOR_SELECTION (colorsel), &color); - gtk_color_selection_set_current_color (GTK_COLOR_SELECTION (colorsel), &color); -} - -#if 0 /* unused */ -static void -opacity_toggled_cb (GtkWidget *w, - GtkColorSelectionDialog *cs) -{ - GtkColorSelection *colorsel; - - colorsel = GTK_COLOR_SELECTION (cs->colorsel); - gtk_color_selection_set_has_opacity_control (colorsel, - gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w))); -} - -static void -palette_toggled_cb (GtkWidget *w, - GtkColorSelectionDialog *cs) -{ - GtkColorSelection *colorsel; - - colorsel = GTK_COLOR_SELECTION (cs->colorsel); - gtk_color_selection_set_has_palette (colorsel, - gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w))); -} -#endif - void create_color_selection (GtkWidget *widget) { @@ -5153,7 +4936,7 @@ create_color_selection (GtkWidget *widget) gtk_container_add (GTK_CONTAINER (hbox), label); picker = gtk_color_button_new (); - gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (picker), TRUE); + gtk_color_chooser_set_use_alpha (GTK_COLOR_CHOOSER (picker), TRUE); gtk_container_add (GTK_CONTAINER (hbox), picker); button = gtk_button_new_with_mnemonic ("_Props"); @@ -5321,18 +5104,17 @@ create_flipping (GtkWidget *widget) static GtkWidget* make_focus_table (GList **list) { - GtkWidget *table; + GtkWidget *grid; gint i, j; - table = gtk_table_new (5, 5, FALSE); + grid = gtk_grid_new (); - i = 0; - j = 0; + gtk_grid_set_row_spacing (GTK_GRID (grid), 10); + gtk_grid_set_column_spacing (GTK_GRID (grid), 10); - while (i < 5) + for (i = 0; i < 5; i++) { - j = 0; - while (j < 5) + for (j = 0; j < 5; j++) { GtkWidget *widget; @@ -5343,23 +5125,16 @@ make_focus_table (GList **list) *list = g_list_prepend (*list, widget); - gtk_table_attach (GTK_TABLE (table), - widget, - i, i + 1, - j, j + 1, - GTK_EXPAND | GTK_FILL, - GTK_EXPAND | GTK_FILL, - 5, 5); - - ++j; - } + gtk_widget_set_hexpand (widget, TRUE); + gtk_widget_set_vexpand (widget, TRUE); - ++i; + gtk_grid_attach (GTK_GRID (grid), widget, i, j, 1, 1); + } } *list = g_list_reverse (*list); - return table; + return grid; } static void @@ -5633,7 +5408,7 @@ screen_display_destroy_diag (GtkWidget *widget, GtkWidget *data) void create_display_screen (GtkWidget *widget) { - GtkWidget *table, *frame, *window, *combo_dpy, *vbox; + GtkWidget *grid, *frame, *window, *combo_dpy, *vbox; GtkWidget *radio_dpy, *radio_scr, *applyb, *cancelb; GtkWidget *bbox; ScreenDisplaySelection *scr_dpy_data; @@ -5641,12 +5416,11 @@ create_display_screen (GtkWidget *widget) GdkDisplay *display = gdk_screen_get_display (screen); window = g_object_new (gtk_window_get_type (), - "screen", screen, - "user_data", NULL, - "type", GTK_WINDOW_TOPLEVEL, - "title", - "Screen or Display selection", - "border_width", 10, NULL); + "screen", screen, + "type", GTK_WINDOW_TOPLEVEL, + "title", "Screen or Display selection", + "border_width", + 10, NULL); g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroy), NULL); @@ -5656,11 +5430,11 @@ create_display_screen (GtkWidget *widget) frame = gtk_frame_new ("Select screen or display"); gtk_container_add (GTK_CONTAINER (vbox), frame); - table = gtk_table_new (2, 2, TRUE); - gtk_table_set_row_spacings (GTK_TABLE (table), 3); - gtk_table_set_col_spacings (GTK_TABLE (table), 3); + grid = gtk_grid_new (); + gtk_grid_set_row_spacing (GTK_GRID (grid), 3); + gtk_grid_set_column_spacing (GTK_GRID (grid), 3); - gtk_container_add (GTK_CONTAINER (frame), table); + gtk_container_add (GTK_CONTAINER (frame), grid); radio_dpy = gtk_radio_button_new_with_label (NULL, "move to another X display"); if (gdk_display_get_n_screens(display) > 1) @@ -5674,13 +5448,14 @@ create_display_screen (GtkWidget *widget) gtk_widget_set_sensitive (radio_scr, FALSE); } combo_dpy = gtk_combo_box_text_new_with_entry (); + gtk_widget_set_hexpand (combo_dpy, TRUE); gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo_dpy), "diabolo:0.0"); gtk_entry_set_text (GTK_ENTRY (gtk_bin_get_child (GTK_BIN (combo_dpy))), ":."); - gtk_table_attach_defaults (GTK_TABLE (table), radio_dpy, 0, 1, 0, 1); - gtk_table_attach_defaults (GTK_TABLE (table), radio_scr, 0, 1, 1, 2); - gtk_table_attach_defaults (GTK_TABLE (table), combo_dpy, 1, 2, 0, 1); + gtk_grid_attach (GTK_GRID (grid), radio_dpy, 0, 0, 1, 1); + gtk_grid_attach (GTK_GRID (grid), radio_scr, 0, 1, 1, 1); + gtk_grid_attach (GTK_GRID (grid), combo_dpy, 1, 0, 1, 1); bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); applyb = gtk_button_new_from_stock (GTK_STOCK_APPLY); @@ -6339,6 +6114,31 @@ create_notebook (GtkWidget *widget) gtk_widget_destroy (window); } +void +create_settings (GtkWidget *widget) +{ + static GtkWidget *window = NULL; + + if (!window) + { + window = create_prop_editor (G_OBJECT (gtk_settings_get_default ()), GTK_TYPE_SETTINGS); + gtk_window_set_screen (GTK_WINDOW (window), + gtk_widget_get_screen (widget)); + + gtk_widget_hide (window); + gtk_window_set_title (GTK_WINDOW (window), "GTK+ Settings"); + + g_signal_connect (window, "destroy", + G_CALLBACK (gtk_widget_destroyed), + &window); + } + + if (!gtk_widget_get_visible (window)) + gtk_widget_show (window); + else + gtk_widget_destroy (window); +} + /* * GtkPanes */ @@ -6347,7 +6147,7 @@ void toggle_resize (GtkWidget *widget, GtkWidget *child) { GtkContainer *container = GTK_CONTAINER (gtk_widget_get_parent (child)); - GValue value = { 0, }; + GValue value = G_VALUE_INIT; g_value_init (&value, G_TYPE_BOOLEAN); gtk_container_child_get_property (container, child, "resize", &value); g_value_set_boolean (&value, !g_value_get_boolean (&value)); @@ -6358,7 +6158,7 @@ void toggle_shrink (GtkWidget *widget, GtkWidget *child) { GtkContainer *container = GTK_CONTAINER (gtk_widget_get_parent (child)); - GValue value = { 0, }; + GValue value = G_VALUE_INIT; g_value_init (&value, G_TYPE_BOOLEAN); gtk_container_child_get_property (container, child, "shrink", &value); g_value_set_boolean (&value, !g_value_get_boolean (&value)); @@ -6382,7 +6182,7 @@ create_pane_options (GtkPaned *paned, { GtkWidget *child1, *child2; GtkWidget *frame; - GtkWidget *table; + GtkWidget *grid; GtkWidget *label; GtkWidget *button; GtkWidget *check_button; @@ -6393,23 +6193,20 @@ create_pane_options (GtkPaned *paned, frame = gtk_frame_new (frame_label); gtk_container_set_border_width (GTK_CONTAINER (frame), 4); - table = gtk_table_new (4, 2, 4); - gtk_container_add (GTK_CONTAINER (frame), table); + grid = gtk_grid_new (); + gtk_container_add (GTK_CONTAINER (frame), grid); label = gtk_label_new (label1); - gtk_table_attach_defaults (GTK_TABLE (table), label, - 0, 1, 0, 1); + gtk_grid_attach (GTK_GRID (grid), label, 0, 0, 1, 1); check_button = gtk_check_button_new_with_label ("Resize"); - gtk_table_attach_defaults (GTK_TABLE (table), check_button, - 0, 1, 1, 2); + gtk_grid_attach (GTK_GRID (grid), check_button, 0, 1, 1, 1); g_signal_connect (check_button, "toggled", G_CALLBACK (toggle_resize), child1); check_button = gtk_check_button_new_with_label ("Shrink"); - gtk_table_attach_defaults (GTK_TABLE (table), check_button, - 0, 1, 2, 3); + gtk_grid_attach (GTK_GRID (grid), check_button, 0, 2, 1, 1); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button), TRUE); g_signal_connect (check_button, "toggled", @@ -6417,12 +6214,10 @@ create_pane_options (GtkPaned *paned, child1); label = gtk_label_new (label2); - gtk_table_attach_defaults (GTK_TABLE (table), label, - 1, 2, 0, 1); + gtk_grid_attach (GTK_GRID (grid), label, 1, 0, 1, 1); check_button = gtk_check_button_new_with_label ("Resize"); - gtk_table_attach_defaults (GTK_TABLE (table), check_button, - 1, 2, 1, 2); + gtk_grid_attach (GTK_GRID (grid), check_button, 1, 1, 1, 1); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button), TRUE); g_signal_connect (check_button, "toggled", @@ -6430,8 +6225,7 @@ create_pane_options (GtkPaned *paned, child2); check_button = gtk_check_button_new_with_label ("Shrink"); - gtk_table_attach_defaults (GTK_TABLE (table), check_button, - 1, 2, 2, 3); + gtk_grid_attach (GTK_GRID (grid), check_button, 1, 2, 1, 1); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button), TRUE); g_signal_connect (check_button, "toggled", @@ -6439,8 +6233,7 @@ create_pane_options (GtkPaned *paned, child2); button = gtk_button_new_with_mnemonic ("_Properties"); - gtk_table_attach_defaults (GTK_TABLE (table), button, - 0, 2, 3, 4); + gtk_grid_attach (GTK_GRID (grid), button, 0, 3, 2, 1); g_signal_connect (button, "clicked", G_CALLBACK (paned_props_clicked), paned); @@ -6547,7 +6340,7 @@ paned_keyboard_window1 (GtkWidget *widget) GtkWidget *button6; GtkWidget *frame3; GtkWidget *frame4; - GtkWidget *table1; + GtkWidget *grid1; GtkWidget *button1; GtkWidget *button2; GtkWidget *button3; @@ -6604,29 +6397,21 @@ paned_keyboard_window1 (GtkWidget *widget) gtk_container_add (GTK_CONTAINER (frame3), frame4); gtk_container_set_border_width (GTK_CONTAINER (frame4), 15); - table1 = gtk_table_new (2, 2, FALSE); - gtk_container_add (GTK_CONTAINER (frame4), table1); - gtk_container_set_border_width (GTK_CONTAINER (table1), 11); + grid1 = gtk_grid_new (); + gtk_container_add (GTK_CONTAINER (frame4), grid1); + gtk_container_set_border_width (GTK_CONTAINER (grid1), 11); button1 = gtk_button_new_with_label ("button1"); - gtk_table_attach (GTK_TABLE (table1), button1, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); + gtk_grid_attach (GTK_GRID (grid1), button1, 0, 0, 1, 1); button2 = gtk_button_new_with_label ("button2"); - gtk_table_attach (GTK_TABLE (table1), button2, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); + gtk_grid_attach (GTK_GRID (grid1), button2, 1, 0, 1, 1); button3 = gtk_button_new_with_label ("button3"); - gtk_table_attach (GTK_TABLE (table1), button3, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); + gtk_grid_attach (GTK_GRID (grid1), button3, 0, 1, 1, 1); button4 = gtk_button_new_with_label ("button4"); - gtk_table_attach (GTK_TABLE (table1), button4, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); + gtk_grid_attach (GTK_GRID (grid1), button4, 1, 1, 1, 1); return window1; } @@ -6956,7 +6741,6 @@ shape_motion (GtkWidget *widget, { gint xp, yp; CursorOffset * p; - GdkModifierType mask; p = g_object_get_data (G_OBJECT (widget), "cursor_offset"); @@ -6964,7 +6748,9 @@ shape_motion (GtkWidget *widget, * Can't use event->x / event->y here * because I need absolute coordinates. */ - gdk_window_get_pointer (NULL, &xp, &yp, &mask); + gdk_window_get_device_position (gdk_screen_get_root_window (gtk_widget_get_screen (widget)), + gdk_event_get_device ((GdkEvent *) event), + &xp, &yp, NULL); gtk_window_move (GTK_WINDOW (widget), xp - p->x, yp - p->y); } @@ -8326,9 +8112,8 @@ create_progress_bar (GtkWidget *widget) GtkWidget *hbox; GtkWidget *check; GtkWidget *frame; - GtkWidget *tab; + GtkWidget *grid; GtkWidget *label; - GtkWidget *align; static ProgressData *pdata = NULL; static gchar *items1[] = @@ -8379,20 +8164,17 @@ create_progress_bar (GtkWidget *widget) 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); - gtk_box_pack_start (GTK_BOX (vbox2), align, FALSE, FALSE, 5); - pdata->pbar = gtk_progress_bar_new (); gtk_progress_bar_set_ellipsize (GTK_PROGRESS_BAR (pdata->pbar), PANGO_ELLIPSIZE_MIDDLE); - - gtk_container_add (GTK_CONTAINER (align), pdata->pbar); - - align = gtk_alignment_new (0.5, 0.5, 0, 0); - gtk_box_pack_start (GTK_BOX (vbox2), align, FALSE, FALSE, 5); + gtk_widget_set_halign (pdata->pbar, GTK_ALIGN_CENTER); + gtk_widget_set_valign (pdata->pbar, GTK_ALIGN_CENTER); + gtk_box_pack_start (GTK_BOX (vbox2), pdata->pbar, FALSE, FALSE, 5); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); - gtk_container_add (GTK_CONTAINER (align), hbox); + gtk_widget_set_halign (hbox, GTK_ALIGN_CENTER); + gtk_widget_set_valign (hbox, GTK_ALIGN_CENTER); + gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 5); label = gtk_label_new ("Label updated by user :"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); pdata->label = gtk_label_new (""); @@ -8404,50 +8186,42 @@ create_progress_bar (GtkWidget *widget) vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_add (GTK_CONTAINER (frame), vbox2); - tab = gtk_table_new (7, 2, FALSE); - gtk_box_pack_start (GTK_BOX (vbox2), tab, FALSE, TRUE, 0); + grid = gtk_grid_new (); + gtk_grid_set_row_spacing (GTK_GRID (grid), 10); + gtk_grid_set_column_spacing (GTK_GRID (grid), 10); + gtk_box_pack_start (GTK_BOX (vbox2), grid, FALSE, TRUE, 0); label = gtk_label_new ("Orientation :"); - gtk_table_attach (GTK_TABLE (tab), label, 0, 1, 0, 1, - GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, - 5, 5); - gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + gtk_grid_attach (GTK_GRID (grid), label, 0, 0, 1, 1); + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); pdata->omenu1 = build_option_menu (items1, 4, 0, progressbar_toggle_orientation, pdata); - 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); + gtk_grid_attach (GTK_GRID (grid), pdata->omenu1, 1, 0, 1, 1); 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_grid_attach (GTK_GRID (grid), check, 0, 1, 2, 1); 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, 2, 3, - GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, - 5, 5); + gtk_grid_attach (GTK_GRID (grid), check, 0, 2, 1, 1); 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); + gtk_grid_attach (GTK_GRID (grid), hbox, 1, 2, 1, 1); label = gtk_label_new ("Text: "); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); pdata->entry = gtk_entry_new (); + gtk_widget_set_hexpand (pdata->entry, TRUE); g_signal_connect (pdata->entry, "changed", G_CALLBACK (entry_changed), pdata); @@ -8455,27 +8229,21 @@ create_progress_bar (GtkWidget *widget) gtk_widget_set_size_request (pdata->entry, 100, -1); label = gtk_label_new ("Ellipsize text :"); - gtk_table_attach (GTK_TABLE (tab), label, 0, 1, 10, 11, - GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, - 5, 5); - gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + gtk_grid_attach (GTK_GRID (grid), label, 0, 10, 1, 1); + + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); pdata->elmenu = build_option_menu (ellipsize_items, sizeof (ellipsize_items) / sizeof (ellipsize_items[0]), 2, // PANGO_ELLIPSIZE_MIDDLE progressbar_toggle_ellipsize, pdata); - 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); - gtk_box_pack_start (GTK_BOX (hbox), pdata->elmenu, TRUE, TRUE, 0); + gtk_grid_attach (GTK_GRID (grid), pdata->elmenu, 1, 10, 1, 1); check = gtk_check_button_new_with_label ("Activity mode"); g_signal_connect (check, "clicked", G_CALLBACK (toggle_activity_mode), pdata); - gtk_table_attach (GTK_TABLE (tab), check, 0, 1, 15, 16, - GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, - 5, 5); + gtk_grid_attach (GTK_GRID (grid), check, 0, 15, 1, 1); button = gtk_button_new_with_label ("close"); g_signal_connect_swapped (button, "clicked", @@ -8620,8 +8388,9 @@ find_widget_at_pointer (GdkDevice *device) if (widget) { - gdk_window_get_pointer (gtk_widget_get_window (widget), - &x, &y, NULL); + gdk_window_get_device_position (gtk_widget_get_window (widget), + device, + &x, &y, NULL); data.x = x; data.y = y; @@ -9065,7 +8834,7 @@ create_selection_test (GtkWidget *widget) store = gtk_list_store_new (1, G_TYPE_STRING); tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store)); - gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_win), tree_view); + gtk_container_add (GTK_CONTAINER (scrolled_win), tree_view); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes ("Target", renderer, @@ -9393,7 +9162,7 @@ idle_test (GtkWidget *label) sprintf (buffer, "count: %d", ++count); gtk_label_set_text (GTK_LABEL (label), buffer); - return TRUE; + return G_SOURCE_CONTINUE; } static void @@ -9860,7 +9629,8 @@ create_styles (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (content_area), vbox, FALSE, FALSE, 0); label = gtk_label_new ("Font:"); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); font_desc = pango_font_description_from_string ("Helvetica,Sans Oblique 18"); @@ -9870,7 +9640,8 @@ create_styles (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); label = gtk_label_new ("Foreground:"); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); button = gtk_button_new_with_label ("Some Text"); @@ -9878,7 +9649,8 @@ create_styles (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); label = gtk_label_new ("Background:"); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); button = gtk_button_new_with_label ("Some Text"); @@ -9886,7 +9658,8 @@ create_styles (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); label = gtk_label_new ("Text:"); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); entry = gtk_entry_new (); @@ -9895,7 +9668,8 @@ create_styles (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0); label = gtk_label_new ("Base:"); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); entry = gtk_entry_new (); @@ -9904,7 +9678,8 @@ create_styles (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0); label = gtk_label_new ("Cursor:"); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); entry = gtk_entry_new (); @@ -9913,7 +9688,8 @@ create_styles (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0); label = gtk_label_new ("Multiple:"); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); button = gtk_button_new_with_label ("Some Text"); @@ -9966,6 +9742,7 @@ struct { } buttons[] = { { "alpha window", create_alpha_window }, + { "alpha widget", create_alpha_widgets }, { "big windows", create_big_windows }, { "button box", create_button_box }, { "buttons", create_buttons }, @@ -9982,7 +9759,6 @@ struct { { "flipping", create_flipping }, { "focus", create_focus }, { "font selection", create_font_selection }, - { "handle box", create_handle_box }, { "image", create_image }, { "key lookup", create_key_lookup }, { "labels", create_labels }, @@ -10005,6 +9781,7 @@ struct { { "rotated text", create_rotated_text }, { "saved position", create_saved_position }, { "scrolled windows", create_scrolled_windows }, + { "settings", create_settings }, { "shapes", create_shapes }, { "size groups", create_size_groups }, { "snapshot", create_snapshot }, @@ -10089,7 +9866,7 @@ create_main_window (void) 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_add (GTK_CONTAINER (scrolled_window), box2); gtk_container_set_focus_vadjustment (GTK_CONTAINER (box2), gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled_window))); gtk_widget_show (box2);