/usr/share/help/gl/gnome-devel-demos/statusbar.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 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | <?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="statusbar.c" xml:lang="gl">
<info>
<title type="text">Statusbar (C)</title>
<link type="guide" xref="c#buttons"/>
<link type="seealso" xref="grid.c"/>
<link type="seealso" xref="button.c"/>
<revision version="0.1" 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>Mensaxe de informe de menos importancia para o usuario</desc>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Fran Dieguez</mal:name>
<mal:email>frandieguez@gnome.org</mal:email>
<mal:years>2012-2013.</mal:years>
</mal:credit>
</info>
<title>Barra de estado</title>
<media type="image" mime="image/png" src="media/statusbar3.png"/>
<p>Esta barra de estado úsase para demostrar como se apilan mensaxes nunha orde «o último que entra é o primeiro que sae». A mensaxe da parte superior da pila sempre se mostrará.</p>
<code mime="text/x-csrc" style="numbered">
#include <gtk/gtk.h>
/*Callback function in which pushes an item onto the statusbar*/
static void
push_item (GtkWidget *widget,
gpointer data)
{
GtkWidget *status_bar = data;
/*Create a context id, which is used to uniquely identify
*the source of a message*/
guint context_id = gtk_statusbar_get_context_id (GTK_STATUSBAR (status_bar),
"Statusbar example");
/*Count is used to keep track of the amount of items
the user is pushing/popping*/
static int count = 1;
char hold_output[20];
/*This is a safer form of the standard sprintf () function. The output is
guaranteed in this case to not exceed 20 characters, and the result is stored
into the 'hold_output' variable*/
g_snprintf (hold_output, 20, "Item %d", count++);
gtk_statusbar_push (GTK_STATUSBAR (status_bar),
context_id,
hold_output);
}
/*Callback function that is used to pop an item off the statusbar*/
static void
pop_item (GtkWidget *widget,
gpointer data )
{
GtkWidget *status_bar = data;
guint context_id = gtk_statusbar_get_context_id (GTK_STATUSBAR (status_bar),
"Statusbar example");
gtk_statusbar_pop (GTK_STATUSBAR (status_bar), context_id);
}
static void
activate (GtkApplication *app,
gpointer user_data)
{
GtkWidget *grid;
GtkWidget *window;
GtkWidget *status_bar;
GtkWidget *pop_button;
GtkWidget *push_button;
/*Create a window with a title, border width, and a default size**/
window = gtk_application_window_new (app);
gtk_window_set_default_size (GTK_WINDOW (window), 220, 100);
gtk_window_set_title (GTK_WINDOW (window), "Statusbar Example");
gtk_container_set_border_width (GTK_CONTAINER(window), 10);
/*Create the status bar, which is held in the global variable*/
status_bar = gtk_statusbar_new ();
/*Create the buttons with labels*/
push_button = gtk_button_new_with_label ("push item");
pop_button = gtk_button_new_with_label ("pop last item");
/*Create the grid, and attach the buttons/statusbar accordingly*/
grid = gtk_grid_new ();
gtk_grid_attach (GTK_GRID (grid), push_button, 0,1,1,1);
gtk_grid_attach (GTK_GRID (grid), pop_button, 0,2,1,1);
gtk_grid_attach (GTK_GRID (grid), status_bar, 0,3,1,1);
/*Connecting the clicked signals to the corresponding callback functions*/
g_signal_connect (GTK_BUTTON (push_button), "clicked",
G_CALLBACK (push_item), status_bar);
g_signal_connect (GTK_BUTTON (pop_button), "clicked",
G_CALLBACK (pop_item), status_bar);
/*Attach the grid holding the child widgets onto the window, and show all*/
gtk_container_add (GTK_CONTAINER (window), 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>Neste exemplo empregaremos o seguinte:</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/GtkStatusbar.html">GtkStatusBar</link></p></item>
<item><p><link href="http://developer.gnome.org/glib/stable/glib-String-Utility-Functions.html#g-snprintf">String Utility Functions</link></p></item>
<item><p><link href="http://developer.gnome.org/gtk3/stable/GtkGrid.html">GtkGrid</link></p></item>
</list>
</page>
|