#include <language/syntax-string-source.h>
#include "psppire-data-store.h"
+#include <libpspp/i18n.h>
#include <ui/gui/sheet/psppire-axis.h>
-#include "helper.h"
+#include "executor.h"
#include <gtk-contrib/gtkxpaned.h>
#include <gettext.h>
gchar *text = g_strdup_printf ("%d: %s", row + FIRST_CASE_NUMBER,
var_get_name (var));
- gchar *s = pspp_locale_to_utf8 (text, -1, 0);
- g_free (text);
-
- gtk_entry_set_text (GTK_ENTRY (de->cell_ref_entry), s);
+ gtk_entry_set_text (GTK_ENTRY (de->cell_ref_entry), text);
- g_free (s);
+ g_free (text);
}
else
goto blank_entry;
PsppireVarStore *var_store =
PSPPIRE_VAR_STORE (psppire_sheet_get_model (sheet));
+
+ PsppireDict *dict;
+ const struct variable *v ;
- const struct variable *v =
- psppire_dict_get_variable (var_store->dict, row);
+ g_object_get (var_store, "dictionary", &dict, NULL);
+
+ v = psppire_dict_get_variable (dict, row);
if ( v && event->button == 3)
{
switch (gtk_notebook_get_current_page (GTK_NOTEBOOK (de)))
{
case PSPPIRE_DATA_EDITOR_DATA_VIEW:
- if ( de->data_sheet[0]->state == PSPPIRE_SHEET_COLUMN_SELECTED )
+ if ( PSPPIRE_SHEET (de->data_sheet[0])->select_status
+ == PSPPIRE_SHEET_COLUMN_SELECTED )
posn = PSPPIRE_SHEET (de->data_sheet[0])->range.col0;
else
posn = PSPPIRE_SHEET (de->data_sheet[0])->active_cell.col;
break;
case PSPPIRE_DATA_EDITOR_VARIABLE_VIEW:
- if ( de->var_sheet->state == PSPPIRE_SHEET_ROW_SELECTED )
+ if ( PSPPIRE_SHEET (de->var_sheet)->select_status
+ == PSPPIRE_SHEET_ROW_SELECTED )
posn = PSPPIRE_SHEET (de->var_sheet)->range.row0;
else
posn = PSPPIRE_SHEET (de->var_sheet)->active_cell.row;
{
glong posn = -1;
- if ( de->data_sheet[0]->state == PSPPIRE_SHEET_ROW_SELECTED )
- posn = PSPPIRE_SHEET (de->data_sheet[0])->range.row0;
+ if ( PSPPIRE_SHEET (de->data_sheet[0])->select_status == PSPPIRE_SHEET_ROW_SELECTED )
+ {
+ posn = PSPPIRE_SHEET (de->data_sheet[0])->range.row0;
+ }
else
- posn = PSPPIRE_SHEET (de->data_sheet[0])->active_cell.row;
+ {
+ posn = PSPPIRE_SHEET (de->data_sheet[0])->active_cell.row;
+ }
if ( posn == -1 ) posn = 0;
void
psppire_data_editor_delete_variables (PsppireDataEditor *de)
{
+ PsppireDict *dict = NULL;
gint first, n;
switch (gtk_notebook_get_current_page (GTK_NOTEBOOK (de)))
break;
}
- psppire_dict_delete_variables (de->var_store->dict, first, n);
+ g_object_get (de->var_store, "dictionary", &dict, NULL);
+
+ psppire_dict_delete_variables (dict, first, n);
psppire_sheet_unselect_range (PSPPIRE_SHEET (de->data_sheet[0]));
psppire_sheet_unselect_range (PSPPIRE_SHEET (de->var_sheet));
/* Construct clip data. */
map = case_map_by_name (ds->dict->dict, clip_dict);
- writer = autopaging_writer_create (dict_get_next_value_idx (clip_dict));
+ writer = autopaging_writer_create (dict_get_proto (clip_dict));
for (i = range.row0; i <= range.rowi ; ++i )
{
struct ccase *old = psppire_data_store_get_case (ds, i);
/* Perform data_out for case CC, variable V, appending to STRING */
static void
-data_out_g_string (GString *string, const struct variable *v,
+data_out_g_string (GString *string, const struct dictionary *dict,
+ const struct variable *v,
const struct ccase *cc)
{
- char *buf ;
-
const struct fmt_spec *fs = var_get_print_format (v);
const union value *val = case_data (cc, v);
- buf = xzalloc (fs->w);
- data_out (val, fs, buf);
+ char *s = data_out (val, dict_get_encoding (dict), fs);
- g_string_append_len (string, buf, fs->w);
+ g_string_append (string, s);
- g_free (buf);
+ g_free (s);
}
static GString *
casenumber r;
GString *string;
- const size_t val_cnt = casereader_get_value_cnt (clip_datasheet);
+ const size_t val_cnt = caseproto_get_n_widths (casereader_get_proto (clip_datasheet));
const casenumber case_cnt = casereader_get_case_cnt (clip_datasheet);
const size_t var_cnt = dict_get_var_cnt (clip_dict);
for (c = 0 ; c < var_cnt ; ++c)
{
const struct variable *v = dict_get_var (clip_dict, c);
- data_out_g_string (string, v, cc);
+ data_out_g_string (string, clip_dict, v, cc);
if ( c < val_cnt - 1 )
g_string_append (string, "\t");
}
casenumber r;
GString *string;
- const size_t val_cnt = casereader_get_value_cnt (clip_datasheet);
+ const size_t val_cnt = caseproto_get_n_widths (casereader_get_proto (clip_datasheet));
const casenumber case_cnt = casereader_get_case_cnt (clip_datasheet);
const size_t var_cnt = dict_get_var_cnt (clip_dict);
{
const struct variable *v = dict_get_var (clip_dict, c);
g_string_append (string, "<td>");
- data_out_g_string (string, v, cc);
+ data_out_g_string (string, clip_dict, v, cc);
g_string_append (string, "</td>\n");
}