This file is indexed.

/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 &lt;gtk/gtk.h&gt;



/*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>