Added e_container_foreach_leaf.

2000-05-19  Christopher James Lahey  <clahey@helixcode.com>

	* e-gui-utils.c, e-gui-utils.h: Added e_container_foreach_leaf.

svn path=/trunk/; revision=3130
This commit is contained in:
Christopher James Lahey
2000-05-19 04:13:37 +00:00
committed by Chris Lahey
parent 60f4552ab7
commit f62df6f7d7
5 changed files with 64 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2000-05-19 Christopher James Lahey <clahey@helixcode.com>
* e-gui-utils.c, e-gui-utils.h: Added e_container_foreach_leaf.
2000-05-18 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Add imagesdir support.

View File

@ -1,3 +1,4 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* GUI utility functions
*
@ -110,3 +111,28 @@ GtkWidget *e_create_image_widget(gchar *name,
return NULL;
}
typedef struct {
GtkCallback callback;
gpointer closure;
} CallbackClosure;
static void
e_container_foreach_leaf_callback(GtkWidget *widget, CallbackClosure *callback_closure)
{
if (GTK_IS_CONTAINER(widget)) {
e_container_foreach_leaf(GTK_CONTAINER(widget), callback_closure->callback, callback_closure->closure);
} else {
(*callback_closure->callback) (widget, callback_closure->closure);
}
}
void
e_container_foreach_leaf(GtkContainer *container,
GtkCallback callback,
gpointer closure)
{
CallbackClosure callback_closure;
callback_closure.callback = callback;
callback_closure.closure = closure;
gtk_container_foreach(container, (GtkCallback) e_container_foreach_leaf_callback, &callback_closure);
}

View File

@ -7,7 +7,10 @@
void e_popup_menu (GtkMenu *menu, GdkEventButton *event);
void e_auto_kill_popup_menu_on_hide (GtkMenu *menu);
void e_notice (GtkWindow *window, const char *type, const char *format, ...);
GtkWidget *e_create_image_widget(gchar *name, gchar *string1, gchar *string2, gint int1, gint int2);
GtkWidget *e_create_image_widget (gchar *name, gchar *string1, gchar *string2, gint int1, gint int2);
void e_container_foreach_leaf (GtkContainer *container,
GtkCallback callback,
gpointer closure);
#endif /* E_GUI_UTILS_H */

View File

@ -1,3 +1,4 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* GUI utility functions
*
@ -110,3 +111,28 @@ GtkWidget *e_create_image_widget(gchar *name,
return NULL;
}
typedef struct {
GtkCallback callback;
gpointer closure;
} CallbackClosure;
static void
e_container_foreach_leaf_callback(GtkWidget *widget, CallbackClosure *callback_closure)
{
if (GTK_IS_CONTAINER(widget)) {
e_container_foreach_leaf(GTK_CONTAINER(widget), callback_closure->callback, callback_closure->closure);
} else {
(*callback_closure->callback) (widget, callback_closure->closure);
}
}
void
e_container_foreach_leaf(GtkContainer *container,
GtkCallback callback,
gpointer closure)
{
CallbackClosure callback_closure;
callback_closure.callback = callback;
callback_closure.closure = closure;
gtk_container_foreach(container, (GtkCallback) e_container_foreach_leaf_callback, &callback_closure);
}

View File

@ -7,7 +7,10 @@
void e_popup_menu (GtkMenu *menu, GdkEventButton *event);
void e_auto_kill_popup_menu_on_hide (GtkMenu *menu);
void e_notice (GtkWindow *window, const char *type, const char *format, ...);
GtkWidget *e_create_image_widget(gchar *name, gchar *string1, gchar *string2, gint int1, gint int2);
GtkWidget *e_create_image_widget (gchar *name, gchar *string1, gchar *string2, gint int1, gint int2);
void e_container_foreach_leaf (GtkContainer *container,
GtkCallback callback,
gpointer closure);
#endif /* E_GUI_UTILS_H */