diff options
author | Tim Janik <timj@gtk.org> | 1998-11-30 07:09:36 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 1998-11-30 07:09:36 +0000 |
commit | 2c0fc39e626e93225e8d15ae8c1a51c1e6be79f0 (patch) | |
tree | 2d89e5a8abdaa694ecd320e617808f7732077d53 /gtk/gtksignal.h | |
parent | 140c26afbc334a8c24f2f721597d6aa7d39d8827 (diff) | |
download | gtk+-2c0fc39e626e93225e8d15ae8c1a51c1e6be79f0.tar.gz |
added an event watcher for enter/leave based on signal emission hooks.
Mon Nov 30 06:20:36 1998 Tim Janik <timj@gtk.org>
* gtk/testgtk.c: added an event watcher for enter/leave based on
signal emission hooks.
* gtk/gtkobject.c (gtk_object_class_init): made GtkObject::destroy a
GTK_RUN_NO_HOOKS signal.
* gtk/gtksignal.h:
* gtk/gtksignal.c: implemented emission hooks, new hooks can be added
to a signal with gtk_signal_add_emission_hook or
gtk_signal_add_emission_hook_full, and can be removed again with
gtk_signal_remove_emission_hook.
* gtk/gtkenums.h: remove GTK_RUN_MASK, since it doesn't represent
an appropriate mask for signal runtypes for a long time now.
added GTK_RUN_NO_HOOKS value, which is used to flag signals
that do not allow the running of signal hooks.
Diffstat (limited to 'gtk/gtksignal.h')
-rw-r--r-- | gtk/gtksignal.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gtk/gtksignal.h b/gtk/gtksignal.h index fa43c8c215..f9be8a870c 100644 --- a/gtk/gtksignal.h +++ b/gtk/gtksignal.h @@ -33,13 +33,17 @@ extern "C" { #define GTK_SIGNAL_OFFSET(struct, field) (GTK_STRUCT_OFFSET (struct, field)) -typedef void (*GtkSignalMarshal) (GtkObject *object, +typedef void (*GtkSignalMarshal) (GtkObject *object, gpointer data, guint nparams, GtkArg *args, GtkType *arg_types, GtkType return_type); -typedef void (*GtkSignalDestroy) (gpointer data); +typedef void (*GtkSignalDestroy) (gpointer data); +typedef gboolean (*GtkEmissionHook) (GtkObject *object, + guint signal_id, + gpointer data); + typedef struct _GtkSignalQuery GtkSignalQuery; @@ -166,6 +170,16 @@ guint gtk_signal_handler_pending_by_func (GtkObject *object, GtkSignalFunc func, gpointer data); void gtk_signal_handlers_destroy (GtkObject *object); +guint gtk_signal_add_emission_hook (guint signal_id, + GtkEmissionHook hook_func, + gpointer data); +guint gtk_signal_add_emission_hook_full (guint signal_id, + GtkEmissionHook hook_func, + gpointer data, + GDestroyNotify destroy); +void gtk_signal_remove_emission_hook (guint signal_id, + guint hook_id); + void gtk_signal_set_funcs (GtkSignalMarshal marshal_func, GtkSignalDestroy destroy_func); |