8 static GtkTreeModel *fill_dive_list(void)
14 store = gtk_list_store_new(1, G_TYPE_STRING);
16 for (i = 0; i < dive_table.nr; i++) {
17 struct dive *dive = dive_table.dives[i];
19 gtk_list_store_append(store, &iter);
20 gtk_list_store_set(store, &iter,
25 return GTK_TREE_MODEL(store);
28 GtkWidget *create_dive_list(void)
31 GtkCellRenderer *renderer;
33 GtkWidget *scrolled_window;
35 list = gtk_tree_view_new();
37 renderer = gtk_cell_renderer_text_new();
38 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(list),
39 -1, "Dive", renderer, "text", 0, NULL);
41 model = fill_dive_list();
42 gtk_tree_view_set_model(GTK_TREE_VIEW(list), model);
43 g_object_unref(model);
45 /* Scrolled window for the list goes into the vbox.. */
46 scrolled_window=gtk_scrolled_window_new(NULL, NULL);
47 gtk_widget_set_usize(scrolled_window, 150, 350);
48 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
49 gtk_widget_show(scrolled_window);
51 /* .. and connect it to the scrolled window */
52 gtk_container_add(GTK_CONTAINER(scrolled_window), list);
54 return scrolled_window;