Bindings

## Bindings Bindings |

## Functions

void | gtk_binding_entry_add_signall ()
void | gtk_binding_entry_clear ()
guint | gtk_binding_parse_binding ()
GtkBindingSet * | gtk_binding_set_new ()
GtkBindingSet * | gtk_binding_set_by_class ()
GtkBindingSet * | gtk_binding_set_find ()
gboolean | gtk_bindings_activate ()
gboolean | gtk_bindings_activate_event ()
gboolean | gtk_binding_set_activate ()
void | gtk_binding_entry_add_signal ()
void | gtk_binding_entry_skip ()
void | gtk_binding_entry_remove ()
void | gtk_binding_set_add_path ()

## Types and Values

struct | GtkBindingSet
struct | GtkBindingEntry
struct | GtkBindingSignal
struct | GtkBindingArg
#define | gtk_binding_entry_add

## Includes

    #include <gtk/gtk.h>

## Description

## Functions

### gtk_binding_entry_add_signall ()

    void
    gtk_binding_entry_add_signall (GtkBindingSet *binding_set,
                                   guint keyval,
                                   GdkModifierType modifiers,
                                   const gchar *signal_name,
                                   GSList *binding_args);

Override or install a new key binding for `keyval` with `modifiers` on `binding_set` .

#### Parameters

binding_set | a GtkBindingSet to add a signal to |
keyval | key value |
modifiers | key modifier |
signal_name | signal name to be bound |
binding_args | list of GtkBindingArg signal arguments. | [transfer none][element-type GtkBindingArg]

### gtk_binding_entry_clear ()

    void
    gtk_binding_entry_clear (GtkBindingSet *binding_set,
                             guint keyval,
                             GdkModifierType modifiers);

`gtk_binding_entry_clear` has been deprecated since version 2.12 and should not be used in newly-written code.

Use `gtk_binding_entry_remove()` instead.

Clears a binding entry.

#### Parameters

binding_set | binding set to clear an entry of |
keyval | key value of binding to clear |
modifiers | key modifier of binding to clear |

### gtk_binding_parse_binding ()

    guint
    gtk_binding_parse_binding (GScanner *scanner);

`gtk_binding_parse_binding` has been deprecated since version 2.12 and should not be used in newly-written code.

There should be no need to call this function outside GTK+.

Parse a binding entry from a gtkrc file.

#### Parameters

scanner | GtkRC scanner |

#### Returns

expected token upon errors, `G_TOKEN_NONE` on success.

### gtk_binding_set_new ()

    GtkBindingSet *
    gtk_binding_set_new (const gchar *set_name);

GTK+ maintains a global list of binding sets. Each binding set has a unique name which needs to be specified upon creation.

#### Parameters

set_name | unique name of this binding set |

#### Returns

new binding set

### gtk_binding_set_by_class ()

    GtkBindingSet *
    gtk_binding_set_by_class (gpointer object_class);

This function returns the binding set named after the type name of the passed in class structure. New binding sets are created on demand by this function.

#### Parameters

object_class | a valid GtkObject class |

#### Returns

the binding set corresponding to `object_class`

### gtk_binding_set_find ()

    GtkBindingSet *
    gtk_binding_set_find (const gchar *set_name);

Find a binding set by its globally unique name. The `set_name` can either be a name used for `gtk_binding_set_new()` or the type name of a class used in `gtk_binding_set_by_class()`.

#### Parameters

set_name | unique binding set name |

#### Returns

`NULL` or the specified binding set.

[transfer none]

### gtk_bindings_activate ()

    gboolean
    gtk_bindings_activate (GtkObject *object,
                           guint keyval,
                           GdkModifierType modifiers);

Find a key binding matching `keyval` and `modifiers` and activate the binding on `object` .

#### Parameters

object | object to activate when binding found |
keyval | key value of the binding |
modifiers | key modifier of the binding |

#### Returns

`TRUE` if a binding was found and activated

### gtk_bindings_activate_event ()

    gboolean
    gtk_bindings_activate_event (GtkObject *object,
                                 GdkEventKey *event);

Looks up key bindings for `object` to find one matching `event` , and if one was found, activate it.

#### Parameters

object | a GtkObject (generally must be a widget) |
event | a GdkEventKey |

#### Returns

`TRUE` if a matching key binding was found

Since: 2.4

### gtk_binding_set_activate ()

    gboolean
    gtk_binding_set_activate (GtkBindingSet *binding_set,
                              guint keyval,
                              GdkModifierType modifiers,
                              GtkObject *object);

Find a key binding matching `keyval` and `modifiers` within `binding_set` and activate the binding on `object` .

#### Parameters

binding_set | a GtkBindingSet set to activate |
keyval | key value of the binding |
modifiers | key modifier of the binding |
object | object to activate when binding found |

#### Returns

`TRUE` if a binding was found and activated

### gtk_binding_entry_add_signal ()

    void
    gtk_binding_entry_add_signal (GtkBindingSet *binding_set,
                                  guint keyval,
                                  GdkModifierType modifiers,
                                  const gchar *signal_name,
                                  guint n_args,
                                  ...);

Override or install a new key binding for `keyval` with `modifiers` on `binding_set` . When the binding is activated, `signal_name` will be emitted on the target widget, with `n_args` `Varargs` used as arguments.

#### Parameters

binding_set | a GtkBindingSet to install an entry for |
keyval | key value of binding to install |
modifiers | key modifier of binding to install |
signal_name | signal to execute upon activation |
n_args | number of arguments to `signal_name` |
Varargs | arguments to `signal_name` |

### gtk_binding_entry_skip ()

    void
    gtk_binding_entry_skip (GtkBindingSet *binding_set,
                            guint keyval,
                            GdkModifierType modifiers);

`gtk_binding_entry_skip` is deprecated and should not be used in newly-written code.

Install a binding on `binding_set` which causes key lookups to be aborted, to prevent bindings from lower priority sets to be activated.

#### Parameters

binding_set | a GtkBindingSet to skip an entry of |
keyval | key value of binding to skip |
modifiers | key modifier of binding to skip |

Since: 2.12

### gtk_binding_entry_remove ()

    void
    gtk_binding_entry_remove (GtkBindingSet *binding_set,
                              guint keyval,
                              GdkModifierType modifiers);

Remove a binding previously installed via `gtk_binding_entry_add_signal()` on `binding_set` .

#### Parameters

binding_set | a GtkBindingSet to remove an entry of |
keyval | key value of binding to remove |
modifiers | key modifier of binding to remove |

### gtk_binding_set_add_path ()

    void
    gtk_binding_set_add_path (GtkBindingSet *binding_set,
                              GtkPathType path_type,
                              const gchar *path_pattern,
                              GtkPathPriorityType priority);

This function is used internally by the GtkRC parsing mechanism to assign match patterns to GtkBindingSet structures.

#### Parameters

binding_set | a GtkBindingSet to add a path to |
path_type | path type the pattern applies to |
path_pattern | the actual match pattern |
priority | binding priority |

## Types and Values

### struct GtkBindingSet

    struct GtkBindingSet {
      gchar			*set_name;
      gint			 priority;
      GSList		*widget_path_pspecs;
      GSList		*widget_class_pspecs;
      GSList		*class_branch_pspecs;
      GtkBindingEntry *entries;
      GtkBindingEntry *current;
      guint                  parsed : 1; /* From RC content */
    };

### struct GtkBindingEntry

    struct GtkBindingEntry {
      /* key portion
       */
      guint			 keyval;
      GdkModifierType	 modifiers;

      GtkBindingSet		*binding_set;
      guint			destroyed : 1;
      guint			in_emission : 1;
      guint                 marks_unbound : 1;
      GtkBindingEntry *set_next;
      GtkBindingEntry *hash_next;
      GtkBindingSignal *signals;
    };

### struct GtkBindingSignal

    struct GtkBindingSignal {
      GtkBindingSignal *next;
      gchar 		*signal_name;
      guint			 n_args;
      GtkBindingArg		*args;
    };

### struct GtkBindingArg

    struct GtkBindingArg {
      GType		 arg_type;
      union {
        glong	 long_data;
        gdouble	 double_data;
        gchar *string_data;
      } d;
    };

### gtk_binding_entry_add

    #define	 gtk_binding_entry_add		gtk_binding_entry_clear

`gtk_binding_entry_add` has been deprecated since version 2.12 and should not be used in newly-written code.

Use `gtk_binding_entry_add_signal()` instead.

Adds a binding entry.

#### Parameters

binding_set | #a GtkBindingSet to clear an entry of |
keyval | key value of binding to clear |
modifiers | key modifier of binding to clear |