From: John Darrington Date: Mon, 4 Mar 2013 18:02:25 +0000 (+0100) Subject: Created wrappers for the ods/gnumeric functions X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4d9ca60552f27a6c4e1d959b7d9f5b8ec562a7d6;p=pspp Created wrappers for the ods/gnumeric functions --- diff --git a/src/data/spreadsheet-reader.c b/src/data/spreadsheet-reader.c index 882cfac9cc..da2d6ea2ae 100644 --- a/src/data/spreadsheet-reader.c +++ b/src/data/spreadsheet-reader.c @@ -43,6 +43,26 @@ spreadsheet_close (UNUSED struct spreadsheet *spreadsheet) { } + +struct casereader * +spreadsheet_make_reader (struct spreadsheet *s, const struct spreadsheet_read_options *opts) +{ + return ods_make_reader (s, opts); +} + +const char * +spreadsheet_get_sheet_name (struct spreadsheet *s, int n) +{ + return ods_get_sheet_name (s, n); +} + +char * +spreadsheet_get_sheet_range (struct spreadsheet *s, int n) +{ + return ods_get_sheet_range (s, n); +} + + #define RADIX 26 static void diff --git a/src/data/spreadsheet-reader.h b/src/data/spreadsheet-reader.h index aa4c017452..a3fc9b4184 100644 --- a/src/data/spreadsheet-reader.h +++ b/src/data/spreadsheet-reader.h @@ -19,6 +19,8 @@ #include +struct casereeader; + /* Default width of string variables. */ #define SPREADSHEET_DEFAULT_WIDTH 8 @@ -54,6 +56,7 @@ enum spreadsheet_type SPREADSHEET_ODS }; + struct spreadsheet { const char *file_name; @@ -68,6 +71,12 @@ struct spreadsheet }; +struct casereader * spreadsheet_make_reader (struct spreadsheet *, const struct spreadsheet_read_options *); + +const char * spreadsheet_get_sheet_name (struct spreadsheet *s, int n); +char * spreadsheet_get_sheet_range (struct spreadsheet *s, int n); + + char *create_cell_ref (int col0, int row0, int coli, int rowi); /* @@ -80,8 +89,8 @@ char *create_cell_ref (int col0, int row0, int coli, int rowi); struct spreadsheet * spreadsheet_open (const char *filename); void spreadsheet_close (struct spreadsheet *); -struct casereeader; -struct casereader * spreadsheet_make_reader (struct spreadsheet *s); + + #define SPREADSHEET_CAST(X) ((struct spreadsheet *)(X)) diff --git a/src/ui/gui/page-sheet-spec.c b/src/ui/gui/page-sheet-spec.c index 9fbba9bee4..3d92bfe410 100644 --- a/src/ui/gui/page-sheet-spec.c +++ b/src/ui/gui/page-sheet-spec.c @@ -220,14 +220,9 @@ post_sheet_spec_page (struct import_assistant *ia) switch (ia->spreadsheet->type) { case SPREADSHEET_ODS: - { - creader = ods_make_reader (ia->spreadsheet, &ssp->opts); - dict = ia->spreadsheet->dict; - } - break; case SPREADSHEET_GNUMERIC: { - creader = gnumeric_make_reader (ia->spreadsheet, &ssp->opts); + creader = spreadsheet_make_reader (ia->spreadsheet, &ssp->opts); dict = ia->spreadsheet->dict; } break; diff --git a/src/ui/gui/psppire-spreadsheet-model.c b/src/ui/gui/psppire-spreadsheet-model.c index b5ac123755..5c004a8446 100644 --- a/src/ui/gui/psppire-spreadsheet-model.c +++ b/src/ui/gui/psppire-spreadsheet-model.c @@ -18,12 +18,14 @@ #include #include -#include "psppire-spreadsheet-model.h" +#include +#define _(msgid) gettext (msgid) +#define N_(msgid) msgid + +#include "psppire-spreadsheet-model.h" #include "data/spreadsheet-reader.h" -#include "data/gnumeric-reader.h" -#include "data/ods-reader.h" static void psppire_spreadsheet_model_init (PsppireSpreadsheetModel * spreadsheetModel); @@ -246,7 +248,7 @@ tree_model_get_value (GtkTreeModel * model, GtkTreeIter * iter, case PSPPIRE_SPREADSHEET_MODEL_COL_NAME: { const char *x = - ods_get_sheet_name (spreadsheetModel->spreadsheet, + spreadsheet_get_sheet_name (spreadsheetModel->spreadsheet, (gint) iter->user_data); g_value_set_string (value, x); @@ -255,10 +257,10 @@ tree_model_get_value (GtkTreeModel * model, GtkTreeIter * iter, case PSPPIRE_SPREADSHEET_MODEL_COL_RANGE: { char *x = - ods_get_sheet_range (spreadsheetModel->spreadsheet, + spreadsheet_get_sheet_range (spreadsheetModel->spreadsheet, (gint) iter->user_data); - g_value_set_string (value, x ? x : "(empty)"); + g_value_set_string (value, x ? x : _("(empty)")); g_free (x); } break;