3b9f03703ea7c85b367b057f47fa63757f4dc218
[pspp-builds.git] / src / ui / gui / helper.h
1 /* PSPPIRE - a graphical user interface for PSPP.
2    Copyright (C) 2004  Free Software Foundation
3
4    This program is free software: you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation, either version 3 of the License, or
7    (at your option) any later version.
8
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program.  If not, see <http://www.gnu.org/licenses/>. */
16
17
18 #ifndef __MISC_H__
19 #define __MISC_H__
20
21 #include "relocatable.h"
22
23 #include <data/value.h>
24
25 #include <gtk/gtk.h>
26 #include <glade/glade.h>
27
28 /*
29    GtkRecentChooserMenu was added in 2.10.0
30    but it didn't support GtkRecentFilters until
31    2.10.2
32 */
33 #define RECENT_LISTS_AVAILABLE GTK_CHECK_VERSION (2, 10, 2)
34
35 struct fmt_spec;
36
37 /* Formats a value according to FORMAT
38    The returned string must be freed when no longer required */
39 gchar * value_to_text (union value v, struct fmt_spec format);
40
41
42 gboolean text_to_value (const gchar *text, union value *v,
43                        struct fmt_spec format);
44
45 GtkWidget * get_widget_assert (GladeXML *xml, const gchar *name);
46
47 /* Converts a string in the pspp locale to utf-8 */
48 char * pspp_locale_to_utf8 (const gchar *text, gssize len, GError **err);
49
50
51 void connect_help (GladeXML *);
52
53 void reference_manual (GtkMenuItem *, gpointer);
54
55 struct getl_interface;
56 gboolean execute_syntax (struct getl_interface *sss);
57
58 #define XML_NEW(FILE) \
59    glade_xml_new (relocate(PKGDATADIR "/" FILE), NULL, NULL)
60
61
62 void marshaller_VOID__INT_INT_INT (GClosure     *closure,
63                                    GValue       *return_value,
64                                    guint         n_param_values,
65                                    const GValue *param_values,
66                                    gpointer      invocation_hint,
67                                    gpointer      marshal_data);
68
69
70 /* Create a deep copy of SRC */
71 GtkListStore * clone_list_store (const GtkListStore *src);
72
73
74 #endif