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.
This commit is contained in:
@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user