5 #include "psppire-spreadsheet-model.h"
7 #include "data/gnumeric-reader.h"
8 #include "data/ods-reader.h"
9 #include "data/spreadsheet-reader.h"
10 #include "data/casereader.h"
11 #include "data/case.h"
22 GtkListStore * list_store = gtk_list_store_new (2, G_TYPE_INT, G_TYPE_STRING);
24 for (i = 0; i < N; ++i)
26 gtk_list_store_append (list_store, &iter);
27 gtk_list_store_set (list_store, &iter,
39 on_clicked (GtkButton *button, gpointer data)
42 gint x = gtk_combo_box_get_active (GTK_COMBO_BOX (combo_box));
43 struct casereader *reader ;
44 struct spreadsheet_read_options opts;
46 g_print( "%s %d\n", __FUNCTION__, x);
48 opts.sheet_index = x + 1;
49 opts.cell_range = NULL;
50 opts.sheet_name = NULL;
51 opts.read_names = TRUE;
54 reader = gnumeric_make_reader (sp, &opts);
56 (c = casereader_read (reader)) != NULL; case_unref (c))
58 const double val = case_data_idx (c, 0)->f;
65 main (int argc, char *argv[] )
75 struct spreadsheet *sp = NULL;
78 gtk_init (&argc, &argv);
81 g_error ("Usage: prog file\n");
87 sp = gnumeric_probe (argv[1], false);
91 sp = ods_probe (argv[1], false);
95 g_error ("%s is neither a gnumeric nor a ods file\n", argv[1]);
99 tm = psppire_spreadsheet_model_new (sp);
100 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
101 hbox = gtk_hbox_new (FALSE, 5);
102 vbox = gtk_vbox_new (FALSE, 5);
104 button = gtk_button_new_with_label ("Test reader");
105 // g_signal_connect (button, "clicked", G_CALLBACK (on_clicked), NULL);
107 gtk_container_set_border_width (GTK_CONTAINER (window), 10);
109 combo_box = gtk_combo_box_new();
112 GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
113 gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), renderer, TRUE);
114 gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), renderer,
119 gtk_combo_box_set_model (GTK_COMBO_BOX (combo_box), tm);
121 gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), 0);
123 treeview = gtk_tree_view_new_with_model (tm);
125 gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
127 gtk_cell_renderer_text_new (),
132 gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
134 gtk_cell_renderer_text_new (),
139 gtk_box_pack_start (GTK_BOX (hbox), treeview, TRUE, TRUE, 5);
141 gtk_box_pack_start (GTK_BOX (vbox), combo_box, FALSE, FALSE, 5);
142 gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 5);
143 gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 5);
145 gtk_container_add (GTK_CONTAINER (window), hbox);
147 g_signal_connect (window, "destroy", gtk_main_quit, 0);
149 gtk_widget_show_all (window);
153 // gnumeric_destroy (sp);