diff options
author | Owen Taylor <owt1@cornell.edu> | 1998-02-13 05:19:06 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1998-02-13 05:19:06 +0000 |
commit | 888470ee29e6956efc4122bdb9c24a1af0344079 (patch) | |
tree | 93c5eb8ba8f361957ee4a98334b3a5e2ec365ea3 /gtk/gtksignal.c | |
parent | dd07df15c1e39eb68a38ac4c15094a25f8e086cd (diff) | |
download | gdk-pixbuf-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/gtksignal.c')
-rw-r--r-- | gtk/gtksignal.c | 59 |
1 files changed, 39 insertions, 20 deletions
diff --git a/gtk/gtksignal.c b/gtk/gtksignal.c index ec115bf1b..119f70b64 100644 --- a/gtk/gtksignal.c +++ b/gtk/gtksignal.c @@ -108,10 +108,10 @@ static GtkHandler* gtk_signal_get_handlers (GtkObject *object, gint signal_type); static gint gtk_signal_connect_by_type (GtkObject *object, gint signal_type, - gint object_signal, GtkSignalFunc func, gpointer func_data, GtkSignalDestroy destroy_func, + gint object_signal, gint after, gint no_marshal); static GtkEmission* gtk_emission_new (void); @@ -421,9 +421,9 @@ gtk_signal_connect (GtkObject *object, return 0; } - return gtk_signal_connect_by_type (object, type, FALSE, + return gtk_signal_connect_by_type (object, type, func, func_data, NULL, - FALSE, FALSE); + FALSE, FALSE, FALSE); } gint @@ -447,18 +447,20 @@ gtk_signal_connect_after (GtkObject *object, return 0; } - return gtk_signal_connect_by_type (object, type, FALSE, + return gtk_signal_connect_by_type (object, type, func, func_data, NULL, - TRUE, FALSE); + FALSE, TRUE, FALSE); } -gint -gtk_signal_connect_interp (GtkObject *object, - gchar *name, - GtkCallbackMarshal func, - gpointer func_data, - GtkDestroyNotify destroy_func, - gint after) +gint +gtk_signal_connect_full (GtkObject *object, + gchar *name, + GtkSignalFunc func, + GtkCallbackMarshal marshal, + gpointer func_data, + GtkDestroyNotify destroy_func, + gint object_signal, + gint after) { gint type; @@ -475,9 +477,26 @@ gtk_signal_connect_interp (GtkObject *object, return 0; } - return gtk_signal_connect_by_type (object, type, FALSE, - (GtkSignalFunc) func, func_data, - destroy_func, after, TRUE); + if (marshal) + return gtk_signal_connect_by_type (object, type, (GtkSignalFunc) marshal, + func_data, destroy_func, + object_signal, after, TRUE); + else + return gtk_signal_connect_by_type (object, type, func, + func_data, destroy_func, + object_signal, after, FALSE); +} + +gint +gtk_signal_connect_interp (GtkObject *object, + gchar *name, + GtkCallbackMarshal func, + gpointer func_data, + GtkDestroyNotify destroy_func, + gint after) +{ + return gtk_signal_connect_full (object, name, NULL, func, + func_data, destroy_func, FALSE, after); } gint @@ -502,9 +521,9 @@ gtk_signal_connect_object (GtkObject *object, return 0; } - return gtk_signal_connect_by_type (object, type, TRUE, + return gtk_signal_connect_by_type (object, type, func, slot_object, NULL, - FALSE, FALSE); + TRUE, FALSE, FALSE); } gint @@ -528,9 +547,9 @@ gtk_signal_connect_object_after (GtkObject *object, return 0; } - return gtk_signal_connect_by_type (object, type, TRUE, + return gtk_signal_connect_by_type (object, type, func, slot_object, NULL, - TRUE, FALSE); + TRUE, TRUE, FALSE); } typedef struct _GtkDisconnectInfo GtkDisconnectInfo; @@ -1125,10 +1144,10 @@ gtk_signal_handler_pending (GtkObject *object, static gint gtk_signal_connect_by_type (GtkObject *object, gint signal_type, - gint object_signal, GtkSignalFunc func, gpointer func_data, GtkSignalDestroy destroy_func, + gint object_signal, gint after, gint no_marshal) { |