sort of got the assistant working with the combo model
[pspp] / src / ui / gui / sheet-test.c
1 /* This is a file */
2
3 #include <config.h>
4
5 #include <gtk/gtk.h>
6
7 #include "psppire-spreadsheet-model.h"
8
9 #include "data/gnumeric-reader.h"
10
11 #define N 10
12
13 static GtkListStore *
14 make_store ()
15   {
16     int i;
17     GtkTreeIter iter;
18     
19     GtkListStore * list_store  = gtk_list_store_new (2, G_TYPE_INT, G_TYPE_STRING);
20
21     for (i = 0; i < N; ++i)
22       {
23         gtk_list_store_append (list_store, &iter);
24         gtk_list_store_set (list_store, &iter,
25                             0, N - i,
26                             1, "xxx", 
27                             -1);
28       }
29     return list_store;
30   }
31
32 int
33 main (int argc, char *argv[] )
34 {
35   GtkWidget *window;
36   GtkWidget *hbox;
37   GtkWidget *vbox;
38   GtkWidget *treeview;
39   GtkWidget *combo_box;
40   GtkTreeModel *tm;
41   struct spreadsheet *sp = NULL;
42   gtk_init (&argc, &argv);
43     
44   if ( argc < 2)
45     g_error ("Usage: prog file\n");
46
47   sp = gnumeric_probe (argv[1]);
48   
49   if (sp == NULL)
50     {
51       g_error ("%s is not a gnumeric file\n", argv[1]);
52       return 0;
53     }
54
55
56
57   tm = psppire_spreadsheet_model_new (sp);
58   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
59   hbox = gtk_hbox_new (FALSE, 5);
60   vbox = gtk_vbox_new (FALSE, 5);
61     
62   gtk_container_set_border_width (GTK_CONTAINER (window), 10);
63   
64   //  tm = GTK_TREE_MODEL (make_store ());
65   combo_box = gtk_combo_box_new();
66
67   {
68     GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
69     gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), renderer, TRUE);
70     gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), renderer,
71                                     "text", 0,
72                                     NULL);
73   }
74
75   gtk_combo_box_set_model (GTK_COMBO_BOX (combo_box), 
76                            tm);
77
78
79   gtk_combo_box_set_active (combo_box, 0);
80
81   treeview = gtk_tree_view_new_with_model (tm);
82
83   gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
84                                                0, "sheet name",
85                                                gtk_cell_renderer_text_new (),
86                                                "text", 0,
87                                                NULL);
88
89
90   gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
91                                                1, "range",
92                                                gtk_cell_renderer_text_new (),
93                                                "text", 1,
94                                                NULL);
95
96
97   gtk_box_pack_start (GTK_BOX (hbox), treeview, TRUE, TRUE, 5);
98
99   gtk_box_pack_start (GTK_BOX (vbox), combo_box, FALSE, FALSE, 5);
100   gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 5);
101
102   gtk_container_add (GTK_CONTAINER (window), hbox);
103
104   gtk_widget_show_all (window);
105     
106   gtk_main ();
107     
108   return 0;
109 }