From 39513fa7ed1c400cc33dfc2c382c24c778a11274 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Fri, 19 May 2017 07:36:00 +0200 Subject: [PATCH] Add a callback when variables change --- src/ui/gui/psppire-import-assistant.c | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/ui/gui/psppire-import-assistant.c b/src/ui/gui/psppire-import-assistant.c index 6650b5d9cf..b97e06f55c 100644 --- a/src/ui/gui/psppire-import-assistant.c +++ b/src/ui/gui/psppire-import-assistant.c @@ -1856,6 +1856,35 @@ my_advance (struct casereader *reader, void *aux, casenumber cnt) } +static void +foo (struct dictionary *dict, void *aux) +{ + PsppireImportAssistant *ia = PSPPIRE_IMPORT_ASSISTANT (aux); + g_print ("%s:%d\n", __FILE__, __LINE__); + + struct caseproto *proto = caseproto_create (); + + int i; + for (i = 0 ; i < dict_get_var_cnt (ia->dict); ++i) + { + const struct variable *var = dict_get_var (ia->dict, i); + proto = caseproto_add_width (proto, var_get_width (var)); + } + + + gint n_rows = gtk_tree_model_iter_n_children (ia->delimiters_model, NULL); + + struct casereader *reader = + casereader_create_random (proto, n_rows, &my_casereader_class, ia); + + + PsppireDataStore *store = NULL; + + g_object_get (ia->data_sheet, "data-model", &store, NULL); + + psppire_data_store_set_reader (store, reader); +} + /* Called just before the formats page of the assistant is displayed. */ static void @@ -1870,6 +1899,8 @@ prepare_formats_page (PsppireImportAssistant *ia) struct caseproto *proto = caseproto_create (); + dict_set_change_callback (ia->dict, foo, ia); + int i; for (i = 0 ; i < dict_get_var_cnt (ia->dict); ++i) { -- 2.30.2