Bindings

Bindings — Key bindings for individual widgets

Synopsis


#include <gtk/gtk.h>


                    GtkBindingSet;
                    GtkBindingEntry;
                    GtkBindingSignal;
                    GtkBindingArg;
GtkBindingSet*      gtk_binding_set_new                 (const gchar *set_name);
GtkBindingSet*      gtk_binding_set_by_class            (gpointer object_class);
GtkBindingSet*      gtk_binding_set_find                (const gchar *set_name);
gboolean            gtk_bindings_activate               (GtkObject *object,
                                                         guint keyval,
                                                         GdkModifierType modifiers);
gboolean            gtk_bindings_activate_event         (GtkObject *object,
                                                         GdkEventKey *event);
gboolean            gtk_binding_set_activate            (GtkBindingSet *binding_set,
                                                         guint keyval,
                                                         GdkModifierType modifiers,
                                                         GtkObject *object);
#define             gtk_binding_entry_add
void                gtk_binding_entry_clear             (GtkBindingSet *binding_set,
                                                         guint keyval,
                                                         GdkModifierType modifiers);
void                gtk_binding_entry_add_signal        (GtkBindingSet *binding_set,
                                                         guint keyval,
                                                         GdkModifierType modifiers,
                                                         const gchar *signal_name,
                                                         guint n_args,
                                                         ...);
void                gtk_binding_set_add_path            (GtkBindingSet *binding_set,
                                                         GtkPathType path_type,
                                                         const gchar *path_pattern,
                                                         GtkPathPriorityType priority);
void                gtk_binding_entry_remove            (GtkBindingSet *binding_set,
                                                         guint keyval,
                                                         GdkModifierType modifiers);
void                gtk_binding_entry_add_signall       (GtkBindingSet *binding_set,
                                                         guint keyval,
                                                         GdkModifierType modifiers,
                                                         const gchar *signal_name,
                                                         GSList *binding_args);
guint               gtk_binding_parse_binding           (GScanner *scanner);

Description

Details

GtkBindingSet

typedef struct {
  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 */
} GtkBindingSet;


GtkBindingEntry

typedef struct {
  /* key portion
   */
  guint			 keyval;
  GdkModifierType	 modifiers;
  
  GtkBindingSet		*binding_set;
  guint			destroyed : 1;
  guint			in_emission : 1;
  GtkBindingEntry	*set_next;
  GtkBindingEntry	*hash_next;
  GtkBindingSignal	*signals;
} GtkBindingEntry;


GtkBindingSignal

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


GtkBindingArg

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


gtk_binding_set_new ()

GtkBindingSet*      gtk_binding_set_new                 (const gchar *set_name);

set_name :
Returns :

gtk_binding_set_by_class ()

GtkBindingSet*      gtk_binding_set_by_class            (gpointer object_class);

object_class :
Returns :

gtk_binding_set_find ()

GtkBindingSet*      gtk_binding_set_find                (const gchar *set_name);

set_name :
Returns :

gtk_bindings_activate ()

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

object :
keyval :
modifiers :
Returns :

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.

object : a GtkObject (generally must be a widget)
event : a GdkEventKey
Returns : TRUE if a matching key binding was found

gtk_binding_set_activate ()

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

binding_set :
keyval :
modifiers :
object :
Returns :

gtk_binding_entry_add

#define	 gtk_binding_entry_add		gtk_binding_entry_clear


gtk_binding_entry_clear ()

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

binding_set :
keyval :
modifiers :

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,
                                                         ...);

binding_set :
keyval :
modifiers :
signal_name :
n_args :
... :

gtk_binding_set_add_path ()

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

binding_set :
path_type :
path_pattern :
priority :

gtk_binding_entry_remove ()

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

binding_set :
keyval :
modifiers :

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);

binding_set :
keyval :
modifiers :
signal_name :
binding_args :

gtk_binding_parse_binding ()

guint               gtk_binding_parse_binding           (GScanner *scanner);

scanner :
Returns :