summaryrefslogtreecommitdiff
path: root/gtk/gtkbindings.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2002-12-14 22:43:52 +0000
committerOwen Taylor <otaylor@src.gnome.org>2002-12-14 22:43:52 +0000
commit08a08cf1b5b6040da3f9a93847250e2bab6bdc2e (patch)
tree1cbfb639181dda19ec1aaea3cc2a9ddeb4cfbaf7 /gtk/gtkbindings.c
parentc7c9ec32d58ea511af31046b301e9a536c168069 (diff)
downloadgdk-pixbuf-08a08cf1b5b6040da3f9a93847250e2bab6bdc2e.tar.gz
Add a new binding signal, "move_scroll", and use it to hook up
Sat Dec 14 14:19:16 2002 Owen Taylor <otaylor@redhat.com> * gtk/gtkmenu.c: Add a new binding signal, "move_scroll", and use it to hook up Home/End/Page_Up/Page_Down keybindings. (#80484, Narayana Pattipati, Marius Andreiana) * gtk/gtkmenu.c (gtk_menu_scroll_item_visible): Fix some bugs in the computation of when an item is visible. (#99545) * gtk/gtkbindings.[ch] (_gtk_binding_signal_new) gtk/gtkmenushell.c: Move here, export privately. * gtk/gtkmenushell.c (_gtk_menu_shell_select_last): Export privately. * gtk/gtkmenushell.c (gtk_menu_shell_select_item): Don't select the item if it is already selected.
Diffstat (limited to 'gtk/gtkbindings.c')
-rw-r--r--gtk/gtkbindings.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/gtk/gtkbindings.c b/gtk/gtkbindings.c
index d6c65a022..efb4ea08c 100644
--- a/gtk/gtkbindings.c
+++ b/gtk/gtkbindings.c
@@ -1472,3 +1472,32 @@ _gtk_binding_reset_parsed (void)
slist = next;
}
}
+
+guint
+_gtk_binding_signal_new (const gchar *signal_name,
+ GType itype,
+ GSignalFlags signal_flags,
+ GCallback handler,
+ GSignalAccumulator accumulator,
+ gpointer accu_data,
+ GSignalCMarshaller c_marshaller,
+ GType return_type,
+ guint n_params,
+ ...)
+{
+ va_list args;
+ guint signal_id;
+
+ g_return_val_if_fail (signal_name != NULL, 0);
+
+ va_start (args, n_params);
+
+ signal_id = g_signal_new_valist (signal_name, itype, signal_flags,
+ g_cclosure_new (handler, NULL, NULL),
+ accumulator, accu_data, c_marshaller,
+ return_type, n_params, args);
+
+ va_end (args);
+
+ return signal_id;
+}