#include static GtkWidget *create_tree (int i) { GtkWidget *tree; GtkListStore *store; GtkTreeModel *model; GtkCellRenderer *renderer; GtkTreeViewColumn *col; char *caption[] = {"Foo", "Bar"}; store = gtk_list_store_new (1, G_TYPE_INT); model = GTK_TREE_MODEL (store); tree = gtk_tree_view_new_with_model (model); renderer = gtk_cell_renderer_text_new (); col = gtk_tree_view_column_new_with_attributes (caption[i], renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (tree), col); return tree; } static gboolean on_window_delete (GtkWidget *widget, GtkWidget *event, gpointer data) { gtk_main_quit(); return FALSE; } int main (int argc, char **argv) { GtkWidget *window, *vbox; GtkNotebook *notebook; int i; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Tree Test"); gtk_window_set_default_size (GTK_WINDOW (window), 200, 100); gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER); g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (on_window_delete), NULL); vbox = gtk_vbox_new (FALSE, 0); notebook = GTK_NOTEBOOK (gtk_notebook_new ()); gtk_notebook_set_tab_pos (notebook, GTK_POS_TOP); gtk_container_set_border_width (GTK_CONTAINER (notebook), 10); gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (notebook), TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show_all (GTK_WIDGET (window)); for (i = 0; i < 2; i++){ // show each tree GtkWidget* tree; tree = create_tree (i); gtk_widget_show(tree); gtk_notebook_append_page (notebook, tree, NULL); } // this is not needed now //gtk_widget_show_all (GTK_WIDGET (notebook)); /* workaround: */ /*gtk_notebook_set_current_page (notebook, 1); gtk_notebook_set_current_page (notebook, 0);*/ gtk_main (); return 0; }