/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2004 Free Software Foundation
+ Copyright (C) 2004, 2009, 2010, 2011, 2012 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
#ifndef __MISC_H__
#define __MISC_H__
-#include "relocatable.h"
-#include <data/value.h>
#include <data/format.h>
+#include <data/value.h>
#include <gtk/gtk.h>
-#include <glade/glade.h>
-
-/*
- GtkRecentChooserMenu was added in 2.10.0
- but it didn't support GtkRecentFilters until
- 2.10.2
-*/
-#define RECENT_LISTS_AVAILABLE GTK_CHECK_VERSION (2, 10, 2)
+#include "psppire-dict.h"
+gchar *paste_syntax_to_window (gchar *syntax);
-/* Formats a value according to FORMAT
- The returned string must be freed when no longer required */
-gchar * value_to_text (union value v, struct fmt_spec format);
+struct fmt_spec;
+/* Returns a new GParamSpec for a string. An attempt to store the empty string
+ in the parameter will be silently translated into storing a null pointer. */
+static inline GParamSpec *
+null_if_empty_param (const gchar *name, const gchar *nick,
+ const gchar *blurb, const gchar *default_value,
+ GParamFlags flags)
+{
+ GParamSpec *param;
-gboolean text_to_value (const gchar *text, union value *v,
- struct fmt_spec format);
+ param = g_param_spec_string (name, nick, blurb, default_value, flags);
+ ((GParamSpecString *) param)->null_fold_if_empty = TRUE;
+ return param;
+}
-GtkWidget * get_widget_assert (GladeXML *xml, const gchar *name);
+char *escape_underscores (const char *);
-/* Converts a string in the pspp locale to utf-8 */
-char * pspp_locale_to_utf8 (const gchar *text, gssize len, GError **err);
+gchar * value_to_text (union value v, const struct variable *);
+gchar * value_to_text__ (union value v, const struct fmt_spec *,
+ const char *encoding);
-void connect_help (GladeXML *);
+union value *text_to_value (const gchar *text, const struct variable *,
+ union value *);
+union value *text_to_value__ (const gchar *text, const struct fmt_spec *,
+ const gchar *encoding, union value *);
-void reference_manual (GtkMenuItem *, gpointer);
+gchar * convert_glib_filename_to_system_filename (const gchar *fname,
+ GError **err);
-struct getl_interface;
-gboolean execute_syntax (struct getl_interface *sss);
+void connect_help (GtkBuilder *);
-#define XML_NEW(FILE) \
- glade_xml_new (relocate(PKGDATADIR "/" FILE), NULL, NULL)
+/* Create a deep copy of SRC */
+GtkListStore * clone_list_store (const GtkListStore *src);
+void psppire_box_pack_start_defaults (GtkBox *box, GtkWidget *widget);
#endif