/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
- * GtkBindingSet: Keybinding manager for GtkObjects.
+ * GtkBindingSet: Keybinding manager for GObjects.
* Copyright (C) 1998 Tim Janik
*
* This library is free software; you can redistribute it and/or
#include "gtkbindings.h"
#include "gtkkeyhash.h"
+#include "gtktypeutils.h"
#include "gtkwidget.h"
#include "gtkrc.h"
-#include "gtkalias.h"
/* --- defines --- */
*/
if (entry->modifiers & GDK_SHIFT_MASK)
{
- if (keyval == GDK_Tab)
- keyval = GDK_ISO_Left_Tab;
+ if (keyval == GDK_KEY_Tab)
+ keyval = GDK_KEY_ISO_Left_Tab;
else
keyval = gdk_keyval_to_upper (keyval);
}
}
static gboolean
-binding_compose_params (GtkObject *object,
+binding_compose_params (GObject *object,
GtkBindingArg *args,
GSignalQuery *query,
GValue **params_p)
static gboolean
gtk_binding_entry_activate (GtkBindingEntry *entry,
- GtkObject *object)
+ GObject *object)
{
GtkBindingSignal *sig;
gboolean old_emission;
/**
* gtk_binding_set_by_class:
- * @object_class: a valid #GtkObject class
+ * @object_class: a valid #GObject class
*
* This function returns the binding set named after the type name of
* the passed in class structure. New binding sets are created on
GtkBindingSet*
gtk_binding_set_by_class (gpointer object_class)
{
- GtkObjectClass *class = object_class;
+ GObjectClass *class = object_class;
GtkBindingSet* binding_set;
- g_return_val_if_fail (GTK_IS_OBJECT_CLASS (class), NULL);
+ g_return_val_if_fail (G_IS_OBJECT_CLASS (class), NULL);
if (!key_id_class_binding_set)
key_id_class_binding_set = g_quark_from_static_string (key_class_binding_set);
gtk_binding_set_activate (GtkBindingSet *binding_set,
guint keyval,
GdkModifierType modifiers,
- GtkObject *object)
+ GObject *object)
{
GtkBindingEntry *entry;
g_return_val_if_fail (binding_set != NULL, FALSE);
- g_return_val_if_fail (GTK_IS_OBJECT (object), FALSE);
+ g_return_val_if_fail (G_IS_OBJECT (object), FALSE);
keyval = gdk_keyval_to_lower (keyval);
modifiers = modifiers & BINDING_MOD_MASK ();
entry = binding_entry_new (binding_set, keyval, modifiers);
}
-/**
- * gtk_binding_entry_add:
- * @binding_set: #a GtkBindingSet to clear an entry of
- * @keyval: key value of binding to clear
- * @modifiers: key modifier of binding to clear
- *
- * Adds a binding entry.
- *
- * Deprecated: 2.12: Use gtk_binding_entry_add_signal() instead.
- */
-
-/**
- * gtk_binding_entry_clear:
- * @binding_set: binding set to clear an entry of
- * @keyval: key value of binding to clear
- * @modifiers: key modifier of binding to clear
- *
- * Clears a binding entry.
- *
- * Deprecated: 2.12: Use gtk_binding_entry_remove() instead.
- */
-void
-gtk_binding_entry_clear (GtkBindingSet *binding_set,
- guint keyval,
- GdkModifierType modifiers)
-{
- g_return_if_fail (binding_set != NULL);
-
- gtk_binding_entry_clear_internal (binding_set, keyval, modifiers);
-}
-
/**
* gtk_binding_entry_skip:
* @binding_set: a #GtkBindingSet to skip an entry of
* @keyval: key value
* @modifiers: key modifier
* @signal_name: signal name to be bound
- * @binding_args: list of #GtkBindingArg signal arguments
+ * @binding_args: (transfer none) (element-type GtkBindingArg):
+ * list of #GtkBindingArg signal arguments
*
* Override or install a new key binding for @keyval with @modifiers on
* @binding_set.
static gboolean
binding_match_activate (GSList *pspec_list,
- GtkObject *object,
+ GObject *object,
guint path_length,
gchar *path,
gchar *path_reversed,
}
static gboolean
-gtk_bindings_activate_list (GtkObject *object,
+gtk_bindings_activate_list (GObject *object,
GSList *entries,
gboolean is_release)
{
* Return value: %TRUE if a binding was found and activated
*/
gboolean
-gtk_bindings_activate (GtkObject *object,
+gtk_bindings_activate (GObject *object,
guint keyval,
GdkModifierType modifiers)
{
gboolean handled = FALSE;
gboolean is_release;
- g_return_val_if_fail (GTK_IS_OBJECT (object), FALSE);
-
if (!GTK_IS_WIDGET (object))
return FALSE;
/**
* gtk_bindings_activate_event:
- * @object: a #GtkObject (generally must be a widget)
+ * @object: a #GObject (generally must be a widget)
* @event: a #GdkEventKey
*
* Looks up key bindings for @object to find one matching
* Since: 2.4
*/
gboolean
-gtk_bindings_activate_event (GtkObject *object,
+gtk_bindings_activate_event (GObject *object,
GdkEventKey *event)
{
GSList *entries = NULL;
GtkKeyHash *key_hash;
gboolean handled = FALSE;
- g_return_val_if_fail (GTK_IS_OBJECT (object), FALSE);
-
if (!GTK_IS_WIDGET (object))
return FALSE;
gboolean negate;
gboolean need_arg;
gboolean seen_comma;
+ guint token;
g_return_val_if_fail (scanner != NULL, G_TOKEN_ERROR);
expected_token = G_TOKEN_INT;
else
expected_token = ')';
- g_scanner_get_next_token (scanner);
- switch (scanner->token)
+
+ token = g_scanner_get_next_token (scanner);
+ switch (token)
{
GtkBindingArg *arg;
guint keyval = 0;
GdkModifierType modifiers = 0;
gboolean unbind = FALSE;
+ guint token;
g_return_val_if_fail (scanner != NULL, G_TOKEN_ERROR);
-
- g_scanner_get_next_token (scanner);
- if (scanner->token != GTK_RC_TOKEN_BIND &&
- scanner->token != GTK_RC_TOKEN_UNBIND)
+
+ token = g_scanner_get_next_token (scanner);
+ if (token != GTK_RC_TOKEN_BIND &&
+ token != GTK_RC_TOKEN_UNBIND)
return GTK_RC_TOKEN_BIND;
- unbind = scanner->token == GTK_RC_TOKEN_UNBIND;
+ unbind = token == GTK_RC_TOKEN_UNBIND;
g_scanner_get_next_token (scanner);
if (scanner->token != G_TOKEN_STRING)
return G_TOKEN_STRING;
return G_TOKEN_NONE;
}
-/**
- * gtk_binding_parse_binding:
- * @scanner: GtkRC scanner
- *
- * Parse a binding entry from a gtkrc file.
- *
- * Return value: expected token upon errors, %G_TOKEN_NONE on success.
- *
- * Deprecated: 2.12: There should be no need to call this function outside GTK+.
- */
-guint
-gtk_binding_parse_binding (GScanner *scanner)
-{
- return _gtk_binding_parse_binding (scanner);
-}
-
guint
_gtk_binding_parse_binding (GScanner *scanner)
{
- gchar *name;
GtkBindingSet *binding_set;
+ gchar *name;
+ guint token;
g_return_val_if_fail (scanner != NULL, G_TOKEN_ERROR);
- g_scanner_get_next_token (scanner);
- if (scanner->token != GTK_RC_TOKEN_BINDING)
+ token = g_scanner_get_next_token (scanner);
+ if (token != GTK_RC_TOKEN_BINDING)
return GTK_RC_TOKEN_BINDING;
g_scanner_get_next_token (scanner);
if (scanner->token != G_TOKEN_STRING)
g_scanner_peek_next_token (scanner);
while (scanner->next_token != '}')
{
- switch (scanner->next_token)
+ guint next_token = scanner->next_token;
+ switch (next_token)
{
guint expected_token;
slist = next;
}
}
-
-#define __GTK_BINDINGS_C__
-#include "gtkaliasdef.c"