d16cdda2b2ee8386280f88c24cc013ea14846550
[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_with_model (tm);
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
76
77   gtk_combo_box_set_active (combo_box, 0);
78
79   treeview = gtk_tree_view_new_with_model (tm);
80
81   gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
82                                                0, "sheet name",
83                                                gtk_cell_renderer_text_new (),
84                                                "text", 0,
85                                                NULL);
86
87
88   gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
89                                                1, "range",
90                                                gtk_cell_renderer_text_new (),
91                                                "text", 1,
92                                                NULL);
93
94
95   gtk_box_pack_start (GTK_BOX (hbox), treeview, TRUE, TRUE, 5);
96
97   gtk_box_pack_start (GTK_BOX (vbox), combo_box, FALSE, FALSE, 5);
98   gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 5);
99
100   gtk_container_add (GTK_CONTAINER (window), hbox);
101
102   gtk_widget_show_all (window);
103     
104   gtk_main ();
105     
106   return 0;
107 }