This file is indexed.

/usr/share/help/el/gnome-devel-demos/statusbar.c.page is in gnome-devel-docs 3.14.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
<?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="el">
  <info>
    <title type="text">Γραμμή κατάστασης (C)</title>
    <link type="guide" xref="beginner.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>Μηνύματα αναφοράς μικρότερης σημασίας για τον χρήστη</desc>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Ελληνική μεταφραστική ομάδα GNOME</mal:name>
      <mal:email>team@gnome.gr</mal:email>
      <mal:years>2012-2014</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Δημήτρης Σπίγγος</mal:name>
      <mal:email>dmtrs32@gmail.com</mal:email>
      <mal:years>2012, 2013</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Μαρία Θουκιδίδου</mal:name>
      <mal:email>marablack3@gmail.com</mal:email>
      <mal:years>2014</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Θάνος Τρυφωνίδης</mal:name>
      <mal:email>tomtryf@gmail.com</mal:email>
      <mal:years>2014</mal:years>
    </mal:credit>
  </info>

  <title>Γραμμή κατάστασης</title>

  <media type="image" mime="image/png" src="media/statusbar3.png"/>
  <p>Αυτή η γραμμή κατάστασης χρησιμοποιείται για να εμφανίσει πόσα μηνύματα στοιβάζονται σε μια σειρά τελευταίο προς πρώτο. Το μήνυμα στην κορυφή της στοίβας είναι πάντα αυτό που εμφανίζεται.</p>

      <code mime="text/x-csrc" style="numbered">
#περιλαμβάνει &lt;gtk/gtk.h&gt;



/*Η συνάρτηση επανάκλησης στην οποία προωθεί ένα στοιχείο στη γραμμή κατάστασης*/
static void 
push_item (GtkWidget *widget,
           gpointer   data)
{
  GtkWidget *status_bar = data;

  /*Δημιουργία ενός αναγνωριστικού περιεχομένου, που χρησιμοποιείται για μοναδική αναγνώριση 
   *the source of a message*/
  guint context_id = gtk_statusbar_get_context_id (GTK_STATUSBAR (status_bar), 
                                                   "Statusbar example");

  /*Η μέτρηση χρησιμοποιείται για παρακολούθηση του αριθμού των στοιχείων 
  the user is pushing/popping*/
  static int count = 1;
  char hold_output[20];
  
  /*Αυτή είναι μια ασφαλέστερη μορφή της τυπικής συνάρτησης sprintf (). Η έξοδος 
  εγγυάται στην περίπτωση που δεν ξεπερνά τους 20 χαρακτήρες και το αποτέλεσμα αποθηκεύεται 
  into the 'hold_output' variable*/
  g_snprintf (hold_output, 20, "Item %d", count++);
  gtk_statusbar_push (GTK_STATUSBAR (status_bar), 
                     context_id, 
                     hold_output);
}



/*Η συνάρτηση επανάκλησης που χρησιμοποιείται για ανάδυση ενός στοιχείου από τη γραμμή κατάστασης*/
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;

    /*Δημιουργία παραθύρου με τίτλο, πλάτος περιγράμματος και προεπιλεγμένο μέγεθος**/
    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);
    
    /*Δημιουργία της γραμμής κατάστασης, που κρατιέται στην καθολική μεταβλητή*/
    status_bar = gtk_statusbar_new ();      
    
    /*Δημιουργίαν των πλήκτρων με ετικέτες*/
    push_button = gtk_button_new_with_label ("push item");
    pop_button = gtk_button_new_with_label ("pop last item");
    
    /*Δημιουργία του πλέγματος και κατάλληλη προσάρτηση των πλήκτρων/γραμμής κατάστασης */
    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);
    
    /*Σύνδεση των πατημένων σημάτων με τις αντίστοιχες συναρτήσεις επανάκλησης*/
    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);
    
    /*Προσάρτηση του πλέγματος που κρατά τα θυγατρικά γραφικά στοιχεία στο παράθυρο και εμφάνιση όλων*/
    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>Σε αυτό το παράδειγμα χρησιμοποιήσαμε τα παρακάτω:</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">Γραμμή κατάστασης Gtk (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>