X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dict.c;h=91bfed2597be89d297be3c00c7c4d36a021945d6;hb=9ade26c8349b4434008c46cf09bc7473ec743972;hp=8ff92a48fc57c01f7d255ab27001dd4cdc5c5f15;hpb=5c3291dc396b795696e94f47780308fd7ace6fc4;p=pspp-builds.git
diff --git a/src/ui/gui/psppire-dict.c b/src/ui/gui/psppire-dict.c
index 8ff92a48..91bfed25 100644
--- a/src/ui/gui/psppire-dict.c
+++ b/src/ui/gui/psppire-dict.c
@@ -1,5 +1,5 @@
/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2004, 2006, 2007, 2009 Free Software Foundation
+ Copyright (C) 2004, 2006, 2007, 2009, 2010, 2011 Free Software Foundation
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,22 +15,27 @@
along with this program. If not, see . */
#include
+
+#include "ui/gui/psppire-dict.h"
+
#include
#include
-
#include
-#include
-
-#include "psppire-dict.h"
-#include
-#include
-#include
-#include
-#include
-
-#include "helper.h"
-#include "message-dialog.h"
+#include "data/dictionary.h"
+#include "data/identifier.h"
+#include "data/missing-values.h"
+#include "data/value-labels.h"
+#include "data/variable.h"
+#include "libpspp/i18n.h"
+#include "libpspp/message.h"
+#include "ui/gui/helper.h"
+#include "ui/gui/psppire-marshal.h"
+#include "ui/gui/psppire-var-ptr.h"
+
+#include
+#define _(msgid) gettext (msgid)
+#define N_(msgid) msgid
enum {
BACKEND_CHANGED,
@@ -352,7 +357,14 @@ auto_generate_var_name (PsppireDict *dict)
gint d = 0;
static gchar name[10];
- while (g_snprintf (name, 10, "VAR%05d",d++),
+ /* TRANSLATORS: This string must be a valid variable name. That means:
+ - The string must be at most 64 bytes (not characters) long.
+ - The string may not contain whitespace.
+ - The first character may not be '$'
+ - The first character may not be a digit
+ - The final charactor may not be '.' or '_'
+ */
+ while (g_snprintf (name, 10, _("VAR%05d"), d++),
psppire_dict_lookup_var (dict, name))
;
@@ -414,7 +426,7 @@ psppire_dict_set_name (PsppireDict* d, gint idx, const gchar *name)
g_assert (d);
g_assert (PSPPIRE_IS_DICT (d));
- if ( ! var_is_valid_name (name, false))
+ if ( ! dict_id_is_valid (d->dict, name, false))
return FALSE;
if ( idx < dict_get_var_cnt (d->dict))
@@ -516,7 +528,7 @@ gboolean
psppire_dict_check_name (const PsppireDict *dict,
const gchar *name, gboolean report)
{
- if ( ! var_is_valid_name (name, report ) )
+ if ( ! dict_id_is_valid (dict->dict, name, report ) )
return FALSE;
if (psppire_dict_lookup_var (dict, name))
@@ -648,7 +660,7 @@ tree_model_column_type (GtkTreeModel *model, gint index)
return G_TYPE_STRING;
break;
case DICT_TVM_COL_VAR:
- return G_TYPE_POINTER;
+ return PSPPIRE_VAR_PTR_TYPE;
break;
default:
g_return_val_if_reached ((GType)0);
@@ -760,16 +772,13 @@ tree_model_get_value (GtkTreeModel *model, GtkTreeIter *iter,
{
case DICT_TVM_COL_NAME:
{
- gchar *name = recode_string (UTF8, psppire_dict_encoding (dict),
- var_get_name (var), -1);
g_value_init (value, G_TYPE_STRING);
- g_value_set_string (value, name);
- g_free (name);
+ g_value_set_string (value, var_get_name (var));
}
break;
case DICT_TVM_COL_VAR:
- g_value_init (value, G_TYPE_POINTER);
- g_value_set_pointer (value, var);
+ g_value_init (value, PSPPIRE_VAR_PTR_TYPE);
+ g_value_set_boxed (value, var);
break;
default:
g_return_if_reached ();
@@ -827,7 +836,7 @@ gboolean
psppire_dict_rename_var (PsppireDict *dict, struct variable *v,
const gchar *name)
{
- if ( ! var_is_valid_name (name, false))
+ if ( ! dict_id_is_valid (dict->dict, name, false))
return FALSE;
/* Make sure no other variable has this name */
@@ -859,11 +868,10 @@ psppire_dict_dump (const PsppireDict *dict)
{
const struct variable *v = psppire_dict_get_variable (dict, i);
int di = var_get_dict_index (v);
- g_print ("\"%s\" idx=%d, fv=%d, size=%d\n",
+ g_print ("`%s' idx=%d, fv=%d\n",
var_get_name(v),
di,
- var_get_case_index(v),
- value_cnt_from_width(var_get_width(v)));
+ var_get_case_index(v));
}
}