File: logout-button.cc

package info (click to toggle)
logout-button 19980721-2
  • links: PTS
  • area: main
  • in suites: potato
  • size: 84 kB
  • ctags: 7
  • sloc: sh: 69; makefile: 58; cpp: 30
file content (68 lines) | stat: -rw-r--r-- 2,132 bytes parent folder | download | duplicates (2)
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
#include <gtk/gtk.h>

void hello (void)
{
  gtk_exit (0);
}

void destroy (void)
{
  gtk_exit (0);
}

int main (int argc, char *argv[])
{
  /* GtkWidget is the storage type for widgets */
  GtkWidget *window;
  GtkWidget *button;
  
  /* This is called in all GTK applications. Arguments are parsed
   * from the command line and are returned to the application. */
  gtk_init (&argc, &argv);
  
  /* create a new window */
  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

  /* Here we connect the "destroy" event to a signal handler.  
   * This event occurs when we call gtk_widget_destroy() on the window,
   * or if we return FALSE in the "delete_event" callback. */
  gtk_signal_connect (GTK_OBJECT (window), "destroy",
                      GTK_SIGNAL_FUNC (destroy), NULL);
  
  /* Sets the border width of the window. */
  gtk_container_border_width (GTK_CONTAINER (window), 10);
  
  /* Creates a new button with the label "Log Out". -jwl@debian.org */
  button = gtk_button_new_with_label ("Log out");

  /* When the button receives the "clicked" signal, it will call the
   * function hello() passing it NULL as its argument.  The hello()
   * function is defined above. */
  gtk_signal_connect (GTK_OBJECT (button), "clicked",
                      GTK_SIGNAL_FUNC (hello), NULL);

  /* This will cause the window to be destroyed by calling
   * gtk_widget_destroy(window) when "clicked".  Again, the destroy
   * signal could come from here, or the window manager. */
  gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
                             GTK_SIGNAL_FUNC (gtk_widget_destroy),
                             GTK_OBJECT (window));
  
  /* This packs the button into the window (a gtk container). */
  gtk_container_add (GTK_CONTAINER (window), button);

  /* The final step is to display this newly created widget. */
  gtk_widget_show (button);

  /* and the window */
  gtk_widget_show (window);
  
  /* All GTK applications must have a gtk_main(). Control ends here
   * and waits for an event to occur (like a key press or
   * mouse event). */
  gtk_main ();
  
  return 0;
}
/* example-end */