#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;
}