/usr/share/help/ko/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="ko">
<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>별로 중요하지 않은 메시지를 사용자에게 알립니다</desc>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>조성호</mal:name>
<mal:email>shcho@gnome.org</mal:email>
<mal:years>2017</mal:years>
</mal:credit>
</info>
<title>Statusbar</title>
<media type="image" mime="image/png" src="media/statusbar3.png"/>
<p>Statusbar는 가장 나중에 넣은 메시지를 먼저 빼내는 순으로 스택에 메시지를 넣어 다루는 방법을 보여줍니다. 항상 스택 상단의 메시지만 나타납니다.</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>이 예제는 다음 참고자료가 필요합니다:</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>
|