}
cd.xml = xml;
- cd.dict = vs->dict;
+ g_object_get (vs, "dictionary", &cd.dict, NULL);
g_signal_connect (buffer, "mark-set",
G_CALLBACK (set_column_number), label);
g_object_get (de->data_editor, "var-store", &vs, NULL);
- scd.dict = vs->dict;
+ g_object_get (vs, "dictionary", &scd.dict, NULL);
scd.use_type = FALSE;
g_signal_connect (expression, "toggled",
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
- g_object_set (dict_view,
- "dictionary", vs->dict,
+
+ g_object_set (dict_view, "dictionary", scd.dict,
"selection-mode", GTK_SELECTION_SINGLE,
NULL);
GtkBuilder *xml = builder_new ("crosstabs.ui");
PsppireVarStore *vs = NULL;
+ PsppireDict *dict = NULL;
PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data);
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
- g_object_set (source, "dictionary", vs->dict, NULL);
+ g_object_get (vs, "dictionary", &dict, NULL);
+ g_object_set (source, "dictionary", dict, NULL);
- set_dest_model (GTK_TREE_VIEW (dest_rows), vs->dict);
- set_dest_model (GTK_TREE_VIEW (dest_cols), vs->dict);
+ set_dest_model (GTK_TREE_VIEW (dest_rows), dict);
+ set_dest_model (GTK_TREE_VIEW (dest_cols), dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (row_selector),
source,
cd.row_vars = GTK_TREE_VIEW (dest_rows);
cd.col_vars = GTK_TREE_VIEW (dest_cols);
- cd.dict = vs->dict;
+ g_object_get (vs, "dictionary", &cd.dict, NULL);
cd.format_dialog = get_widget_assert (xml, "format-dialog");
cd.table_button = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "print-tables"));
cd.pivot_button = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "pivot"));
GtkWidget *stats_treeview = get_widget_assert (xml, "statistics");
PsppireVarStore *vs = NULL;
+ PsppireDict *dict;
g_object_get (de->data_editor, "var-store", &vs, NULL);
+ g_object_get (vs, "dictionary", &dict, NULL);
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
- g_object_set (source, "dictionary", vs->dict,
- "predicate", var_is_numeric, NULL);
- set_dest_model (GTK_TREE_VIEW (dest), vs->dict);
+ g_object_set (source, "dictionary", dict,
+ "predicate", var_is_numeric, NULL);
+ set_dest_model (GTK_TREE_VIEW (dest), dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector),
source,
scd.stat_vars = GTK_TREE_VIEW (dest);
scd.stats = gtk_tree_view_get_model (GTK_TREE_VIEW (stats_treeview));
- scd.dict = vs->dict;
+
+ g_object_get (vs, "dictionary", &scd.dict, NULL);
+
scd.include_user_missing =
GTK_TOGGLE_BUTTON (get_widget_assert (xml, "include_user_missing"));
scd.exclude_missing_listwise =
gtk_window_set_transient_for (GTK_WINDOW (ex_d.stats_dialog), GTK_WINDOW (de));
gtk_window_set_transient_for (GTK_WINDOW (ex_d.opts_dialog), GTK_WINDOW (de));
- g_object_set (source, "dictionary", vs->dict, NULL);
+ g_object_get (vs, "dictionary", &ex_d.dict, NULL);
+ g_object_set (source, "dictionary", ex_d.dict, NULL);
- set_dest_model (GTK_TREE_VIEW (ex_d.dep_list), vs->dict);
- ex_d.dict = vs->dict;
+ set_dest_model (GTK_TREE_VIEW (ex_d.dep_list), ex_d.dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (dep_selector),
psppire_selector_set_allow (PSPPIRE_SELECTOR (dep_selector),
numeric_only);
- set_dest_model (GTK_TREE_VIEW (ex_d.fct_list), vs->dict);
+ set_dest_model (GTK_TREE_VIEW (ex_d.fct_list), ex_d.dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (fct_selector),
"data-store", &ds,
NULL);
- fd.dict = vs->dict;
+ g_object_get (vs, "dictionary", &fd.dict, NULL);
+
fd.data = ds->datasheet;
fd.variable_entry = get_widget_assert (fd.xml, "find-variable-entry");
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
- g_object_set (source, "dictionary", vs->dict, NULL);
+ g_object_get (vs, "dictionary", &fd.dict, NULL);
+ g_object_set (source, "dictionary", fd.dict, NULL);
- set_dest_model (GTK_TREE_VIEW (dest), vs->dict);
+
+ set_dest_model (GTK_TREE_VIEW (dest), fd.dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector),
fd.stat_vars = GTK_TREE_VIEW (dest);
- fd.dict = vs->dict;
fd.table_button = get_widget_assert (xml, "checkbutton1");
fd.format_dialog = get_widget_assert (xml, "format-dialog");
fd.maximum_cats = get_widget_assert (xml, "hbox5");
g_object_get (de->data_editor, "var-store", &vs, NULL);
- ow.dict = vs->dict;
+ g_object_get (vs, "dictionary", &ow.dict, NULL);
ow.dialog =
GTK_WINDOW (get_widget_assert (builder, "oneway-anova-dialog"));
gtk_window_set_transient_for (ow.dialog, GTK_WINDOW (de));
- g_object_set (dict_view, "dictionary", vs->dict, NULL);
+ g_object_set (dict_view, "dictionary", ow.dict, NULL);
- set_dest_model (GTK_TREE_VIEW (ow.vars_treeview), vs->dict);
+ set_dest_model (GTK_TREE_VIEW (ow.vars_treeview), ow.dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector1),
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)
{
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));
else
{
PsppireVarStore *vs = NULL;
+ PsppireDict *dict = NULL;
struct variable *var ;
gchar *text ;
g_object_get (de->data_editor, "var-store", &vs, NULL);
+ g_object_get (vs, "dictionary", &dict, NULL);
- var = psppire_dict_get_variable (vs->dict, filter_index);
+ var = psppire_dict_get_variable (dict, filter_index);
text = g_strdup_printf (_("Filter by %s"), var_get_name (var));
{
struct variable *var ;
PsppireVarStore *vs = NULL;
+ PsppireDict *dict = NULL;
gchar *text;
g_object_get (de->data_editor, "var-store", &vs, NULL);
-
- var = psppire_dict_get_variable (vs->dict, weight_index);
+ g_object_get (vs, "dictionary", &dict, NULL);
+
+ var = psppire_dict_get_variable (dict, weight_index);
text = g_strdup_printf (_("Weight by %s"), var_get_name (var));
psppire_data_window_init (PsppireDataWindow *de)
{
PsppireVarStore *vs;
+ PsppireDict *dict = NULL;
GtkWidget *menubar;
GtkWidget *hb ;
g_assert(vs); /* Traps a possible bug in w32 build */
- g_signal_connect (vs->dict, "weight-changed",
+ g_object_get (vs, "dictionary", &dict, NULL);
+
+ g_signal_connect (dict, "weight-changed",
G_CALLBACK (on_weight_change),
de);
- g_signal_connect (vs->dict, "filter-changed",
+ g_signal_connect (dict, "filter-changed",
G_CALLBACK (on_filter_change),
de);
- g_signal_connect (vs->dict, "split-changed",
+ g_signal_connect (dict, "split-changed",
G_CALLBACK (on_split_change),
de);
const gchar *name = gtk_entry_get_text (entry);
- if (! psppire_dict_check_name (var_store->dict, name, TRUE))
+ if (! psppire_dict_check_name (var_store->dictionary, name, TRUE))
return TRUE;
- psppire_dict_insert_variable (var_store->dict, existing_cell->row, name);
+ psppire_dict_insert_variable (var_store->dictionary, existing_cell->row, name);
return FALSE;
}
{
gint i;
for ( i = n_vars ; i <= new_cell->row; ++i )
- psppire_dict_insert_variable (var_store->dict, i, NULL);
+ psppire_dict_insert_variable (var_store->dictionary, i, NULL);
}
return FALSE;
vs->missing_val_dialog->pv =
psppire_var_store_get_var (var_store, row);
- vs->missing_val_dialog->dict = var_store->dict;
+ vs->missing_val_dialog->dict = var_store->dictionary;
g_signal_connect_swapped (customEntry,
"clicked",
#include "var-display.h"
+static void
+var_change_callback (GtkWidget *w, gint n, gpointer data)
+{
+ PsppireSheetModel *model = PSPPIRE_SHEET_MODEL (data);
+
+ psppire_sheet_model_range_changed (model,
+ n, 0, n, PSPPIRE_VAR_STORE_n_COLS);
+}
+
+
+static void
+var_delete_callback (GtkWidget *w, gint dict_idx, gint case_idx, gint val_cnt, gpointer data)
+{
+ PsppireSheetModel *model = PSPPIRE_SHEET_MODEL (data);
+
+ psppire_sheet_model_rows_deleted (model, dict_idx, 1);
+}
+
+
+
+static void
+var_insert_callback (GtkWidget *w, glong row, gpointer data)
+{
+ PsppireSheetModel *model = PSPPIRE_SHEET_MODEL (data);
+
+ psppire_sheet_model_rows_inserted (model, row, 1);
+}
+
+static void
+refresh (PsppireDict *d, gpointer data)
+{
+ PsppireVarStore *vs = data;
+
+ psppire_sheet_model_range_changed (PSPPIRE_SHEET_MODEL (vs), -1, -1, -1, -1);
+}
+
enum
{
PROP_0,
- PSPPIRE_VAR_STORE_FORMAT_TYPE
+ PSPPIRE_VAR_STORE_FORMAT_TYPE,
+ PSPPIRE_VAR_STORE_DICT
};
static void psppire_var_store_init (PsppireVarStore *var_store);
static void psppire_var_store_class_init (PsppireVarStoreClass *class);
static void psppire_var_store_sheet_model_init (PsppireSheetModelIface *iface);
static void psppire_var_store_finalize (GObject *object);
+static void psppire_var_store_dispose (GObject *object);
static gchar *psppire_var_store_get_string (const PsppireSheetModel *sheet_model, glong row, glong column);
self->format_type = g_value_get_enum (value);
break;
+ case PSPPIRE_VAR_STORE_DICT:
+ if ( self->dictionary)
+ g_object_unref (self->dictionary);
+ self->dictionary = g_value_dup_object (value);
+ g_signal_connect (self->dictionary, "variable-changed", G_CALLBACK (var_change_callback),
+ self);
+
+ g_signal_connect (self->dictionary, "variable-deleted", G_CALLBACK (var_delete_callback),
+ self);
+
+ g_signal_connect (self->dictionary, "variable-inserted",
+ G_CALLBACK (var_insert_callback), self);
+
+ g_signal_connect (self->dictionary, "backend-changed", G_CALLBACK (refresh),
+ self);
+
+ /* The entire model has changed */
+ psppire_sheet_model_range_changed (PSPPIRE_SHEET_MODEL (self), -1, -1, -1, -1);
+
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
break;
g_value_set_enum (value, self->format_type);
break;
+ case PSPPIRE_VAR_STORE_DICT:
+ g_value_take_object (value, self->dictionary);
+ break;
+
default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
}
}
psppire_var_store_class_init (PsppireVarStoreClass *class)
{
GObjectClass *object_class;
- GParamSpec *pspec;
+ GParamSpec *format_pspec;
+ GParamSpec *dict_pspec;
parent_class = g_type_class_peek_parent (class);
object_class = (GObjectClass*) class;
object_class->finalize = psppire_var_store_finalize;
+ object_class->dispose = psppire_var_store_dispose;
object_class->set_property = psppire_var_store_set_property;
object_class->get_property = psppire_var_store_get_property;
- pspec = g_param_spec_enum ("format-type",
+ format_pspec = g_param_spec_enum ("format-type",
"Variable format type",
("Whether variables have input or output "
"formats"),
g_object_class_install_property (object_class,
PSPPIRE_VAR_STORE_FORMAT_TYPE,
- pspec);
+ format_pspec);
+
+ dict_pspec = g_param_spec_object ("dictionary",
+ "Dictionary",
+ "The PsppireDict represented by this var store",
+ PSPPIRE_TYPE_DICT,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
+
+ g_object_class_install_property (object_class,
+ PSPPIRE_VAR_STORE_DICT,
+ dict_pspec);
}
#define DISABLED_COLOR "gray"
if ( ! gdk_color_parse (DISABLED_COLOR, &var_store->disabled))
g_critical ("Could not parse color \"%s\"", DISABLED_COLOR);
- var_store->dict = 0;
+ var_store->dictionary = NULL;
var_store->format_type = PSPPIRE_VAR_STORE_OUTPUT_FORMATS;
}
struct variable *
psppire_var_store_get_var (PsppireVarStore *store, glong row)
{
- return psppire_dict_get_variable (store->dict, row);
+ return psppire_dict_get_variable (store->dictionary, row);
}
static gboolean
{
PsppireVarStore *retval;
- retval = g_object_new (GTK_TYPE_VAR_STORE, NULL);
+ retval = g_object_new (GTK_TYPE_VAR_STORE, "dictionary", dict, NULL);
- psppire_var_store_set_dictionary (retval, dict);
+ // psppire_var_store_set_dictionary (retval, dict);
return retval;
}
-static void
-var_change_callback (GtkWidget *w, gint n, gpointer data)
-{
- PsppireSheetModel *model = PSPPIRE_SHEET_MODEL (data);
-
- psppire_sheet_model_range_changed (model,
- n, 0, n, PSPPIRE_VAR_STORE_n_COLS);
-}
-
-
-static void
-var_delete_callback (GtkWidget *w, gint dict_idx, gint case_idx, gint val_cnt, gpointer data)
-{
- PsppireSheetModel *model = PSPPIRE_SHEET_MODEL (data);
-
- psppire_sheet_model_rows_deleted (model, dict_idx, 1);
-}
-
-
-
-static void
-var_insert_callback (GtkWidget *w, glong row, gpointer data)
-{
- PsppireSheetModel *model = PSPPIRE_SHEET_MODEL (data);
-
- psppire_sheet_model_rows_inserted (model, row, 1);
-}
-
-static void
-refresh (PsppireDict *d, gpointer data)
-{
- PsppireVarStore *vs = data;
-
- psppire_sheet_model_range_changed (PSPPIRE_SHEET_MODEL (vs), -1, -1, -1, -1);
-}
-
+#if 0
/**
* psppire_var_store_replace_set_dictionary:
* @var_store: The variable store
/* The entire model has changed */
psppire_sheet_model_range_changed (PSPPIRE_SHEET_MODEL (var_store), -1, -1, -1, -1);
}
+#endif
static void
psppire_var_store_finalize (GObject *object)
(* parent_class->finalize) (object);
}
+static void
+psppire_var_store_dispose (GObject *object)
+{
+ PsppireVarStore *self = PSPPIRE_VAR_STORE (object);
+
+ if (self->dictionary)
+ g_object_unref (self->dictionary);
+
+ /* must chain up */
+ (* parent_class->finalize) (object);
+}
+
+
static gchar *
psppire_var_store_get_string (const PsppireSheetModel *model,
glong row, glong column)
struct variable *pv;
- if ( row >= psppire_dict_get_var_cnt (store->dict))
+ if ( row >= psppire_dict_get_var_cnt (store->dictionary))
return 0;
- pv = psppire_dict_get_variable (store->dict, row);
+ pv = psppire_dict_get_variable (store->dictionary, row);
return text_for_column (store, pv, column, 0);
}
PsppireVarStore *var_store = PSPPIRE_VAR_STORE (model);
- if ( row >= psppire_dict_get_var_cnt (var_store->dict))
+ if ( row >= psppire_dict_get_var_cnt (var_store->dictionary))
return FALSE;
pv = psppire_var_store_get_var (var_store, row);
PsppireVarStore *var_store = PSPPIRE_VAR_STORE (model);
- if ( row >= psppire_dict_get_var_cnt (var_store->dict))
+ if ( row >= psppire_dict_get_var_cnt (var_store->dictionary))
return FALSE;
pv = psppire_var_store_get_var (var_store, row);
case PSPPIRE_VAR_STORE_COL_NAME:
{
gboolean ok;
- ok = psppire_dict_rename_var (var_store->dict, pv, text);
+ ok = psppire_dict_rename_var (var_store->dictionary, pv, text);
return ok;
}
case PSPPIRE_VAR_STORE_COL_COLUMNS:
text_for_column (PsppireVarStore *vs,
const struct variable *pv, gint c, GError **err)
{
- PsppireDict *dict = vs->dict;
+ PsppireDict *dict = vs->dictionary;
static const gchar *const type_label[] =
{
N_("Numeric"),
gint
psppire_var_store_get_var_cnt (PsppireVarStore *store)
{
- return psppire_dict_get_var_cnt (store->dict);
+ return psppire_dict_get_var_cnt (store->dictionary);
}
gint rows = 0;
PsppireVarStore *vs = PSPPIRE_VAR_STORE (model);
- if (vs->dict)
- rows = psppire_dict_get_var_cnt (vs->dict);
+ if (vs->dictionary)
+ rows = psppire_dict_get_var_cnt (vs->dictionary);
return rows ;
}
{
PsppireVarStore *vs = PSPPIRE_VAR_STORE (model);
- if ( ! vs->dict)
+ if ( ! vs->dictionary)
return FALSE;
- return row < psppire_dict_get_var_cnt (vs->dict);
+ return row < psppire_dict_get_var_cnt (vs->dictionary);
}
GObject parent;
/*< private >*/
- PsppireDict *dict;
+ PsppireDict *dictionary;
GdkColor disabled;
PsppireVarStoreFormatType format_type;
};
PsppireVarStore *psppire_var_store_new (PsppireDict *dict);
struct variable * psppire_var_store_get_var (PsppireVarStore *store, glong row);
-void psppire_var_store_set_dictionary (PsppireVarStore *var_store, PsppireDict *dict);
-
-
/* Return the number of variables */
gint psppire_var_store_get_var_cnt (PsppireVarStore *var_store);
g_object_get (de->data_editor, "var-store", &vs, NULL);
- rd.dict = vs->dict;
+ g_object_get (vs, "dictionary", &rd.dict, NULL);
rd.rank_vars = get_widget_assert (builder, "variables-treeview");
rd.group_vars = get_widget_assert (builder, "group-vars-treeview");
rd.dialog = get_widget_assert (builder, "rank-dialog");
gtk_window_set_transient_for (GTK_WINDOW (rd.dialog), GTK_WINDOW (de));
- g_object_set (vars, "dictionary", vs->dict, NULL);
+ g_object_set (vars, "dictionary", rd.dict, NULL);
- set_dest_model (GTK_TREE_VIEW (rd.rank_vars), vs->dict);
+ set_dest_model (GTK_TREE_VIEW (rd.rank_vars), rd.dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector1),
vars,
NULL,
NULL);
- set_dest_model (GTK_TREE_VIEW (rd.group_vars), vs->dict);
+ set_dest_model (GTK_TREE_VIEW (rd.group_vars), rd.dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector2),
vars,
rd.new_name_entry = get_widget_assert (builder, "dest-name-entry");
rd.new_label_entry = get_widget_assert (builder, "dest-label-entry");
- rd.dict = vs->dict;
+ g_object_get (vs, "dictionary", &rd.dict, NULL);
rd.value_map = gtk_list_store_new (2,
old_value_get_type (),
gtk_window_set_transient_for (GTK_WINDOW (rd.dialog), GTK_WINDOW (de));
- g_object_set (rd.dict_treeview, "dictionary", vs->dict, NULL);
+ g_object_set (rd.dict_treeview, "dictionary", rd.dict, NULL);
if ( ! rd.different )
{
- set_dest_model (GTK_TREE_VIEW (rd.variable_treeview), vs->dict);
+ set_dest_model (GTK_TREE_VIEW (rd.variable_treeview), rd.dict);
}
else
{
gtk_tree_view_column_set_cell_data_func (col, renderer,
cell_var_name,
- vs->dict, 0);
+ rd.dict, 0);
gtk_tree_view_append_column (GTK_TREE_VIEW (rd.variable_treeview), col);
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
- g_object_set (source, "dictionary", vs->dict, NULL);
+ g_object_get (vs, "dictionary", &rd.dict, NULL);
+ g_object_set (source, "dictionary", rd.dict, NULL);
- set_dest_model (GTK_TREE_VIEW (dest_dep), vs->dict);
- set_dest_model (GTK_TREE_VIEW (dest_indep), vs->dict);
+ set_dest_model (GTK_TREE_VIEW (dest_dep), rd.dict);
+ set_dest_model (GTK_TREE_VIEW (dest_indep), rd.dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (dep_selector),
source,
rd.dep_vars = GTK_TREE_VIEW (dest_dep);
rd.indep_vars = GTK_TREE_VIEW (dest_indep);
- rd.dict = vs->dict;
+
+
rd.save_dialog = get_widget_assert (xml, "save-dialog");
rd.pred_button = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "pred-button"));
rd.resid_button = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "resid-button"));
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
- g_object_set (source, "dictionary", vs->dict, NULL);
+ g_object_get (vs, "dictionary", &rd.dict, NULL);
+ g_object_set (source, "dictionary", rd.dict, NULL);
- rd.dict = vs->dict;
-
- set_dest_model (GTK_TREE_VIEW (rd.variables), vs->dict);
+ set_dest_model (GTK_TREE_VIEW (rd.variables), rd.dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector),
source,
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
- g_object_set (source, "dictionary", vs->dict, NULL);
+ g_object_get (vs, "dictionary", &scd.dict, NULL);
+ g_object_set (source, "dictionary", scd.dict, NULL);
- set_dest_model (GTK_TREE_VIEW (dest), vs->dict);
+ set_dest_model (GTK_TREE_VIEW (dest), scd.dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector),
source,
g_signal_connect (dialog, "refresh", G_CALLBACK (refresh), dest);
scd.tv = GTK_TREE_VIEW (dest);
- scd.dict = vs->dict;
scd.ascending =
GTK_TOGGLE_BUTTON (get_widget_assert (xml, "sort-cases-radiobutton0"));
g_object_get (de->data_editor, "var-store", &vs, NULL);
- sfd.dict = vs->dict;
+ g_object_get (vs, "dictionary", &sfd.dict, NULL);
sfd.tv = GTK_TREE_VIEW (dest);
sfd.selector = PSPPIRE_SELECTOR (
get_widget_assert (sfd.xml, "split-file-selector"));
- g_object_set (source, "dictionary",
- vs->dict, NULL);
-
+ g_object_set (source, "dictionary", sfd.dict, NULL);
g_signal_connect (on_off, "toggled", G_CALLBACK(on_off_toggled), sfd.xml);
-
- set_dest_model (GTK_TREE_VIEW (dest), vs->dict);
+ set_dest_model (GTK_TREE_VIEW (dest), sfd.dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector),
source,
tt_d.dialog = get_widget_assert (xml, "t-test-independent-samples-dialog");
tt_d.xml = xml;
- tt_d.dict = vs->dict;
+ g_object_get (vs, "dictionary", &tt_d.dict, NULL);
tt_d.define_groups_button = get_widget_assert (xml, "define-groups-button");
tt_d.groups_entry = get_widget_assert (xml, "indep-samples-t-test-entry");
gtk_window_set_transient_for (GTK_WINDOW (tt_d.dialog), GTK_WINDOW (de));
- g_object_set (dict_view, "dictionary",
- vs->dict,
- NULL);
+ g_object_set (dict_view, "dictionary", tt_d.dict, NULL);
- set_dest_model (GTK_TREE_VIEW (test_variables_treeview), vs->dict);
+ set_dest_model (GTK_TREE_VIEW (test_variables_treeview), tt_d.dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector1),
g_object_get (de->data_editor, "var-store", &vs, NULL);
- tt_d.dict = vs->dict;
+ g_object_get (vs, "dictionary", &tt_d.dict, NULL);
tt_d.vars_treeview = get_widget_assert (xml, "one-sample-t-test-treeview1");
tt_d.test_value_entry = get_widget_assert (xml, "test-value-entry");
tt_d.opt = tt_options_dialog_create (xml, GTK_WINDOW (de));
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
g_object_set (dict_view, "dictionary",
- vs->dict,
- "predicate",
- var_is_numeric, NULL);
+ tt_d.dict,
+ "predicate",
+ var_is_numeric, NULL);
- set_dest_model (GTK_TREE_VIEW (tt_d.vars_treeview), vs->dict);
+ set_dest_model (GTK_TREE_VIEW (tt_d.vars_treeview), tt_d.dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector),
g_object_get (de->data_editor, "var-store", &vs, NULL);
- tt_d.dict = vs->dict;
+ g_object_get (vs, "dictionary", &tt_d.dict, NULL);
tt_d.pairs_treeview =
get_widget_assert (xml, "paired-samples-t-test-treeview2");
tt_d.opt = tt_options_dialog_create (xml, GTK_WINDOW (de));
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
- g_object_set (dict_view, "dictionary",
- vs->dict,
- "predicate",
- var_is_numeric, NULL);
+ g_object_set (dict_view, "dictionary", tt_d.dict,
+ "predicate",
+ var_is_numeric, NULL);
{
tt_d.list_store =
{
gint response ;
PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data);
+ PsppireDict *dict = NULL;
GtkBuilder *xml = builder_new ("psppire.ui");
g_object_get (de->data_editor, "var-store", &vs, NULL);
- g_object_set (source, "dictionary", vs->dict, NULL);
+ g_object_get (vs, "dictionary", &dict, NULL);
+ g_object_set (source, "dictionary", dict, NULL);
- set_dest_model (GTK_TREE_VIEW (dest), vs->dict);
+ set_dest_model (GTK_TREE_VIEW (dest), dict);
psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector1),
source, dest,
{
case GTK_RESPONSE_OK:
{
- gchar *syntax = generate_syntax (vs->dict, xml);
+ gchar *syntax = generate_syntax (dict, xml);
struct getl_interface *sss = create_syntax_string_source (syntax);
execute_syntax (sss);
break;
case PSPPIRE_RESPONSE_PASTE:
{
- gchar *syntax = generate_syntax (vs->dict, xml);
+ gchar *syntax = generate_syntax (dict, xml);
paste_syntax_in_new_window (syntax);
g_free (syntax);
GtkWidget *window;
PsppireVarStore *var_store;
+ PsppireDict *dict;
/* The variable to be updated */
struct variable *pv;
text = gtk_entry_get_text (GTK_ENTRY (dialog->value_entry));
text_to_value (text,
- dialog->var_store->dict,
+ dialog->dict,
dialog->pv,
&v);
union value v;
text_to_value (text,
- dialog->var_store->dict,
+ dialog->dict,
dialog->pv,
&v);
union value v;
text_to_value (val_text,
- dialog->var_store->dict,
+ dialog->dict,
dialog->pv,
&v);
const gchar *text = gtk_entry_get_text (GTK_ENTRY (dialog->value_entry));
text_to_value (text,
- dialog->var_store->dict,
+ dialog->dict,
dialog->pv,
&v);
gchar *text;
get_selected_tuple (dialog, &value, &label);
- text = value_to_text (value, dialog->var_store->dict, *var_get_write_format (dialog->pv));
+ text = value_to_text (value, dialog->dict, *var_get_write_format (dialog->pv));
g_signal_handler_block (GTK_ENTRY (dialog->value_entry),
dialog->value_handler_id);
struct val_labs_dialog *dialog = g_malloc (sizeof (*dialog));
dialog->var_store = var_store;
+ g_object_get (var_store, "dictionary", &dialog->dict, NULL);
dialog->window = get_widget_assert (xml,"val_labs_dialog");
dialog->value_entry = get_widget_assert (xml,"value_entry");
dialog->label_entry = get_widget_assert (xml,"label_entry");
const struct val_lab *vl = labels[i];
gchar *const vstr =
- value_to_text (vl->value, dialog->var_store->dict,
+ value_to_text (vl->value, dialog->dict,
*var_get_write_format (dialog->pv));
gchar *const text = g_strdup_printf ("%s = \"%s\"",
if ( var == NULL)
return;
- g_object_get (treeview,
- "dictionary", &dict,
+ g_object_get (treeview, "dictionary", &dict,
NULL);
gstring = g_string_sized_new (200);
GtkWidget *textview = get_widget_assert (xml, "textview1");
PsppireVarStore *vs = NULL;
+ PsppireDict *dict = NULL;
g_object_get (de->data_editor, "var-store", &vs, NULL);
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
- g_object_set (treeview,
- "dictionary", vs->dict,
+ g_object_get (vs, "dictionary", &dict, NULL);
+ g_object_set (treeview, "dictionary", dict,
"selection-mode", GTK_SELECTION_SINGLE,
NULL);
PsppireVarStore *vs = NULL;
g_object_get (de->data_editor, "var-store", &vs, NULL);
+ g_object_get (vs, "dictionary", &wcd.dict, NULL);
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
g_signal_connect (selector, "de-selected", G_CALLBACK (on_deselect),
radiobutton1);
- g_object_set (source, "dictionary", vs->dict,
+
+ g_object_set (source, "dictionary", wcd.dict,
"selection-mode", GTK_SELECTION_SINGLE,
"predicate", var_is_numeric,
NULL);
);
- wcd.dict = vs->dict;
+
wcd.entry = GTK_ENTRY (entry);
wcd.status = GTK_LABEL (status);
wcd.off = GTK_TOGGLE_BUTTON (radiobutton1);