/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2004, 2009 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/format.h>
#include <data/value.h>
#include <gtk/gtk.h>
+#include "psppire-dict.h"
-
-void paste_syntax_in_new_window (const gchar *syntax);
+gchar *paste_syntax_to_window (gchar *syntax);
struct fmt_spec;
-/* 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);
-
-
-gboolean text_to_value (const gchar *text, union value *v,
- struct fmt_spec format);
-
-GObject *get_object_assert (GtkBuilder *builder, const gchar *name, GType type);
-GtkAction * get_action_assert (GtkBuilder *builder, const gchar *name);
-GtkWidget * get_widget_assert (GtkBuilder *builder, const gchar *name);
+/* 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;
-/* Converts a string in the pspp locale to utf-8 */
-gchar * pspp_locale_to_utf8 (const gchar *text, gssize len, GError **err);
-gchar * utf8_to_pspp_locale (const gchar *text, gssize len, GError **err);
+ param = g_param_spec_string (name, nick, blurb, default_value, flags);
+ ((GParamSpecString *) param)->null_fold_if_empty = TRUE;
+ return param;
+}
+char *escape_underscores (const char *);
-void connect_help (GtkBuilder *);
-
-void reference_manual (GtkMenuItem *, gpointer);
+gchar * value_to_text (union value v, const struct variable *);
+gchar * value_to_text__ (union value v, const struct fmt_spec *,
+ const char *encoding);
-struct getl_interface;
-gboolean execute_syntax (struct getl_interface *sss);
+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 *);
-#define builder_new(NAME) builder_new_real (relocate (PKGDATADIR "/" NAME))
+gchar * convert_glib_filename_to_system_filename (const gchar *fname,
+ GError **err);
-GtkBuilder *builder_new_real (const gchar *name);
+void connect_help (GtkBuilder *);
/* Create a deep copy of SRC */
GtkListStore * clone_list_store (const GtkListStore *src);
+void psppire_box_pack_start_defaults (GtkBox *box, GtkWidget *widget);
+
#endif