/usr/share/help/de/gnome-devel-demos/combobox.c.page is in gnome-devel-docs 3.28.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | <?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:xi="http://www.w3.org/2001/XInclude" type="guide" style="task" id="combobox.c" xml:lang="de">
<info>
<title type="text">ComboBox (C)</title>
<link type="guide" xref="c#menu-combo-toolbar"/>
<revision version="0.1" date="2012-08-20" status="draft"/>
<credit type="author copyright">
<name>Monica Kochofar</name>
<email its:translate="no">monicakochofar@gmail.com</email>
<years>2012</years>
</credit>
<credit type="editor">
<name>Tiffany Antopolski</name>
<email its:translate="no">tiffany.antopolski@gmail.com</email>
</credit>
<desc>A widget used to choose from a list of items</desc>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Mario Blättermann</mal:name>
<mal:email>mario.blaettermann@gmail.com</mal:email>
<mal:years>2011, 2013</mal:years>
</mal:credit>
</info>
<title>ComboBox</title>
<media type="image" mime="image/png" src="media/combobox.png"/>
<p>This ComboBox prints to the terminal when you change your selection.</p>
<code mime="text/x-csrc" style="numbered">
#include <gtk/gtk.h>
/* This is the callback function. It is a handler function which reacts to the
* signal. In this case, if the row selected is not the first one of the
* ComboBox, we write its value in the terminal for the user.
*/
static void
on_changed (GtkComboBox *widget,
gpointer user_data)
{
GtkComboBox *combo_box = widget;
if (gtk_combo_box_get_active (combo_box) != 0) {
gchar *distro = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT(combo_box));
g_print ("You chose %s\n", distro);
g_free (distro);
}
}
static void
activate (GtkApplication *app,
gpointer user_data)
{
gint i;
GtkWidget *view;
GtkWidget *window;
GtkWidget *combo_box;
/* Create a window with a title, border width, and a default size. Setting the
* size to -1 means to use the "natural" default size.
* (the size request of the window)
*/
window = gtk_application_window_new (app);
gtk_window_set_title (GTK_WINDOW (window), "Welcome to GNOME");
gtk_window_set_default_size (GTK_WINDOW (window), 200, -1);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
/* Create the combo box and append your string values to it. */
combo_box = gtk_combo_box_text_new ();
const char *distros[] = {"Select distribution", "Fedora", "Mint", "Suse"};
/* G_N_ELEMENTS is a macro which determines the number of elements in an array.*/
for (i = 0; i < G_N_ELEMENTS (distros); i++){
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo_box), distros[i]);
}
/* Choose to set the first row as the active one by default, from the beginning */
gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), 0);
/* Connect the signal emitted when a row is selected to the appropriate
* callback function.
*/
g_signal_connect (combo_box,
"changed",
G_CALLBACK (on_changed),
NULL);
/* Add it to the window */
gtk_container_add (GTK_CONTAINER (window), combo_box);
gtk_widget_show_all (window);
}
int
main (int argc, char **argv)
{
GtkApplication *app;
int status;
app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
status = g_application_run (G_APPLICATION (app), argc, argv);
g_object_unref (app);
return status;
}
</code>
<p>
In this sample we used the following:
</p>
<list>
<item><p><link href="http://developer.gnome.org/gtk3/3.4/GtkApplication.html">GtkApplication</link></p></item>
<item><p><link href="http://developer.gnome.org/gtk3/3.4/GtkWindow.html">GtkWindow</link></p></item>
<item><p><link href="http://developer.gnome.org/gtk3/stable/GtkComboBoxText.html">GtkComboBoxText</link></p></item>
</list>
</page>
|