X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fui%2Fgui%2Fpsppire.c;h=529f9880caa46ceff8d071a5fb3b1ce949939fce;hb=3f159627d3b80706e58a54be2431c3edbc5333dc;hp=b0de6cfa1bdfddc5a5cfc6b7d0fb4d995f5fb80c;hpb=356c1209257f91eb08791e6b9ca72393fca6fcd0;p=pspp diff --git a/src/ui/gui/psppire.c b/src/ui/gui/psppire.c index b0de6cfa1b..529f9880ca 100644 --- a/src/ui/gui/psppire.c +++ b/src/ui/gui/psppire.c @@ -28,11 +28,14 @@ #include #include #include +#include +#include #include #include #include #include #include +#include #include #include @@ -61,6 +64,31 @@ void create_icon_factory (void); struct source_stream *the_source_stream ; struct dataset * the_dataset = NULL; +static void +replace_dictionary (struct dictionary *d) +{ + psppire_dict_replace_dictionary (the_data_store->dict, + d); +} + + +static void +replace_flexifile (struct case_source *s) +{ + if ( NULL == s ) + psppire_case_file_replace_flexifile (the_data_store->case_file, + (struct flexifile *) flexifile_create (0)); + else + { + if ( ! case_source_is_class (s, &storage_source_class)) + return ; + + psppire_case_file_replace_flexifile (the_data_store->case_file, + (struct flexifile *) + storage_source_get_casefile (s)); + } +} + int main (int argc, char *argv[]) @@ -106,14 +134,15 @@ main (int argc, char *argv[]) fn_getenv_default ("STAT_INCLUDE_PATH", include_path) ); - the_dataset = create_dataset (factory); + the_dataset = create_dataset (factory, + replace_flexifile, + replace_dictionary); message_dialog_init (the_source_stream); - dictionary = - psppire_dict_new_from_dict ( - dataset_dict (the_dataset) - ); + dictionary = psppire_dict_new_from_dict ( + dataset_dict (the_dataset) + ); bind_textdomain_codeset (PACKAGE, "UTF-8"); @@ -123,6 +152,10 @@ main (int argc, char *argv[]) the_data_store = psppire_data_store_new (dictionary); + proc_set_source (the_dataset, + storage_source_create (the_data_store->case_file->flexifile) + ); + create_icon_factory (); new_data_window (NULL, NULL); @@ -232,5 +265,3 @@ create_icon_factory (void) gtk_icon_factory_add_default (factory); } - -