summaryrefslogtreecommitdiff
path: root/gtk/gtkcontainer.c
diff options
context:
space:
mode:
authorOwen Taylor <owt1@cornell.edu>1998-02-13 05:19:06 +0000
committerOwen Taylor <otaylor@src.gnome.org>1998-02-13 05:19:06 +0000
commit888470ee29e6956efc4122bdb9c24a1af0344079 (patch)
tree93c5eb8ba8f361957ee4a98334b3a5e2ec365ea3 /gtk/gtkcontainer.c
parentdd07df15c1e39eb68a38ac4c15094a25f8e086cd (diff)
downloadgtk+-888470ee29e6956efc4122bdb9c24a1af0344079.tar.gz
gtk/gtksignal.[ch] gtk/gtkmain.[ch] gtk/gtkcontainer.[ch]
Thu Feb 12 23:59:49 1998 Owen Taylor <owt1@cornell.edu> * gtk/gtksignal.[ch] gtk/gtkmain.[ch] gtk/gtkcontainer.[ch] gtk/gtkselection.[ch] gdk/gdk.[ch] gtktypeutils.h Replaced all _interp functions with _full functions. (_interp functions left in for compatibility until 0.99.5). Difference: _full functions take _both_ a C-language callback and a marshaller, and simply ignore the C-language callback if the marshaller is present. This allows the destroy notification to be used without marshalling. gtk_selection_add_handler[_full]() regularized to agree with other callbacks. Also, added gtk_input_add_full() to the header file. (gtk_input_add_interp() was never there) * gtk/gtkmain.[ch] gtk/gtkwidget.c: Idle functions are now prioritized. Added new function gtk_idle_add_priority to create an idle with a specified priority (default is zero) constants #defined - GTK_PRIORITY_[HIGH/INTERNAL/DEFAULT/LOW] (redraws, resizes run at GTK_PRIORITY_INTERNAL) * gtk/gtkentry.c gtk/testselection.c: changes to keep up with change to gtkselection.c.
Diffstat (limited to 'gtk/gtkcontainer.c')
-rw-r--r--gtk/gtkcontainer.c30
1 files changed, 23 insertions, 7 deletions
diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
index a63bd764b5..aab16dd5e1 100644
--- a/gtk/gtkcontainer.c
+++ b/gtk/gtkcontainer.c
@@ -428,17 +428,33 @@ gtk_container_foreach_unmarshal (GtkWidget *child,
void
gtk_container_foreach_interp (GtkContainer *container,
- GtkCallbackMarshal callback,
+ GtkCallbackMarshal marshal,
gpointer callback_data,
GtkDestroyNotify notify)
{
- GtkForeachData fdata;
-
- fdata.container = GTK_OBJECT (container);
- fdata.callback = callback;
- fdata.callback_data = callback_data;
+ gtk_container_foreach_full (container, NULL, marshal,
+ callback_data, notify);
+}
+
+void
+gtk_container_foreach_full (GtkContainer *container,
+ GtkCallback callback,
+ GtkCallbackMarshal marshal,
+ gpointer callback_data,
+ GtkDestroyNotify notify)
+{
+ if (marshal)
+ {
+ GtkForeachData fdata;
- gtk_container_foreach (container, gtk_container_foreach_unmarshal, &fdata);
+ fdata.container = GTK_OBJECT (container);
+ fdata.callback = marshal;
+ fdata.callback_data = callback_data;
+
+ gtk_container_foreach (container, gtk_container_foreach_unmarshal, &fdata);
+ }
+ else
+ gtk_container_foreach (container, callback, &callback_data);
notify (callback_data);
}