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