/usr/share/help/fr/gnome-devel-demos/radiobutton.c.page is in gnome-devel-docs 3.18.1-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 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | <?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="radiobutton.c" xml:lang="fr">
<info>
<title type="text">RadioButton (C)</title>
<link type="guide" xref="c#buttons"/>
<link type="seealso" xref="togglebutton.c"/>
<link type="seealso" xref="grid.c"/>
<revision version="0.2" date="2012-06-22" status="draft"/>
<credit type="author copyright">
<name>Monica Kochofar</name>
<email its:translate="no">monicakochofar@gmail.com</email>
<years>2012</years>
</credit>
<desc>Un choix entre plusieurs boutons de vérification.</desc>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Luc Rebert,</mal:name>
<mal:email>traduc@rebert.name</mal:email>
<mal:years>2011</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Alain Lojewski,</mal:name>
<mal:email>allomervan@gmail.com</mal:email>
<mal:years>2011-2012</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Luc Pionchon</mal:name>
<mal:email>pionchon.luc@gmail.com</mal:email>
<mal:years>2011</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Bruno Brouard</mal:name>
<mal:email>annoa.b@gmail.com</mal:email>
<mal:years>2011-12</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Luis Menina</mal:name>
<mal:email>liberforce@freeside.fr</mal:email>
<mal:years>2014</mal:years>
</mal:credit>
</info>
<title>RadioButton</title>
<media type="image" mime="image/png" src="media/radiobutton.png"/>
<p>Ces boutons de radio signalent leur activité dans le terminal.</p>
<code mime="text/x-csrc" style="numbered">
#include <gtk/gtk.h>
/*Signal handler for the "toggled" signal of the RadioButton*/
static void
button_toggled_cb (GtkWidget *button,
gpointer user_data)
{
char *b_state;
const char *button_label;
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)))
b_state = "on";
else {
b_state = "off";
g_print ("\n");
}
button_label = gtk_button_get_label (GTK_BUTTON (button));
g_print ("%s was turned %s\n", button_label, b_state);
}
static void
activate (GtkApplication *app,
gpointer user_data)
{
GtkWidget *grid;
GtkWidget *window;
GtkWidget *button1;
GtkWidget *button2;
GtkWidget *button3;
/*Create a window with a set title and default size.
Also, set a border width for the amount of space to leave
inside the window*/
window = gtk_application_window_new (app);
gtk_window_set_title (GTK_WINDOW (window), "RadioButton Example");
gtk_window_set_default_size (GTK_WINDOW (window), 250, 100);
gtk_container_set_border_width (GTK_CONTAINER(window), 20);
/*Create an initial radio button*/
button1 = gtk_radio_button_new_with_label (NULL, "Button 1");
/*Create a second radio button, and add it to the same group as Button 1*/
button2 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button1),
"Button 2");
/*Create a third button, and add it to the same group as Button 1*/
button3 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button1),
"Button 3");
/*Create a grid, attach the buttons, and position them accordingly*/
grid = gtk_grid_new ();
gtk_grid_attach (GTK_GRID (grid), button1, 0, 0, 1, 1);
gtk_grid_attach (GTK_GRID (grid), button2, 0, 1, 1, 1);
gtk_grid_attach (GTK_GRID (grid), button3, 0, 2, 1, 1);
/*Be sure to set the initial state of each button*/
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button2), TRUE);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button1), FALSE);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button3), FALSE);
/*Connect the signal handlers (aka Callback functions) to the buttons*/
g_signal_connect (GTK_TOGGLE_BUTTON (button1), "toggled",
G_CALLBACK (button_toggled_cb), window);
g_signal_connect (GTK_TOGGLE_BUTTON (button2), "toggled",
G_CALLBACK (button_toggled_cb), window);
g_signal_connect (GTK_TOGGLE_BUTTON (button3), "toggled",
G_CALLBACK (button_toggled_cb), window);
gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (grid));
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>Dans cet exemple, les éléments suivants sont utilisés :</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/GtkLabel.html">GtkLabel</link></p></item>
<item><p><link href="http://developer.gnome.org/gtk3/stable/GtkGrid.html">GtkGrid</link></p></item>
<item><p><link href="http://developer.gnome.org/gtk3/stable/GtkSwitch.html">GtkSwitch</link></p></item>
</list>
</page>
|