summaryrefslogtreecommitdiff
path: root/gtk/gtksignal.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/gtksignal.c
parentdd07df15c1e39eb68a38ac4c15094a25f8e086cd (diff)
downloadgdk-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.c59
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)
{