#include <gtk/gtk.h>


void Onglet_Click(GtkNotebook *Onglets, GtkNotebookPage *page, guint page_num)
{
  GtkWidget *pCHILD, *pBOX, *lbl;
  //GtkLabel *label = NULL;
  gchar *str=NULL;

  g_print("L' onglet %d est sélectionné\n", page_num);
  pCHILD = gtk_notebook_get_nth_page (GTK_NOTEBOOK(Onglets), page_num);
  pBOX = gtk_notebook_get_tab_label (GTK_NOTEBOOK(Onglets), pCHILD);
  //gtk_container_child_get (GTK_CONTAINER(pBOX), lbl, "label");
  //str = g_strdup( gtk_label_get_text( GTK_LABEL(lbl) ) );
  g_print("Label: %s\n", str);

  //label = GTK_LABEL (gtk_notebook_get_tab_label (GTK_NOTEBOOK(Onglets), pCHILD));
  //gtk_label_set_text (label, g_strdup_printf ("%s *", nom[idACTIF]));


}

void Creer_Onglet_SANS_Image(GtkWidget *nbook, gchar *caption)
{
  GtkWidget *pLBL, *pFRAME;

  pLBL = gtk_label_new (caption);

  pFRAME = gtk_frame_new (caption);
      gtk_container_set_border_width (GTK_CONTAINER (pFRAME), 2);
      gtk_widget_set_size_request (pFRAME, 200, 100);
      gtk_widget_show (pFRAME);

  gtk_notebook_insert_page (GTK_NOTEBOOK (nbook), pFRAME, pLBL, -1);
}



void Creer_Onglet_Avec_Image(GtkWidget *nbook, gchar *caption, gchar *img)
{
  GtkWidget *pBOX, *pIMG, *pLBL, *pFRAME;

  pBOX = gtk_hbox_new (FALSE, 0);
      //gtk_container_set_border_width (GTK_CONTAINER (pBOX), 2);

  pIMG = gtk_image_new_from_file (img);
      gtk_box_pack_start (GTK_BOX (pBOX), pIMG, FALSE, FALSE, 3);
      gtk_widget_show (pIMG);

  pLBL = gtk_label_new (caption);
      gtk_box_pack_start (GTK_BOX (pBOX), pLBL, FALSE, FALSE, 3);
      gtk_widget_show (pLBL);

  pFRAME = gtk_frame_new (caption);
      gtk_container_set_border_width (GTK_CONTAINER (pFRAME), 2);
      gtk_widget_set_size_request (pFRAME, 200, 100);
      gtk_widget_show (pFRAME);

  gtk_notebook_append_page (GTK_NOTEBOOK(nbook), pFRAME, pBOX);

}


int main( int argc, char **argv )
{
  GtkWidget *fenetre, *table, *notebook;

  gtk_init (&argc, &argv);
  // Crée fenêtre --------------------------------------------------------------
  fenetre = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  g_signal_connect (G_OBJECT(fenetre),"delete_event",
			G_CALLBACK(gtk_main_quit),NULL);  
  gtk_container_set_border_width (GTK_CONTAINER (fenetre), 6);

  // Crée une table pour les onglets -------------------------------------------
  table = gtk_table_new (3, 6, FALSE);
  gtk_container_add (GTK_CONTAINER (fenetre), table);

  // Crée les notebook ---------------------------------------------------------
  notebook = gtk_notebook_new ();
  gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_TOP);
  gtk_table_attach_defaults (GTK_TABLE (table), notebook, 0, 6, 0, 1);
  g_signal_connect (G_OBJECT (notebook), "switch-page",
			G_CALLBACK (Onglet_Click), NULL);
  gtk_widget_show (notebook);

  // Ajoute des onglets --------------------------------------------------------
  	Creer_Onglet_Avec_Image(notebook, "un onglet", "img/icon.gif");
  	Creer_Onglet_Avec_Image(notebook, "deux"     , "img/comp.png");
  	Creer_Onglet_Avec_Image(notebook, "un autre" , "img/icon.gif");
        Creer_Onglet_SANS_Image(notebook, "ong");
  	Creer_Onglet_Avec_Image(notebook, "Youpi"    , "img/comp.png");
  	Creer_Onglet_Avec_Image(notebook, "tada"     , "img/icon.gif");

  // Affiche la fenêtre --------------------------------------------------------
  gtk_widget_show (table);
  gtk_widget_show (fenetre);
  gtk_main ();

  return 0;
}