This file is indexed.

/usr/share/help/cs/gnome-devel-demos/dialog.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
<?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="dialog.c" xml:lang="cs">
  <info>
    <title type="text">Dialog (C)</title>
    <link type="guide" xref="c#windows"/>
    <link type="seealso" xref="label.c"/>
    <link type="seealso" xref="button.c"/>
    <revision version="0.1" date="2012-06-14" status="draft"/>

    <credit type="author copyright">
      <name>Monica Kochofar</name>
      <email its:translate="no">monicakochofar@gmail.com</email>
      <years>2012</years>
    </credit>

    <desc>Vyskakovací okno</desc>
  </info>

  <title>Dialog</title>

  <media type="image" mime="image/png" src="media/dialog.png"/>
  <p>Dialogové okno, které vyskočí, když je zmáčknuto tlačítko.</p>

      <code mime="text/x-csrc" style="numbered">
#include &lt;gtk/gtk.h&gt;
 

/* Funkce zpětného volání, která reaguje na signál "response". Je nutné ji
   umístit před funkci, která ji volá */
static void
on_response (GtkDialog *dialog,
             gint       response_id,
             gpointer   user_data)
{
  /* Pro demonstrační účely. Zobrazí celočíselnou hodnotu typu odpovědi. */
  g_print ("response is %d\n", response_id);
  
  /* Způsobí zlikvidování dialogového okna */
  gtk_widget_destroy (GTK_WIDGET (dialog));
}



/* Funkce zpětného volání, která reaguje na signál "clicked" */
static void
show_dialog (GtkButton *button,
             gpointer   user_data)
{
  GtkWindow *window = user_data;
  GtkWidget *dialog;
  GtkWidget *content_area;
  GtkWidget *label;

  gint response_id;

  /* Vytvoří dialogové okno. Modální okno zabraňuje interakci s ostatními
     okno ve stejné aplikaci */
  dialog = gtk_dialog_new_with_buttons ("A Gtk+ Dialog", 
                                        window, 
                                        GTK_DIALOG_MODAL, 
                                        GTK_STOCK_OK, 
                                        GTK_RESPONSE_OK, 
                                        NULL);

  /* Vytvoří popisek a připojí jej do oblasti obsahu dialogového okna */
  content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
  label = gtk_label_new ("This demonstrates a dialog with a label");
  gtk_container_add (GTK_CONTAINER (content_area), label);

  /* Hlavním účelem tohoto je zobrazi synovský widget (popisek) dialogového okna */
  gtk_widget_show_all (dialog);
  
  /* Napojí signál "response" od uživatele k příslušné funkci zpětného volání */
  g_signal_connect (GTK_DIALOG (dialog), 
                    "response", 
                    G_CALLBACK (on_response), 
                    NULL);

}



static void
activate (GtkApplication *app,
          gpointer        user_data)
{
  GtkWidget *window;
  GtkWidget *button;
 
  /* Vytvoří okno s názvem, šířkou okraje a výchozí velikostí */
  window = gtk_application_window_new (app);
  gtk_window_set_title (GTK_WINDOW (window), "GNOME Button");
  gtk_window_set_default_size (GTK_WINDOW (window), 250, 50);

  /* Vytvoří tlačítko s popiskem a přidá jej do okna */
  button = gtk_button_new_with_label ("Click Me");
  gtk_container_add (GTK_CONTAINER (window), button);
 
  /* Napojí signál "clicked" na zpětné volání */
  g_signal_connect (GTK_BUTTON (button), 
                    "clicked", 
                    G_CALLBACK (show_dialog), 
                    GTK_WINDOW (window));
 
  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>V této ukázce se používá následující:</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/GtkDialog.html">GtkDialog</link></p></item>
  <item><p><link href="http://developer.gnome.org/gtk3/stable/GtkLabel.html">GtkLabel</link></p></item>
</list>
</page>