2 # define _GNM_GUTILS_H_
5 #include <goffice/goffice.h>
10 void gutils_init (void);
11 void gutils_shutdown (void);
13 /* System and user paths */
14 char const *gnm_sys_lib_dir (void);
15 char const *gnm_sys_data_dir (void);
16 char const *gnm_sys_extern_plugin_dir (void);
17 char const *gnm_locale_dir (void);
18 char const *gnm_usr_dir (gboolean versioned
);
20 gnm_float
gnm_utf8_strto (const char *s
, char **end
);
21 long gnm_utf8_strtol (const char *s
, char **end
);
23 #define PLUGIN_SUBDIR "plugins"
25 int gnm_regcomp_XL (GORegexp
*preg
, char const *pattern
, int cflags
,
26 gboolean anchor_start
, gboolean anchor_end
);
27 int gnm_excel_search_impl (const char *needle
, const char *haystack
,
30 gboolean
gnm_pango_attr_list_equal (PangoAttrList
const *l1
, PangoAttrList
const *l2
);
32 /* Locale utilities */
33 typedef struct _GnmLocale GnmLocale
;
34 GnmLocale
*gnm_push_C_locale (void);
35 void gnm_pop_C_locale (GnmLocale
*locale
);
37 gboolean
gnm_debug_flag (const char *flag
);
39 void gnm_string_add_number (GString
*buf
, gnm_float d
);
41 /* Some Meta handling functions */
43 void gnm_insert_meta_date (GODoc
*doc
, char const *name
);
45 gboolean
gnm_object_get_bool (gpointer o
, const char *name
);
46 gboolean
gnm_object_has_readable_prop (gconstpointer obj
,
48 GType typ
, gpointer pres
);
50 gint
gnm_float_equal (gnm_float
const *a
, const gnm_float
*b
);
51 guint
gnm_float_hash (gnm_float
const *d
);
53 typedef int (*GnmHashTableOrder
) (gpointer key_a
, gpointer val_a
,
54 gpointer key_b
, gpointer val_b
,
57 void gnm_hash_table_foreach_ordered (GHashTable
*h
,
59 GnmHashTableOrder order
,
62 void gnm_xml_in_doc_dispose_on_exit (GsfXMLInDoc
**pdoc
);
64 Sheet
*gnm_file_saver_get_sheet (GOFileSaver
const *fs
,
65 WorkbookView
const *wbv
);
66 GPtrArray
*gnm_file_saver_get_sheets (GOFileSaver
const *fs
,
67 WorkbookView
const *wbv
,
68 gboolean default_all
);
70 gboolean
gnm_file_saver_common_export_option (GOFileSaver
const *fs
,
78 #endif /* _GNM_GUTILS_H_ */