5 main (int argc, char **argv)
13 gtk_init (&argc, &argv);
15 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
16 gtk_window_set_title (GTK_WINDOW (window), "Gtk Entry Icons Test");
17 gtk_container_set_border_width (GTK_CONTAINER (window), 12);
19 g_signal_connect (G_OBJECT (window), "destroy",
20 G_CALLBACK (gtk_main_quit), NULL);
22 table = gtk_table_new (2, 4, FALSE);
23 gtk_container_add (GTK_CONTAINER (window), table);
24 gtk_table_set_row_spacings (GTK_TABLE (table), 6);
25 gtk_table_set_col_spacings (GTK_TABLE (table), 6);
28 * Open File - Sets the icon using a GIcon
30 label = gtk_label_new ("Open File:");
31 gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
32 GTK_FILL, GTK_FILL, 0, 0);
33 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
35 entry = gtk_entry_new ();
36 gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 0, 1,
37 GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0);
39 icon = g_themed_icon_new_with_default_fallbacks ("folder");
40 gtk_entry_set_icon_from_gicon (GTK_ENTRY (entry),
41 GTK_ENTRY_ICON_PRIMARY,
43 gtk_entry_set_icon_sensitive (GTK_ENTRY (entry),
44 GTK_ENTRY_ICON_PRIMARY,
47 gtk_entry_set_icon_tooltip_text (GTK_ENTRY (entry),
48 GTK_ENTRY_ICON_PRIMARY,
52 * Save File - sets the icon using a stock id.
54 label = gtk_label_new ("Save File:");
55 gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
56 GTK_FILL, GTK_FILL, 0, 0);
57 gtk_misc_set_alignment (GTK_MISC(label), 0.0, 0.5);
59 entry = gtk_entry_new ();
60 gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 1, 2,
61 GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0);
62 gtk_entry_set_text (GTK_ENTRY (entry), "Right-to-left");
63 gtk_widget_set_direction (entry, GTK_TEXT_DIR_RTL);
65 gtk_entry_set_icon_from_stock (GTK_ENTRY (entry),
66 GTK_ENTRY_ICON_PRIMARY,
68 gtk_entry_set_icon_tooltip_text (GTK_ENTRY (entry),
69 GTK_ENTRY_ICON_PRIMARY,
73 * Search - Uses a helper function
75 label = gtk_label_new ("Search:");
76 gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3,
77 GTK_FILL, GTK_FILL, 0, 0);
78 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
80 entry = gtk_entry_new ();
81 gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 2, 3,
82 GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0);
84 gtk_entry_set_icon_from_stock (GTK_ENTRY (entry),
85 GTK_ENTRY_ICON_PRIMARY,
88 gtk_entry_set_icon_from_stock (GTK_ENTRY (entry),
89 GTK_ENTRY_ICON_SECONDARY,
93 * Password - Sets the icon using a stock id
95 label = gtk_label_new ("Password:");
96 gtk_table_attach (GTK_TABLE (table), label, 0, 1, 3, 4,
97 GTK_FILL, GTK_FILL, 0, 0);
98 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
100 entry = gtk_entry_new ();
101 gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 3, 4,
102 GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0);
103 gtk_entry_set_visibility (GTK_ENTRY (entry), FALSE);
105 gtk_entry_set_icon_from_stock (GTK_ENTRY (entry),
106 GTK_ENTRY_ICON_PRIMARY,
107 GTK_STOCK_DIALOG_AUTHENTICATION);
109 /* Name - Does not set any icons. */
110 label = gtk_label_new ("Name:");
111 gtk_table_attach (GTK_TABLE (table), label, 0, 1, 4, 5,
112 GTK_FILL, GTK_FILL, 0, 0);
113 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
115 entry = gtk_entry_new ();
116 gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 4, 5,
117 GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0);
119 gtk_widget_show_all (window);