gui: Move null_if_empty_param() from psppire-window to helper.
[pspp-builds.git] / src / ui / gui / helper.h
index f7660dc43b8332f674e664202dfe76fdc198e418..e7fb62572d1c20baa11038a38979276aef6f04ad 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2004, 2009, 2010  Free Software Foundation
+   Copyright (C) 2004, 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
@@ -33,6 +33,20 @@ gchar *paste_syntax_to_window (gchar *syntax);
 
 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;
+
+  param = g_param_spec_string (name, nick, blurb, default_value, flags);
+  ((GParamSpecString *) param)->null_fold_if_empty = TRUE;
+  return param;
+}
+
 
 /* Formats a value according to FORMAT
    The returned string must be freed when no longer required */