aboutsummaryrefslogtreecommitdiffstats
path: root/e-util
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2002-03-26 03:33:20 +0800
committerChris Lahey <clahey@src.gnome.org>2002-03-26 03:33:20 +0800
commita020c2bd2ff5b6f417fb836c3b461ca7aaa915f2 (patch)
tree4eb7eb5d6c60e088f8c5b1171b56d6eb7dc2ea43 /e-util
parent660118fcbe6e5d08d2c54588bfd0a58b5d346f20 (diff)
downloadgsoc2013-evolution-a020c2bd2ff5b6f417fb836c3b461ca7aaa915f2.tar
gsoc2013-evolution-a020c2bd2ff5b6f417fb836c3b461ca7aaa915f2.tar.gz
gsoc2013-evolution-a020c2bd2ff5b6f417fb836c3b461ca7aaa915f2.tar.bz2
gsoc2013-evolution-a020c2bd2ff5b6f417fb836c3b461ca7aaa915f2.tar.lz
gsoc2013-evolution-a020c2bd2ff5b6f417fb836c3b461ca7aaa915f2.tar.xz
gsoc2013-evolution-a020c2bd2ff5b6f417fb836c3b461ca7aaa915f2.tar.zst
gsoc2013-evolution-a020c2bd2ff5b6f417fb836c3b461ca7aaa915f2.zip
Added widgets/e-option-menu.lo.
2002-03-25 Christopher James Lahey <clahey@ximian.com> * gal/Makefile.am (libgal_la_LIBADD): Added widgets/e-option-menu.lo. * gal/util/e-util.c, gal/util/e-util.h (e_strdupv): Copied this function from glib2. (GET_STRING_ARRAY_FROM_ELLIPSIS, GET_DUPLICATED_STRING_ARRAY_FROM_ELLIPSIS): Added these macros to automate getting a NULL terminated array off of the stack. * gal/widgets/Makefile.am (libwidgets_la_SOURCES): Added e-option-menu.c. (libwidgetsinclude_HEADERS): Added e-option-menu.h. * gal/widgets/e-canvas.c (e_canvas_class_init): Reformatted this function. * gal/widgets/e-gui-utils.c, gal/widgets/e-gui-utils.h (e_glade_xml_connect_widget, e_glade_xml_set_sensitive): Two new functions to automate pulling a widget from a GladeXML and either connecting a signal or setting the sensitivity. * gal/widgets/e-option-menu.c, gal/widgets/e-option-menu.h: New class to simplify the interface to GtkOptionMenu. svn path=/trunk/; revision=16246
Diffstat (limited to 'e-util')
-rw-r--r--e-util/e-util.c26
-rw-r--r--e-util/e-util.h35
2 files changed, 61 insertions, 0 deletions
diff --git a/e-util/e-util.c b/e-util/e-util.c
index 1696338858..5d8e9b19db 100644
--- a/e-util/e-util.c
+++ b/e-util/e-util.c
@@ -1592,3 +1592,29 @@ e_strdup_append_strings (gchar *first_string, ...)
return buffer;
}
+
+gchar **
+e_strdupv (const gchar **str_array)
+{
+ if (str_array) {
+ gint i;
+ gchar **retval;
+
+ i = 0;
+ while (str_array[i])
+ i++;
+
+ retval = g_new (gchar*, i + 1);
+
+ i = 0;
+ while (str_array[i]) {
+ retval[i] = g_strdup (str_array[i]);
+ i++;
+ }
+ retval[i] = NULL;
+
+ return retval;
+ } else {
+ return NULL;
+ }
+}
diff --git a/e-util/e-util.h b/e-util/e-util.h
index e636a0fbbf..65a8d0d618 100644
--- a/e-util/e-util.h
+++ b/e-util/e-util.h
@@ -75,6 +75,40 @@ GtkType l##_get_type(void)\
return type;\
}
+#define GET_STRING_ARRAY_FROM_ELLIPSIS(labels, first_string) \
+ { \
+ va_list args; \
+ int i; \
+ char *s; \
+ \
+ va_start (args, (first_string)); \
+ \
+ i = 0; \
+ for (s = (first_string); s; s = va_arg (args, char *)) \
+ i++; \
+ va_end (args); \
+ \
+ (labels) = g_new (char *, i + 1); \
+ \
+ va_start (args, (first_string)); \
+ i = 0; \
+ for (s = (first_string); s; s = va_arg (args, char *)) \
+ (labels)[i++] = s; \
+ \
+ va_end (args); \
+ (labels)[i] = NULL; \
+ }
+
+
+#define GET_DUPLICATED_STRING_ARRAY_FROM_ELLIPSIS(labels, first_string) \
+ { \
+ int i; \
+ GET_STRING_ARRAY_FROM_ELLIPSIS ((labels), (first_string)); \
+ for (i = 0; labels[i]; i++) \
+ labels[i] = g_strdup (labels[i]); \
+ }
+
+
#if 1
# define E_OBJECT_CLASS_ADD_SIGNALS(oc,sigs,last) \
gtk_object_class_add_signals (oc, sigs, last)
@@ -118,6 +152,7 @@ void e_filename_make_safe (gcha
gchar *e_format_number (gint number);
gchar *e_format_number_float (gfloat number);
gboolean e_create_directory (gchar *directory);
+gchar **e_strdupv (const gchar **str_array);
typedef int (*ESortCompareFunc) (const void *first,