3 * These widgets are mainly intended for use in preference dialogs.
4 * They allow to select colors, fonts, files and directories.
10 do_pickers (GtkWidget *do_widget)
12 static GtkWidget *window = NULL;
13 GtkWidget *table, *label, *picker;
17 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
18 gtk_window_set_screen (GTK_WINDOW (window),
19 gtk_widget_get_screen (do_widget));
20 gtk_window_set_title (GTK_WINDOW (window), "Pickers");
22 g_signal_connect (window, "destroy",
23 G_CALLBACK (gtk_widget_destroyed),
26 gtk_container_set_border_width (GTK_CONTAINER (window), 10);
28 table = gtk_table_new (4, 2, FALSE);
29 gtk_table_set_col_spacing (GTK_TABLE (table), 0, 10);
30 gtk_table_set_row_spacings (GTK_TABLE (table), 3);
31 gtk_container_add (GTK_CONTAINER (window), table);
33 gtk_container_set_border_width (GTK_CONTAINER (table), 10);
35 label = gtk_label_new ("Color:");
36 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
37 picker = gtk_color_button_new ();
38 gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 0, 1);
39 gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 0, 1);
41 label = gtk_label_new ("Font:");
42 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
43 picker = gtk_font_button_new ();
44 gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 1, 2);
45 gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 1, 2);
47 label = gtk_label_new ("File:");
48 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
49 picker = gtk_file_chooser_button_new ("Pick a File",
50 GTK_FILE_CHOOSER_ACTION_OPEN);
51 gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 2, 3);
52 gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 2, 3);
54 label = gtk_label_new ("Folder:");
55 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
56 picker = gtk_file_chooser_button_new ("Pick a Folder",
57 GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
58 gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 3, 4);
59 gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 3, 4);
62 if (!GTK_WIDGET_VISIBLE (window))
64 gtk_widget_show_all (window);
68 gtk_widget_destroy (window);