X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dict.c;h=20bc2fc32dfeccdd8d136ef14bce38fa83ea54ce;hb=fe3a0a8896cc9f099196f0d0228bb0cfa688c34a;hp=42025f2dc7598fe50f9cdb5dcff30f816ab14952;hpb=a10cebe053263d7e936b6533a3dbf5ac2f0586a1;p=pspp diff --git a/src/ui/gui/psppire-dict.c b/src/ui/gui/psppire-dict.c index 42025f2dc7..20bc2fc32d 100644 --- a/src/ui/gui/psppire-dict.c +++ b/src/ui/gui/psppire-dict.c @@ -281,7 +281,15 @@ psppire_dict_new_from_dict (struct dictionary *d) void psppire_dict_replace_dictionary (PsppireDict *dict, struct dictionary *d) { + struct variable *var = dict_get_weight (d); dict->dict = d; + + weight_changed_callback (d, var ? var_get_dict_index (var) : -1, dict); + + var = dict_get_filter (d); + filter_changed_callback (d, var ? var_get_dict_index (var) : -1, dict); + + split_changed_callback (d, dict); } @@ -343,13 +351,15 @@ psppire_dict_delete_variables (PsppireDict *d, gint first, gint n) } -void +gboolean psppire_dict_set_name (PsppireDict* d, gint idx, const gchar *name) { struct variable *var; g_assert (d); g_assert (PSPPIRE_IS_DICT (d)); + if ( ! var_is_valid_name (name, false)) + return FALSE; if ( idx < dict_get_var_cnt (d->dict)) { @@ -362,6 +372,8 @@ psppire_dict_set_name (PsppireDict* d, gint idx, const gchar *name) /* new variable */ dict_create_var (d->dict, name, 0); } + + return TRUE; } @@ -735,11 +747,16 @@ tree_model_nth_child (GtkTreeModel *model, GtkTreeIter *iter, } -void +gboolean psppire_dict_rename_var (PsppireDict *dict, struct variable *v, - const gchar *text) + const gchar *name) { - dict_rename_var (dict->dict, v, text); + if ( ! var_is_valid_name (name, false)) + return FALSE; + + dict_rename_var (dict->dict, v, name); + + return TRUE; }