X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fhelper.h;h=8d18fcf4b44e4b318d5bb29eb4686f389d77afa7;hb=a1538e0714e45fae1b7d43d11c587b70f2aa1eed;hp=6706df20701e39bd9705ffbe17c6579e2c587966;hpb=83df73bacd2cd3abd177e6a8ac1b76b072255025;p=pspp diff --git a/src/ui/gui/helper.h b/src/ui/gui/helper.h index 6706df2070..8d18fcf4b4 100644 --- a/src/ui/gui/helper.h +++ b/src/ui/gui/helper.h @@ -1,5 +1,5 @@ /* 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 @@ -18,7 +18,6 @@ #ifndef __MISC_H__ #define __MISC_H__ -#include "relocatable.h" #include #include @@ -27,37 +26,52 @@ #include "psppire-dict.h" -void paste_syntax_in_new_window (const gchar *syntax); +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; -/* Formats a value according to FORMAT - The returned string must be freed when no longer required */ -gchar * value_to_text (union value v, PsppireDict *dict, struct fmt_spec format); + param = g_param_spec_string (name, nick, blurb, default_value, flags); + ((GParamSpecString *) param)->null_fold_if_empty = TRUE; + return param; +} +gchar * value_to_text (union value v, const struct variable *); +gchar * value_to_text__ (union value v, const struct fmt_spec *, + const char *encoding); -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); - -gchar * convert_glib_filename_to_system_filename (const gchar *fname, - GError **err); - -void connect_help (GtkBuilder *); - -void reference_manual (GtkMenuItem *, gpointer); - -#define builder_new(NAME) builder_new_real (relocate (PKGDATADIR "/" NAME)) - -GtkBuilder *builder_new_real (const gchar *name); +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 *); /* Create a deep copy of SRC */ GtkListStore * clone_list_store (const GtkListStore *src); +/* gtk_box_pack_start_defaults is deprecated. + Therefore we roll our own until a better solution is found */ +static inline void +psppire_box_pack_start_defaults (GtkBox *box, GtkWidget *widget) +{ + gtk_box_pack_start (box, widget, TRUE, TRUE, 0); +} + +/* Starting with gcc8 the warning Wcast-function-type will + trigger if no intermediate (void (*)(void)) cast is done + for a function cast to GFunc when the number of parameters + is not 2. The reason is that the compiler behaviour in this + situation is undefined according to C standard although many + implementations rely on this. */ +#define GFUNC_COMPAT_CAST(x) ((GFunc) (void (*)(void)) (x)) #endif +