// 0e.c - Un label, une zone de tetxe, et 2 boutons (widget indexé).

#include <stdlib.h>
#include <gtk/gtk.h>

int main (int argc, char ** argv)
{
  GtkWidget * p_win		= NULL;
  GtkWidget * p_vbox		= NULL;
  GtkWidget * p_hbuttonbox	= NULL;
  GtkWidget * p_btn [2];
  GtkWidget * p_text		= NULL;
  GtkWidget * p_label		= NULL;

  gtk_init (& argc, & argv);

  p_win = gtk_window_new           (GTK_WINDOW_TOPLEVEL);

  gtk_window_set_title             (GTK_WINDOW (p_win), "Hello, GTK+ !");
  gtk_window_set_default_size      (GTK_WINDOW (p_win), 400, 200);
  gtk_container_set_border_width   (GTK_CONTAINER (p_win), 5);
  gtk_window_set_position          (GTK_WINDOW (p_win), GTK_WIN_POS_CENTER);
  gtk_widget_realize               (p_win);

  g_signal_connect                 (p_win, "destroy", gtk_main_quit, NULL);

  p_vbox = gtk_vbox_new   (FALSE, 5);
  gtk_container_add       (GTK_CONTAINER (p_win), p_vbox);

  p_label = gtk_label_new ("Titre de la zone de texte :");
  gtk_box_pack_start (GTK_BOX (p_vbox), p_label, FALSE, FALSE, 5);

  p_text = gtk_text_view_new ();
  gtk_box_pack_start (GTK_BOX (p_vbox), p_text, TRUE, TRUE, 5);

  p_hbuttonbox = gtk_hbutton_box_new ();
  gtk_box_pack_end (GTK_BOX (p_vbox), p_hbuttonbox, FALSE, FALSE, 5);
  gtk_hbutton_box_set_layout_default ( GTK_BUTTONBOX_END );

  p_btn [0] = gtk_button_new_with_label ("Bouton 1");
  p_btn [1] = gtk_button_new_with_label ("Bouton 2");
  gtk_box_pack_start (GTK_BOX (p_hbuttonbox), p_btn [0], FALSE, FALSE, 0);
  gtk_box_pack_start (GTK_BOX (p_hbuttonbox), p_btn [1], FALSE, FALSE, 0);

  gtk_widget_show_all (p_win);
  gtk_main ();

  return 0;
}