#include "ui/gui/psppire-scanf.h"
#include "ui/syntax-gen.h"
+#include "ui/gui/psppire-spreadsheet-model.h"
+
#include <data/casereader.h>
#include "gl/error.h"
struct import_assistant;
-
-
/* The "sheet-spec" page of the assistant. */
/* The sheet_spec page of the assistant (only relevant for spreadsheet imports). */
struct spreadsheet_read_options opts;
};
+static void
+on_sheet_combo_changed (GtkComboBox *cb, struct import_assistant *ia)
+{
+ GtkTreeIter iter;
+ gchar *range = NULL;
+ GtkTreeModel *model = gtk_combo_box_get_model (cb);
+ GtkBuilder *builder = ia->asst.builder;
+ GtkWidget *range_entry = get_widget_assert (builder, "cell-range-entry");
+
+ gtk_combo_box_get_active_iter (cb, &iter);
+ gtk_tree_model_get (model, &iter, PSPPIRE_SPREADSHEET_MODEL_COL_RANGE, &range, -1);
+ gtk_entry_set_text (GTK_ENTRY (range_entry), range);
+ g_free (range);
+}
/* Initializes IA's sheet_spec substructure. */
struct sheet_spec_page *
"text", 0,
NULL);
+ g_signal_connect (combo_box, "changed", G_CALLBACK (on_sheet_combo_changed), ia);
+
return p;
}
\f
-
-enum
-{
- COL_SHEET_NAME,
- COL_SHEET_RANGE,
- N_COLS
-};
-
static gint
tree_model_n_columns (GtkTreeModel * model)
{
- return N_COLS;
+ return PSPPIRE_SPREADSHEET_MODEL_N_COLS;
}
static GtkTreeModelFlags
tree_model_column_type (GtkTreeModel * model, gint index)
{
g_return_val_if_fail (PSPPIRE_IS_SPREADSHEET_MODEL (model), (GType) 0);
- g_return_val_if_fail (index < N_COLS, (GType) 0);
+ g_return_val_if_fail (index < PSPPIRE_SPREADSHEET_MODEL_N_COLS, (GType) 0);
return G_TYPE_STRING;
}
{
PsppireSpreadsheetModel *spreadsheetModel =
PSPPIRE_SPREADSHEET_MODEL (model);
- g_return_if_fail (column < N_COLS);
+ g_return_if_fail (column < PSPPIRE_SPREADSHEET_MODEL_N_COLS);
g_return_if_fail (iter->stamp == spreadsheetModel->stamp);
g_value_init (value, G_TYPE_STRING);
switch (column)
{
- case COL_SHEET_NAME:
+ case PSPPIRE_SPREADSHEET_MODEL_COL_NAME:
{
const char *x =
gnumeric_get_sheet_name (spreadsheetModel->spreadsheet,
g_value_set_string (value, x);
}
break;
- case COL_SHEET_RANGE:
+ case PSPPIRE_SPREADSHEET_MODEL_COL_RANGE:
{
char *x =
gnumeric_get_sheet_range (spreadsheetModel->spreadsheet,
(gint) iter->user_data);
g_value_set_string (value, x);
- free (x);
+ g_free (x);
}
break;
default:
G_END_DECLS
+
+enum
+{
+ PSPPIRE_SPREADSHEET_MODEL_COL_NAME,
+ PSPPIRE_SPREADSHEET_MODEL_COL_RANGE,
+ PSPPIRE_SPREADSHEET_MODEL_N_COLS
+};
+
#endif /* __PSPPIRE_SPREADSHEET_MODEL_H__ */